iOS 国际化

739 阅读2分钟

「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。

前言

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

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

image.png

image.png

  • 首先app名字国际化。新建一个Strings File 文件(iOS->Resource->Strings File)

image.png

image.png

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

image.png

image.png

image.png

  • 然后你会发现你创建的文件变成下图那样。

image.png

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

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

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

image.png

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

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

结束语

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