1.1 建立一個Single View app模版項目,命名為Localization。
1.2 建立後,可以看到工作目錄結構檔案如下,單擊InfoPlist.strings,查看右邊的屬性,在Localization欄添加語言。
1.3 添加完成後開啟對應語言檔案,比如English的添加
CFBundleDisplayName="China";
Chinese檔案添加
CFBundleDisplayName="中國";
運行,如果此時你的模擬器是中文,你會看到你的程式名稱變成了 中國:
來到設定裡把語言設定成 English。此時程式名稱變成了:China
這時,程式名稱的國際化完成了。那裡面內容呢?
2、內容國際化
2.1建立Localization.strings檔案
2.2 添加語言和1.1環節一樣。
2.3 添加語言內容
添加"Key"="value"; 然後使用時用NSLocalizedString(@"key", @""); 讀取內容.
Localization.strings English檔案添加
"key" = "english value";
Localization.strings English檔案添加
"key" = "中文內容";
在ViewController.m 中添加UILabel實驗一下
- (void)viewDidLoad{ [super viewDidLoad]; UILabel *label = [[UILabel alloc] init]; label.frame = CGRectMake(20, 40, 250, 60); label.text = NSLocalizedString(@"key", @""); [self.view addSubview:label];}
運行
設定項裡切換英文
3、如何在啟動並執行時候判斷現在運行環境是哪個語言?
3.1 獲得所支援的語言
NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ]; // 取得 iPhone 支援的所有語言設定 NSArray *languages = [defaults objectForKey : @"AppleLanguages" ]; NSLog ( @"%@" , languages);
運行,列印結果:
(
en,
"zh-Hant",
"zh-Hans",
fr,
de,
ja,
nl,
it,
es,
pt,
"pt-PT",
da,
fi,
nb,
sv,
ko,
ru,
pl,
tr,
uk,
ar,
hr,
cs,
el,
he,
ro,
sk,
th,
id,
"en-GB",
ca,
hu,
vi
)
"zh-Hant" 繁體中文
"zh-Hans", 簡體中文
這段代碼擷取當前系統支援的語言。
3.2 擷取當前使用語言
NSArray *languages = [NSLocale preferredLanguages]; NSString *currentLanguage = [languages objectAtIndex:0]; NSLog ( @"%@" , currentLanguage);
列印結果:
en
用擷取到的當前語言,和支援的語言做字串對比,就可以知道是那種語言了。
if([currentLanguage isEqualToString:@"en"]) { NSLog(@"current Language:en"); }
本文來自網路:http://www.cnblogs.com/stoic/archive/2012/07/08/2581298.html