一.国际化
点击工程-PROJECT - Info
Custom IOS Target Properties
Bundle display name 项目显示名称
国际化App(内容)
Localizations版本国际化
编辑项目的Info.plist,添加一个新的属性:Application has localized display name,设置该属性的类型为boolean,并设置value为YES;
这个就是为了让APP支持多国语言环境,这里只是介绍一下简单的用法:
1.添加一个Localizable.strings文件(名字固定)
2.对应中英文(其他语言自行添加),分别添加下列语句:
"alertTitle"="标题";
"alertMessage"="信息";
"alertOk"="确认";
获取国际化
NSLocalizedString(@"alertTitle",@"这是一句注解,根据情况写")
第一个参数是key,第二个参数是默认值,没有取到key时代替的值。
⚠️注意:如果国际化文件名不是Localizable.strings,那么NSLocalizedString是取不到国际化的,需要用
NSLocalizedStringFromTable(key,@"MyStrings", @"");
MyStrings.strings自定义国际化名
修改国际化的文件名
单击 选择 左边国际化文件,点击上图红色圈位置,Name 改成你需要的名称,按Enter键稍等一会Xcode的就会帮你的国际化文件名修改。
应用内国际化切换
[_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.获取当前系统语言
NSArray *languages = [NSLocale preferredLanguages];
NSString*currentLanguage = [languagesobjectAtIndex:0];
2. _lang 当前系统语言
NSString *path = [[NSBundle mainBundle] pathForResource:_lang ofType:@"lproj"];
NSString *val = [[NSBundle bundleWithPath:path] localizedStringForKey:key value:nil table:@"Localizable"];
1.点击工程-PROJECT-Info-Localizations,添加简体中文支持,如果想支持繁体,也可继续添加,其他语言亦然。
国际化App的BundleDisplayName(应用名)
1.新建一个Strings File,命名为InfoPlist.strings(命名必须固定)
2.点击之前创建的InfoPlist.strings - 点击右边的“Localize”- 添加简体中文
3.分别设置中英文名字
中文InfoPlist.strings
"CFBundleDisplayName" = "中文名字";
英文InfoPlist.strings
"CFBundleDisplayName" = "EnglishName";
左边key固定,名字字符串自己填写应用名。