iOSApp国际化

创建工程后

要添加的语言包,在项目的PROJECT -> Info -> Localizations中添加语言包才可以

大部分更改语言设置的建议都是在info.plist文件(即项目的info选项)中设置Localization native development region的字段

该字段默认为en即英文,改为china即可将该app内的软件设为中文

app名国际化

1.Command+N创建文件,然后选择Resource中的String File,下一步然后该文件命名为 InfoPlist.strings ,创建文件。

2.点击工程-PROJECT-Info-Localizations,添加简体中文支持,如果想支持繁体,也可继续添加,其他语言亦然

3.点击之前创建的InfoPlist.strings - 点击右边的“Localizion”- 添加要支持的语言

  1. 在InfoPlist.strings下的文件分别设置各个语言的名字
中文

"CFBundleDisplayName" = "中文名字";

英文

"CFBundleDisplayName" = "EnglishName";

编译工程,然后可以切换语言查看了。

Localizations版本国际化

1.同添加InfoPlist.strings的做法相同,添加一个Localizable.strings文件

2.对应中英文(其他语言自行添加),分别在Localizable.strings下对应语言文件添加下列语句:
在InfoPlist.strings(Simplified)中写代码

"alertTitle" = "标题";
"alertMessage" = "信息";
"alertOk" = "确认";
"alertOther" = "其他";

在InfoPlist.strings(English)中写代码

"alertTitle" = "title";
"alertMessage" = "message";
"alertOk" = "confirm";
"alertOther" = "other";

3.使用的时候需要用到下列语句
NSLocalizedString(@"alertTitle", @"这是一句注解,根据情况写"),第一个参数即在strings文件中自定义的key,根据不同的语言环境,系统会自动根据这个key检测对应的value(中文还是英文),第二个参数是注释,为了便于理解,可以为nil。

实例

- (void)createAlertViewWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancel:(NSString *)cancel andOther:(NSString *)other
  {
      UIAlertView * alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:delegate cancelButtonTitle:cancel otherButtonTitles:other, nil];
      [alert show];
  }
  //调用
  [self createAlertViewWithTitle:NSLocalizedString(@"alertTitle", @"这是一句注解,根据情况写") message:NSLocalizedString(@"alertMessage", @"") delegate:nil cancel:NSLocalizedString(@"alertOk", nil) andOther:NSLocalizedString(@"alertOther", nil)];

你可能感兴趣的:(iOSApp国际化)