iOS国际化

为什么要实现国际化?

为了方便扩展用户量和更多国家的人能够使用app。

1.APP Name的国际化

首先我们在项目里面的project中找到Localizations点击+来添加支持的语言。

image.png

默认的是支持英文,我这里举例添加一个简体中文的来演示。
image.png

接下来新建一个String File的文件 命名为InfoPlist
image.png

然后选择新建的string文件添加语言
image.png

添加完之后string文件里面就包含英文和中文的两个文件
image.png

然后在对应的文件夹中设置APP的name ,注意要使用CFBundleDisplayName 也就是infoplist文件中appname的key
image.png

image.png

这一步完成后,再运行app,切换手机设置中的语言就可以展示对应的app name。

2.内容的国际化

同样新建String文件,不过得命名为Localizable

image.png

image.png

使用键值对来设置不用语言下文字内容,获取文字内容时使用NSLocalizedString方法来获取。

image.png

3.xib内容的国际化

如下图在xib文件中也是有Localizations来勾选语言,之后会得到对应的string文件。

image.png

xib文件中的控件都有对应id
image.png

在文件中我们以label的id.text作为key来设置label应该显示的文字。
image.png

image.png

不需要其他操作,直接运行项目,xib中的label就会显示文件中所设置的文字内容。
测试发现xib添加的lable如果内容为空时,配置的多语言没有显示,需要给lable先设置一个默认的文本才会正常显示。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 概览 各种资源的国际化 1.文本2.图片3.nib4.其他资源 特定模块/功能的国际化 1.APP图标2.应...
    十拿九稳啦阅读 3,778评论 0 6
  • Demo同步更新到Swift2.3本文地址: http://mokai.me/iOS-i18n.html 在真正...
    _GKK_阅读 5,900评论 13 55
  • 根据当前设备语言自动切换显示。 几个涉及到多语言本地化设置的: 1.应用名称 2.文字 3.图片、素材 4.Sto...
    齐玉婷阅读 3,599评论 2 3
  • 相关问题 国际化官网链接 Infoplist.strings为什么可以替换info.plist的名称?什么时机替换...
    wxkkkkk阅读 2,610评论 0 1
  • PS:修改设备系统语言方法设置 -> 通用 -> 语言与地区 -> iPhone 语言Settings -> Ge...
    流火绯瞳阅读 2,859评论 1 4