Localizing

Localization 往往意味着2件事:

  • 为不同的region和语言产生不同的resource(image, sound, Nib文件) 版本, 这些resource被放在不同的文件目录下,目录以语言命名, 比如: en_US, en是英文,US是region 美国的代码。en和US是标准化的。
  • 创建不同语言的字符串表

步骤:

  1. 如下图所示,添加新的语言: 一般英文会被选中为base。
    这里写图片描述
    选中想要多语言化的资源文件。
    这里写图片描述
    做好后,xcode会在工程目录下产生对应的lproj目录:
    这里写图片描述
  2. 如果选择了图片,比如想要不同的国家显示不同的旗帜。会产生不同国家对应的图片:
    这里写图片描述
  3. 如果没有在第一步把要翻译的文件选择进去,可以手动添加。选择想要多语言化的文件,选择localization
    这里写图片描述
    以上就做好了资源文件的本地化,下面来看怎么做代码中的字符串。
  4. 打开termimal, cd到project 目录, 执行:
    这里写图片描述

  5. 如果有多个文件,加 -a 的参数

  6. 这样会在当前目录生成一个Localizable.strings的文件,所有用NSLocalizedString函数标示的字符串,都会放进去。(如果不生成这个文件,export cliff 文件的时候,也是会放入用NSLocalizedString函数标示的字符串的。只是感觉不是很直观,还是生成一下)

  7. 然后,重复第3步,添加localization
    到这里所有文件都已经本地化了,下一步,就是要送出去翻译

  8. 选择export,会export一个xliff文件
    这里写图片描述

  9. 可以用这个网站打开,看一下http://xliff.brightec.co.uk
  10. 翻译回来以后,可以import进去。

但是,工具生成的xliff文件并不是照修改顺序的。遇到特别复杂的多次翻译,还是要人来看。希望以后xcode可以改进一下。

附:
当一个bundle在找寻对应的resource文件的时候,首先找bundle的根目录,找寻bundle的名字的文件。如果没有找到,就去找设备的locale和语言对应的lproj目录。在lproj目录里面找bundle的名字的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值