OSX:当鼠标飞过Dock中的app图标时,如何本地化显示的名称?

Reg*_*_AG 5 macos xcode icons localization internationalization

当用户的鼠标飞过停靠栏中的应用程序图标时,应用程序的名称会显示在应用程序图标上.

根据我刚刚执行的测试,它会显示出现的名称对应于项目目标中定义的"产品名称"(在"构建设置"菜单中).

问题是:当用户将鼠标悬停在我的应用图标上时,如何本地化此目标产品名称以使我的应用名称使用正确的语言?

或者是否有其他方法来本地化用户将鼠标悬停在我的应用图标上时显示的应用名称?

谢谢 !

ewc*_*wcy 6

这么多年之后,这个问题仍然困扰着我(可能还有成千上万的其他程序员)一个多小时。

鉴于 Daij-Djan 上面接受的答案中的链接已经失效(更新链接现在位于https://kb.applingua.com/2015/10/how-to-localize-app-names/),我我用我添加的案例写了另一个答案。

确保您已完成以下操作:

  1. Info.plist 没有为您的目标打勾
  2. Info.plist 将“应用程序具有本地化显示名称”设置为“是”
  3. Info.plist 有“Bundle name”(CFBundleName),它的值为“$(PRODUCT_NAME)”(不要问我为什么。如果我把它设置为其他值,它就不起作用。)
  4. Info.plist 没有“Bundle display name”(CFBundleDisplayName)条目
  5. InfoPlist.strings 为您的目标打勾
  6. InfoPlist.strings 为所有语言(在我的情况下,仅基础和英语)打勾至少基础语言。
  7. InfoPlist.strings有两个“CFBundleDisplayName”和“CFBundleName”条目

以上对我有用。在过去的一个小时里,我主要是缺少“$(PRODUCT_NAME)”值部分。

如果仍然不起作用,您应该尝试创建一个全新的 XCode 项目,并按照上述指南尝试将应用程序命名为其他名称。然后,比较 Info.plist 和您真实项目的 Info.plist,看看有什么不同。这正是我了解“$(PRODUCT_NAME)”要求的方式。

  • 只是想补充一点,如果您不包含 CFBundleName,则主菜单中的应用程序名称将不会被本地化。如果您希望将其本地化,则需要 CFBundleName,请参阅:http://stackoverflow.com/questions/19653849/xcode-application-name-in-os-x-cannot-be-localized (2认同)

Dai*_*jan 5

有一个InfoPlist.strings文件,你有本地化的CFBundleDisplayName,你也可以本地化NSHumanReadableCopyrigh等.

确实需要严格遵循本文中提到的步骤:http://kb.applingua.com/2011/10/how-to-localize-app-names/