获取当前手机情况NSLocale
获取当前语言版本:
NSArray *languages = [NSLocalepreferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
NSLog ( @"%@" , currentLanguage);
============================================
Chinese(zh-Hans)中文简体 English 英文
============================================
/*NSLocale.h
Copyright (c) 2003-2012, Apple Inc. All rights reserved.
*/
#import <Foundation/NSObject.h>
#import <CoreFoundation/CFLocale.h>
@classNSArray, NSDictionary, NSString;
// Toll-free bridged with CFLocaleRef
@interface NSLocale : NSObject <NSCopying, NSSecureCoding>
- (id)objectForKey:(id)key;
- (NSString *)displayNameForKey:(id)key value:(id)value;
@end
@interface NSLocale (NSExtendedLocale)
- (NSString *)localeIdentifier; // same as NSLocaleIdentifier
@end
@interface NSLocale (NSLocaleCreation)
+ (id)systemLocale;
+ (id)currentLocale;
+ (id)autoupdatingCurrentLocale NS_AVAILABLE(10_5, 2_0);
- (id)initWithLocaleIdentifier:(NSString *)string;
@end
@interface NSLocale (NSLocaleGeneralInfo)
+ (NSArray *)availableLocaleIdentifiers;
+ (NSArray *)ISOLanguageCodes;
+ (NSArray *)ISOCountryCodes;
+ (NSArray *)ISOCurrencyCodes;
+ (NSArray *)commonISOCurrencyCodes NS_AVAILABLE(10_5, 2_0);
+ (NSArray *)preferredLanguages NS_AVAILABLE(10_5, 2_0);
+ (NSDictionary *)componentsFromLocaleIdentifier:(NSString *)string;
+ (NSString *)localeIdentifierFromComponents:(NSDictionary *)dict;
+ (NSString *)canonicalLocaleIdentifierFromString:(NSString *)string;
+ (NSString *)canonicalLanguageIdentifierFromString:(NSString *)string;
+ (NSString *)localeIdentifierFromWindowsLocaleCode:(uint32_t)lcid NS_AVAILABLE(10_6, 4_0);
+ (uint32_t)windowsLocaleCodeFromLocaleIdentifier:(NSString *)localeIdentifier NS_AVAILABLE(10_6, 4_0);
typedef NS_ENUM(NSUInteger, NSLocaleLanguageDirection) {
NSLocaleLanguageDirectionUnknown = kCFLocaleLanguageDirectionUnknown,
NSLocaleLanguageDirectionLeftToRight = kCFLocaleLanguageDirectionLeftToRight,
NSLocaleLanguageDirectionRightToLeft = kCFLocaleLanguageDirectionRightToLeft,
NSLocaleLanguageDirectionTopToBottom = kCFLocaleLanguageDirectionTopToBottom,
NSLocaleLanguageDirectionBottomToTop = kCFLocaleLanguageDirectionBottomToTop
};
+ (NSLocaleLanguageDirection)characterDirectionForLanguage:(NSString *)isoLangCode NS_AVAILABLE(10_6, 4_0);
+ (NSLocaleLanguageDirection)lineDirectionForLanguage:(NSString *)isoLangCode NS_AVAILABLE(10_6, 4_0);
@end
FOUNDATION_EXPORT NSString * const NSCurrentLocaleDidChangeNotification NS_AVAILABLE(10_5, 2_0);
FOUNDATION_EXPORT NSString * const NSLocaleIdentifier;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleLanguageCode;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleCountryCode;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleScriptCode;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleVariantCode;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleExemplarCharacterSet;// NSCharacterSet
FOUNDATION_EXPORT NSString * const NSLocaleCalendar;// NSCalendar
FOUNDATION_EXPORT NSString * const NSLocaleCollationIdentifier; // NSString
FOUNDATION_EXPORT NSString * const NSLocaleUsesMetricSystem;// NSNumber boolean
FOUNDATION_EXPORT NSString * const NSLocaleMeasurementSystem;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleDecimalSeparator;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleGroupingSeparator;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleCurrencySymbol; // NSString
FOUNDATION_EXPORT NSString * const NSLocaleCurrencyCode;// NSString
FOUNDATION_EXPORT NSString * const NSLocaleCollatorIdentifier NS_AVAILABLE(10_6, 4_0); // NSString
FOUNDATION_EXPORT NSString * const NSLocaleQuotationBeginDelimiterKey NS_AVAILABLE(10_6, 4_0);// NSString
FOUNDATION_EXPORT NSString * const NSLocaleQuotationEndDelimiterKey NS_AVAILABLE(10_6, 4_0);// NSString
FOUNDATION_EXPORT NSString * const NSLocaleAlternateQuotationBeginDelimiterKey NS_AVAILABLE(10_6, 4_0);// NSString
FOUNDATION_EXPORT NSString * const NSLocaleAlternateQuotationEndDelimiterKey NS_AVAILABLE(10_6, 4_0);// NSString
// Values for NSCalendar identifiers (not the NSLocaleCalendar property key)
FOUNDATION_EXPORT NSString * const NSGregorianCalendar;
FOUNDATION_EXPORT NSString * const NSBuddhistCalendar;
FOUNDATION_EXPORT NSString * const NSChineseCalendar;
FOUNDATION_EXPORT NSString * const NSHebrewCalendar;
FOUNDATION_EXPORT NSString * const NSIslamicCalendar;
FOUNDATION_EXPORT NSString * const NSIslamicCivilCalendar;
FOUNDATION_EXPORT NSString * const NSJapaneseCalendar;
FOUNDATION_EXPORT NSString * const NSRepublicOfChinaCalendar NS_AVAILABLE(10_6, 4_0);
FOUNDATION_EXPORT NSString * const NSPersianCalendar NS_AVAILABLE(10_6, 4_0);
FOUNDATION_EXPORT NSString * const NSIndianCalendar NS_AVAILABLE(10_6, 4_0);
FOUNDATION_EXPORT NSString * const NSISO8601Calendar NS_AVAILABLE(10_6, 4_0);
相关推荐
在iOS中,我们可以利用`CoreTelephony`框架来获取设备当前的网络信息,包括SIM卡中的国家代码。但是,这仅限于设备已插入SIM卡并且有可用的网络连接。以下是如何使用`CoreTelephony`获取国家代码的步骤: 1. 引入`...
4. **切换语言**:当用户选择一种语言后,我们需要更改应用的当前语言环境。这可以通过以下步骤实现: - 获取用户选择的语言代码。 - 创建一个新的`NSLocale`对象,使用选择的语言代码。 - 使用`UserDefaults`来...
另外,如果需要考虑用户设备的首选语言,我们还需要使用`NSLocale`来获取正确的本地化名称。 此外,考虑到性能优化,如果时区列表非常大,我们可能需要考虑异步加载或分批处理,避免阻塞主线程。在大型项目中,我们...
- `[NSLocale lineDirectionForLanguage:[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode]]` 可以获取当前语言的文本排列方向(左对齐、右对齐或双向)。 6. **获取用户的语言偏好设置列表**: - `...
- 当检测到语言变化时,更新当前的`NSLocale`对象,并重新启动应用程序以加载新的语言资源。 5. **用户界面布局调整** - 不同语言的文本长度可能不同,可能导致用户界面布局出现问题。因此,在设计界面时,应考虑...
这一特性使得开发者能够为全球用户提供更加友好、个性化的使用体验,无需为每个语言版本创建单独的应用程序。以下是对这个主题的详细解释: 1. **本地化概念**: 本地化(Localization,简称L10n)是指将软件或...
5. **代码实现**:在代码层面,可以使用`[[NSBundle mainBundle] preferredLocalizations]`获取当前应用支持的语言列表,或者使用`[[NSBundle mainBundle] localizedStringForKey:@"key" value:@"" table:nil]`来...
开发者可以通过NSLocale类来获取当前设备的语言和地区信息,从而提供更加个性化的体验。 七、资源文件夹结构 在项目中,资源文件夹(如图片、音频等)也需要根据语言进行组织。每个语言有独立的资源文件夹,如“en...
只需在项目设置中启用本地化,然后为每个语言添加新的本地化版本,Xcode 将自动生成相应的资源文件。 在进行国际化时,开发者还需要考虑字符集、日期和时间格式、数字格式、货币符号等问题。这些可以通过NSLocale类...
在处理storyboard或xib文件中的文本时,可以直接在Interface Builder中设置text field的Localization属性,这样Xcode会在不同的语言版本中自动创建对应的文本。 对于应用名称的国际化,需要在InfoPlist.strings文件...
在Android系统中,我们可以使用`Resources`类的`getConfiguration()`方法来获取当前的配置信息,其中包括了系统语言。而在iOS的Swift中,我们可以利用`UserDefaults`或`NSLocale`来获取用户首选的语言。 在Android...
开发者可以通过`[[NSLocale preferredLanguages] objectAtIndex:0]`获取当前首选语言,从而动态调整应用内容。 6. **Base Internationalization**:这是一种优化的本地化方法,允许开发者在一个共享的资源文件...
iOS语言本地化/国际化详解...我们可以使用NSLocale类来获取当前的语言设置,然后根据语言设置来显示对应的本地化内容。 本文详细讲解了iOS语言本地化/国际化的实现方法和步骤,为大家提供了一个系统的学习和参考指南。
3. ** storyboard / xib 文件**:这些是界面布局文件,可以设置为特定的语言版本,支持多语言显示。 二、资源管理 1. **Base Internationalization**:iOS 5引入的一种新方法,使用一个基础故事板或XIB文件作为...
7. 日历框架(Calendar Framework):开发者可能会利用iOS的内置`Calendar`框架,获取关于日期的信息,如星期几、节假日等,以便在日历中正确显示。 8. MVC(Model-View-Controller)架构:为了保持代码的组织性...
例如,在iOS中,可以使用`NSLocale`类来获取当前设备的首选语言;在Android中,可以使用`Resources.getSystem().configuration.locale`来获取。 5. **资源管理**:在iOS项目中,启动图片通常存储在`LaunchScreen....
2. 获取系统当前语言: 在iOS应用中,可以使用`NSLocale`来获取用户设备上的首选语言。例如: ```swift NSString *currentLanguage = [[NSLocale preferredLanguages] objectAtIndex:0]; NSLog(@"currentlanguage = ...
在iOS中,可以使用`NSLocale`和`NSString`的分类方法来获取字符串的首字母,考虑到中文姓名,可能需要对中文字符进行特殊处理,确保按照正确的汉字拼音顺序进行排序。例如,可以使用`NSString`的`...
你可以通过代码创建一个`NSLocale`实例,或者使用预定义的常量,如`.current`来获取当前设备的地区设置。`NSLocale`包含了诸如语言代码、国家代码、货币符号、数字格式、日期和时间格式等信息。 2. **...