本地化具有附加后缀的App显示名称

时间:2016-08-25 07:10:26

标签: ios swift localization translation plist

在向InfoStrings.plist添加本地化时,我在获取应用显示名称以包含附加后缀方面存在问题。

我添加了不同的schemeUser-Defined属性。所以在我的info.plist中,我的App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)中有CFBundleDisplayName。在我创建的发布方案上运​​行开发方案和普通应用程序名称时,它会向我的应用名称附加-S。一切都运作良好。

但是,当我尝试翻译应用名称时,它不再起作用了。所以在我的infoPlist.strings中,我尝试了以下内容:

"CFBundleDisplayName" = "App Name ";
"CFBundleDisplayName" = "App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)";

当我运行开发方案时,两者都不会附加-S。有谁知道我怎么能这样做?或许如何在$(Bundle_DISPLAY_NAME_SUFFIX)中阅读infoPlist.strings

更具体地说,如何在InfoPlist.strings中包含预处理器?

1 个答案:

答案 0 :(得分:1)

我找到了answer to your question in another thread, here,但它说你需要一个脚本。

如何创建不同的后缀(不是要求的内容) 以下是根据您的方案设置应用程序的不同显示名称的方法。您可以通过设置不同的configurations来执行此操作。转到项目设置 - >选择项目(不是目标) - > Info标签 - >然后创建您想要的任意数量的配置。可能一个用于ProductionDebug和一个用于Beta版本。

然后选择您的Target - > Build settings标签 - >在搜索中输入display。在User defined下,您可以创建自己的变量,例如调用它BUNDLE_DISPLAY_NAME_SUFFIX。为ProductionDebugBeta提供不同的值。

Info.plist下打开您的Bundle display name文件,您可能会看到MyApp,附加字符串${BUNDLE_DISPLAY_NAME_SUFFIX},使其成为MyApp${BUNDLE_DISPLAY_NAME_SUFFIX}

最后配置您的方案以使用正确的配置。您可能希望将Production用于Archive,将Debug用于Debug

Here is an image of the User defined variable