iOS - 国际化语言切换

Posted 公羽寒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS - 国际化语言切换相关的知识,希望对你有一定的参考价值。

 

ios国际化:如何切换语言
 
1、国际化就是将标签、提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件。以key/value对存储,每个资源的key值不变,value随着需求改变。
一般改变的都是写“死”的东西,网络请求的不能改变。
2、添加多语言:
新建工程(国际化)——> 国际化——>project——>info——>Localizations——> "+"Chinese(Simplified)
技术分享

——> finish:
技术分享

3、创建InfoPlist.strings:修改工程名语言
cmd+N(新建)——>Resource——> Strings File ——>Next
技术分享
 
——>命名为InfoPlist.strings ——> creates ——>Finish
技术分享
 
   添加属性:
点击InfoPlist.strings——>右侧Locatize ——> Locatize
技术分享
——>取消Base,勾选English, Chinses(Simplified):
技术分享
——>点击左侧InfoPlist.strings下三角添加属性:
InfoPlist.string(English)里面输入:CFBundleDisplayName = "Localizable";
InfoPlist.string(Chinese(Simplified))里面输入:CFBundleDisplayName = "国际化";
 
此时:工程的名字改为国际化(中文下),对应的英文下变为:Localizable
技术分享技术分享
 
4.同理创建Localizable.strings(步骤同3):修改标签显示语言
在Localizable.strings(Simplified)下写:"labelText" = "简体中文";
在Localizable.strings(English)下写:"labelText" = "Now is English";
在VC中创建一个labelText(label的对象):

 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 175, 50)];

 

    label.backgroundColor = [UIColor grayColor];

    label.text = NSLocalizedString(@"labelText", nil);

    [self.view addSubview:label];

 

结果如下:

技术分享技术分享
 
获取所有语言和当前语言:
技术分享





以上是关于iOS - 国际化语言切换的主要内容,如果未能解决你的问题,请参考以下文章

[iOS]怎样在iOS开发中切换显示语言实现国际化

iOS 语言切换本地化,国际化

iOS应用内语言切换功能

iOS开发之本地化国际化语言设置

国际化,切换语言的一些问题

Android国际化多语言切换