我有一个国际化的iPhone项目。在各种 $ {lang} .lproj / InfoPlist.strings 文件中,我只有一个密钥, CFBundleName =" My App Name"

对于单个目标而言,它可以正常工作,但我无法使其适用于多个目标。

我想为主目标提供几个已翻译的 InfoPlistMyApp.strings 文件,以及几个 InfoPlistMyApp Lite .strings 文件。精简版。但我无法弄清楚如何设置它。 InfoPlist.strings 名称似乎是一成不变的,所以我无法动态替换它。

有什么想法吗?

有帮助吗?

解决方案

事实证明,如果费力的话,这很容易。您可以拥有多个InfoPlist.strings,每个目标一个启用,并且每个都可以国际化,只要每个集合位于不同的Xcode组

设置如下目录结构:

.../AppName/
            en.lproj/InfoPlist.strings  <-- Contains CFBundleDisplayName
            it.lproj/InfoPlist.strings  <-- ...
            ...
.../AppNameLite/
            en.lproj/InfoPlist.strings  <-- ...
            it.lproj/InfoPlist.strings  <-- ...
            ...

将这些文件导入Xcode组,如下所示:

右键点击“群组&amp;文件&QUOT; (Xcode的左上角)并确保“目标会员资格”是可见的,然后浏览目标,检查每个字符串的正确字符串集。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top