创建工程后
要添加的语言包,在项目的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”- 添加要支持的语言
- 在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)];