本地化具有附加后缀的应用程序显示名称

Localise App display name that have append suffix

在将本地化添加到 InfoStrings.plist 时,我无法让应用程序显示名称包含附加后缀。

我添加了不同的 schemeUser-Defined 属性。所以在我的 info.plist 中,我的 CFBundleDisplayName 中有 App Name $(BUNDLE_DISPLAY_NAME_SUFFIX)。当 运行 在我创建的发布方案上使用开发方案和正常应用程序名称时,它将在我的应用程序名称后附加一个 -S。一切正常。

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

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

当我运行开发方案时,两者都不再附加-S。有谁知道我怎么还能那样做?比如如何让 $(Bundle_DISPLAY_NAME_SUFFIX)infoPlist.strings 中被读取。

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

我找到了,但上面说你需要一张凭证。

如何创建不同的后缀(不是要求的) 以下是如何根据您的方案设置应用程序的不同显示名称。您可以通过设置不同的 configurations 来做到这一点。转到项目设置 -> select 项目(不是目标) -> Info 选项卡 -> 然后创建任意数量的配置。也许一个用于 ProductionDebug 和一个用于 Beta 版本。

然后 select 您的 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}.

最后配置您的方案以使用正确的配置。您可能想对 Archive 使用 Production,对 Debug 使用 Debug

Here is an image of the User defined variable