我有一个国际化的iPhone项目。在各种${lang}.lproj/InfoPlist.strings
文件中,我只有一个密钥CFBundleName = "My App Name"
。
对于单个目标而言,它可以正常工作,但我无法使其适用于多个目标。
我想为主要目标提供多个已翻译的InfoPlistMyApp.strings
文件,并为lite版本提供多个InfoPlistMyAppLite.strings
个文件。但我无法弄清楚如何设置它。 InfoPlist.strings
名称似乎是一成不变的,所以我无法动态替换它。
有什么想法吗?
答案 0 :(得分:37)
事实证明,如果费力的话,这很容易。您可以拥有多个InfoPlist.strings,每个目标一个启用,并且每个都可以国际化,只要每个集合位于不同的Xcode组。
设置如下目录结构:
.../AppName/
en.lproj/InfoPlist.strings <-- Contains CFBundleDisplayName
it.lproj/InfoPlist.strings <-- ...
...
.../AppNameLite/
en.lproj/InfoPlist.strings <-- ...
it.lproj/InfoPlist.strings <-- ...
...
将这些文件导入Xcode组,如下所示:
右键单击“Groups&amp; Files”(Xcode的左上角)并确保“目标成员资格”可见,然后浏览目标,检查每个字符串的正确字符串集。