iOS多语言配置

iOS 多语言配置(国际化)

iOS app包显示名称可以国际化,具体方法如下:

基础设置

  • 在info.plist文件中增加Bundle display name属性,并且把属性赋值为$(PRODUCT_NAME);
  • 在info.plist文件中增加Application has localized display name属性,设置为bool值,设置为YES;


    iOS多语言配置_第1张图片
    基础设置.png
  • 在这个地方,也可以把bundle name设置成$(PRODUCT_NAME)


    iOS多语言配置_第2张图片
    设置bundle name.png

iOS APP名称的多语言配置(国际化)

  • 点击项目,在info标签中,找到Localizations,点击加号,添加需要的本地化资源文件;


    iOS多语言配置_第3张图片
    增加本地化资源文件.png
  • 在项目中创建一个.string的文件,名字叫InfoPlist


    创建InfoPlist.string文件.png

    iOS多语言配置_第4张图片
    创建InfoPlist.string文件.png
  • 点击刚才创建的InfoPlists.strings文件,在右边Localization下面点按钮,添加刚刚添加的语言,然后再需要的下面打钩


    iOS多语言配置_第5张图片
    点击Localization按钮.png

    iOS多语言配置_第6张图片
    增加需要的语言.png
  • 找到刚创建的InfoPlist.strings,设置显示名字:CFBundleDisplayName = "XXX";


    iOS多语言配置_第7张图片
    英语环境.png

    iOS多语言配置_第8张图片
    中文环境.png

    iOS多语言配置_第9张图片
    日语环境.png

界面中的字体语言多语言化(国际化)。

  • 添加Strings File文件,命名为Localizable.strings,创建方式和上面一样;
  • 在这个地方可以设置一个宏,用来设置国际化的文字比较方便一些,用的时候直接引用宏就可以了。
/*** 国际化 ***/
#define LocalizedString(key) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:@"File"]
  • 如果不声明一个宏,也可以用下面的方法
//例子
在文件中设置
"textlabel"="english"; 英文环境下
"textlabel"="汉语";中文环境下

在代码中
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 150, 30)];
label.text = NSLocalizedString(@"textlabel", @"");
[self.view addSubview:label];

你可能感兴趣的:(iOS多语言配置)