iOS语言国际化

前言

   语言本地化,又叫做语言国际化。是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言。往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言。
   项目里又要做语言国际化,这次决定小小的记录一下吧

进入正题
  • 打开project下的info文件 在Localizations里面添加语言,傻瓜式添加,选择你想要的语言,添加->完成


    iOS语言国际化_第1张图片
    添加需要的语言

    iOS语言国际化_第2张图片
    完成添加
  • 首先app名字国际化。新建一个Strings File 文件(iOS->Resource->Strings File)


    iOS语言国际化_第3张图片
    新建String File 文件

    iOS语言国际化_第4张图片
    取名必须InfoPlist
  • 选择这个文件,右边点击Localize,会弹出一个对话框,展开对话框列表,发现下拉列表所展示的语言正是我们在上面配置的需要国际化的语言,选择我们需要本地化的语言,然后点击对话框的Localize按钮。
    iOS语言国际化_第5张图片
    点击Localize

    iOS语言国际化_第6张图片
    添加

    iOS语言国际化_第7张图片
    添加完毕,勾选语言
  • 然后你会发现你创建的文件变成下图那样。
    iOS语言国际化_第8张图片
    每个语言有自己的配置文件

    不同的语言在上图的= 后面写上对应的名字就行了·

更新:权限提示语的多语言化

其实就是和应用名多语言一样,拿到权限在Info.Plist里的key就行了。
//中文 InfoPlist.strings中
NSCameraUsageDescription="我想用你的相机";
//英文 InfoPlist.strings中
NSCameraUsageDescription="woxiangyongnidexiangji";
接下来代码中文本的国际化
  • 新建一个Strings File 文件(iOS->Resource->Strings File),文件名必须命名为Localizable,与上面的步骤一样的。然后在不同文件里设置不同语言的文本。例如:


    iOS语言国际化_第9张图片
    中文

    iOS语言国际化_第10张图片
    英文

    设置好之后,代码里获取就行了

// NSLocalizedString(key, comment) 本质
// NSlocalizeString 第一个参数是内容,根据第一个参数去对应语言的文件中取对应的字符串,第二个参数将会转化为字符串文件里的注释,可以传nil,也可以传空字符串@""。
 NSLocalizedString(key, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]

结束语

 到这里简单的多语言配置就结束了,下一篇文章写一下应用内app切换语言的实现吧。不喜勿喷。(app内切换语言已更新 TP一波:滴 滴滴)

你可能感兴趣的:(iOS语言国际化)