IOS 国际化设置(Object-c)

一.国际化

点击工程-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(命名必须固定)


创建文件



命名



InfoPlist.strings


2.点击之前创建的InfoPlist.strings - 点击右边的“Localize”- 添加简体中文


Localize


3.分别设置中英文名字

中文InfoPlist.strings

"CFBundleDisplayName" = "中文名字";


英文InfoPlist.strings

"CFBundleDisplayName" = "EnglishName";

左边key固定,名字字符串自己填写应用名。

你可能感兴趣的:(IOS 国际化设置(Object-c))