app 要支持多种语言需要
1、在PROJECT(不是targts)->Info->Localizations 添加需要支持的语言;
2、选中PROJECT,在菜单栏Editor->Export For Localization ,Include选择:Existing Translations Languags中选中需要翻译的语言,保存 xliff文件。
3、xliff文件交给专业翻译,也可以自己打开添加翻译,打开xliff文件,是一个xml文件,需要翻译的子串在trans-unit中,添加<target>节点。
<trans-unit id="TEST">
<source>TEST</source>
<note>test</note>
<target>Test</target>
</trans-unit>
4、选中PROJECT,在菜单栏Editor->Import For Localization ,会提示警告没有翻译的子串,可以忽略直接导入即可;
会生成一个Localizable.string和InfoPlist.string文件。
5、实现本地开发语言的翻译,选中PROJECT,在菜单栏Editor->Export For Localization ,Include选择:Development Language Only,Languags中不需要选,保存 xlif
6、编辑xliff文件,添加翻译。导入到工程中。
7、你会发现报错误了:The XLIFF file does not contain a target language;
这是xcode的一个bug,但是一直没有修改。
可以这样处理打开en.xilff文件,添加目标语言 traget-language="en",会有4,5个地方需要添加。
<file original="localMe/Info.plist" source-language="en" datatype="plaintext" traget-language="en">
<header>
8、导入成功后xcode中多了Localizable.strign(English)和InfoPlist.string(English)文件;
重新编译看一下是否已经显示成你的翻译。记住一定要在系统切换语言。
代码中的子串用NSLocalizedString(@"TEST", @"test");