IOS 國際化設(shè)置(Object-c)

一.國際化

點(diǎn)擊工程-PROJECT - Info

Custom IOS Target Properties

Bundle display name 項(xiàng)目顯示名稱

國際化App(內(nèi)容)

Localizations版本國際化

編輯項(xiàng)目的Info.plist,添加一個新的屬性:Application has localized display name,設(shè)置該屬性的類型為boolean,并設(shè)置value為YES;

這個就是為了讓APP支持多國語言環(huán)境,這里只是介紹一下簡單的用法:

1.添加一個Localizable.strings文件(名字固定)

2.對應(yīng)中英文(其他語言自行添加),分別添加下列語句:

"alertTitle"="標(biāo)題";

"alertMessage"="信息";

"alertOk"="確認(rèn)";

獲取國際化

?? ? NSLocalizedString(@"alertTitle",@"這是一句注解,根據(jù)情況寫")

第一個參數(shù)是key,第二個參數(shù)是默認(rèn)值,沒有取到key時代替的值。


??注意:如果國際化文件名不是Localizable.strings,那么NSLocalizedString是取不到國際化的,需要用

NSLocalizedStringFromTable(key,@"MyStrings", @"");?

MyStrings.strings自定義國際化名


修改國際化的文件名


修改國際化名

單擊 選擇 左邊國際化文件,點(diǎn)擊上圖紅色圈位置,Name 改成你需要的名稱,按Enter鍵稍等一會Xcode的就會幫你的國際化文件名修改。


應(yīng)用內(nèi)國際化切換

? ? ? ? ? ? [_appDelegate.tabarController removeFromParentViewController];

? ? ? ? ? ? _appDelegate.window=? [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

? ? ? ? ? ? [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];

? ? ? ? ? ? _appDelegate.tabarController = [[XSDTabBarController alloc] init];

? ? ? ? ? ? _appDelegate.window.rootViewController = _appDelegate.tabarController;

? ? ? ? ? ? [_appDelegate.window makeKeyAndVisible];


1.獲取當(dāng)前系統(tǒng)語言

?NSArray *languages = [NSLocale preferredLanguages];

? NSString*currentLanguage = [languagesobjectAtIndex:0];

2. _lang ?當(dāng)前系統(tǒng)語言

NSString *path = [[NSBundle mainBundle] pathForResource:_lang ofType:@"lproj"];

?NSString *val = [[NSBundle bundleWithPath:path] localizedStringForKey:key value:nil table:@"Localizable"];



1.點(diǎn)擊工程-PROJECT-Info-Localizations,添加簡體中文支持,如果想支持繁體,也可繼續(xù)添加,其他語言亦然。

選擇支持的國際化語言


國際化App的BundleDisplayName(應(yīng)用名)

1.新建一個Strings File,命名為InfoPlist.strings(命名必須固定)


創(chuàng)建文件



命名



InfoPlist.strings


2.點(diǎn)擊之前創(chuàng)建的InfoPlist.strings - 點(diǎn)擊右邊的“Localize”- 添加簡體中文


Localize


3.分別設(shè)置中英文名字

中文InfoPlist.strings

"CFBundleDisplayName" = "中文名字";


英文InfoPlist.strings

"CFBundleDisplayName" = "EnglishName";

左邊key固定,名字字符串自己填寫應(yīng)用名。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容