有没有一种方法可以强制Xcode将应用名称本地化为其他语言?

时间:2018-12-29 18:33:24

标签: xcode localization localizable.strings

我正在创建针对10.12编译的macOS应用。我的电脑是英文,我的地区是葡萄牙。

该应用程序以3种语言创建:英语(默认为开发一种),葡萄牙语(巴西)和葡萄牙语(葡萄牙)。

我想本地化应用名称。

我用以下英语键创建了一个InfoPlist.strings文件:

"CFBundleDisplayName" = "My App";
"CFBundleName" = "My App";
"CFBundleExecutable" = "My App";

以及葡萄牙语br和pt

"CFBundleDisplayName" = "Minha App";
"CFBundleName" = "Minha App";
"CFBundleExecutable" = "Minha App";

我已将这些键添加到Info.plist

CFBundleDisplayName = $(PRODUCT_NAME)
CFBundleExecutable = $(PRODUCT_NAME)
CFBundleName = $(PRODUCT_NAME)
CFBundleIdentifier = $(PRODUCT_BUNDLE_IDENTIFIER)
LSHasLocalizedDisplayName = YES

我拥有的建筑物设置内部

Product Name = My App

我转到产品>方案>编辑方案>运行>选项,然后将Application Language设置为英语,然后运行该应用程序。

Xcode会生成一个名称正确的My App.app应用程序。

我返回选项并将语言设置为葡萄牙语,Xcode继续生成名为My App.app而不是Minha App.app的应用程序。

如何强制Xcode本地化Finder中显示的应用名称。

1 个答案:

答案 0 :(得分:1)

这不是本地化在macOS上的工作方式。您没有构建该应用程序的葡萄牙语特定版本。一个应用程序支持其支持的任何语言的本地化。

在后台,在文件系统中,应用程序捆绑包的目录将始终命名为“ My App.app”,而不是“ Minha App.app”。本地化仅发生在GUI中的显示点。

您不需要重建应用程序。

因此,您的问题与Xcode无关,而与Finder和系统有关。要在Finder中查看其他本地化版本,您需要将帐户的语言设置切换为使用葡萄牙语(其中一种)。我不记得查找器是否处于活动状态,或者您是否需要重新启动它(按住Option / Alt键,右键单击其Dock图标,然后单击重新启动;或者注销并重新登录)。