【问题标题】:XCode - Multiple targets, Multiple *internationalized* names?XCode - 多个目标,多个*国际化*名称?
【发布时间】:2010-12-20 21:53:51
【问题描述】:
我有一个国际化的 iPhone 项目。在各种 ${lang}.lproj/InfoPlist.strings 文件中,我只有一个密钥 CFBundleName = "My App Name"。
这对单个目标工作正常,但我不能让它对多个目标工作。
我想为主要目标提供几个已翻译的InfoPlistMyApp.strings 文件,以及为精简版提供几个InfoPlistMyApp<em>Lite</em>.strings 文件。但我不知道如何设置它。 InfoPlist.strings 的名字似乎一成不变,所以我无法动态替换它。
有什么想法吗?
【问题讨论】:
标签:
iphone
xcode
sdk
internationalization
【解决方案1】:
事实证明,这很容易,但很费力。您可以有多个 InfoPlist.strings,每个目标启用一个,并且它们每个都可以国际化,只要每个集合位于不同的 Xcode 组中。
建立一个这样的目录结构:
.../AppName/
en.lproj/InfoPlist.strings <-- Contains CFBundleDisplayName
it.lproj/InfoPlist.strings <-- ...
...
.../AppNameLite/
en.lproj/InfoPlist.strings <-- ...
it.lproj/InfoPlist.strings <-- ...
...
将这些文件导入 Xcode 组,如下所示:
右键单击“组和文件”(Xcode 的左上角)并确保“目标成员身份”可见,然后检查您的目标,检查是否为每个目标启用了正确的字符串集。