我使用 Automator 开发了一个 OSX 服务,并在 /Library/Services 中为所有用户安装了工作流程。
工作流数据包包含一个文件夹 Contents,其中包含文件 Info.plist 和一个文件夹 Resources。
Resources 包含每个本地化版本的文件夹,其名称为语言代码,扩展名为 lproj。
每个文件夹都包含一个字符串文件ServiceMenu.strings。
Info.plist 包含默认菜单项标题(在我的示例中:“联系人中的新条目”)。
每个 ServiceMenu.string 文件都包含此默认标题的本地化内容。以西类牙语和简体中文为例。
问题是默认标题以及德语和西类牙语的本地化确实有效,但简体中文的本地化却不起作用:
当我在 Mac 的设置/首选语言中将英语、德语或西类牙语设置为第一语言并重新启动时,服务菜单条目会以该语言正确显示。
但是,当我将简体中文设置为第一首选语言并重新启动时,菜单项不会以简体中文显示,而是以重新启动之前设置为第一首选语言的语言显示。
显然,问题不在于未找到本地化 - 在这种情况下,应该显示 Info.plist 中的默认菜单条目,而不是重新设置之前设置的语言条目启动。
在我看来,这是一个 OS-X 错误。它在 Mavericks 和 Yosemite 中的行为相同。
知道我能做什么吗?
最佳答案
我向 Apple 提交了技术支持事件 (TSI),并收到了这是 OS X 错误的答复(我将提交错误报告)。
解决方法是将相应文件夹命名为“zh_CN.lproj”,而不是标准请求中的“zh-Hans.lproj”。
使用此名称,菜单项可以正确显示为简体中文。
关于macos - OSX 服务菜单条目的本地化不适用于简体中文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069633/