Macos OSX服务菜单项:如何本地化?

Macos OSX服务菜单项:如何本地化?,macos,localization,automator,Macos,Localization,Automator,我已经基于自动程序工作流设置了一个OSX服务,其中包括一个Obj-C操作。 我已成功本地化Obj-C操作,但无法本地化服务菜单项 用户表示必须为每个本地化创建ServicesMenu.strings文件。其他文档(例如)也这么说,并在回答中建议应用一些控制台命令来刷新系统文件,但我担心在没有理解的情况下这样做。 我已经在Obj-C操作的Xcode项目中创建了本地化的ServicesMenu.strings文件(因为自动机没有本地化功能),但这些文件肯定位于错误的捆绑包中。 问题是我不知道把这些文

我已经基于自动程序工作流设置了一个OSX服务,其中包括一个Obj-C操作。
我已成功本地化Obj-C操作,但无法本地化服务菜单项
用户表示必须为每个本地化创建ServicesMenu.strings文件。其他文档(例如)也这么说,并在回答中建议应用一些控制台命令来刷新系统文件,但我担心在没有理解的情况下这样做。
我已经在Obj-C操作的Xcode项目中创建了本地化的ServicesMenu.strings文件(因为自动机没有本地化功能),但这些文件肯定位于错误的捆绑包中。
问题是我不知道把这些文件放在哪里。
感谢您的帮助

编辑: 说:
添加本地化的ServicesMenu.strings文件
要本地化此文本,您需要将名为ServicesMenu.strings的UTF-16编码字符串文件添加到您的应用程序项目或Automator工作流包资源中(有关如何执行此操作的详细信息如下)。对于您提供的每个服务菜单项,此字符串文件将包含一个条目,该条目使用默认文本作为键,翻译文本作为值。对于您希望支持的每种语言,您将在项目资源中特定于语言的项目(.lproj)目录中提供一个翻译后的ServicesMenu.strings文件。

如果您是从Automator创建的工作流提供服务,则需要手动将字符串文件和.lproj资源目录添加到工作流包中。您可以在~/Library/Services下的主目录中找到Automator创建的工作流包

我确实做到了这一点,但本地化不起作用。
我在下面添加了我的Info.plist内容、文件夹结构和ServiceMenu.strings文件内容。



这是我自己的解决方案。也许它能帮助别人

第一个问题是我没有仔细阅读文件。我在问题中引用的案文继续如下:

刷新服务菜单

为服务菜单项标题提供本地化文本后,可能需要刷新服务菜单列表以查看更改。刷新服务菜单中显示的服务列表的一种方法是使用服务调试工具
pbs
。这是一个位于
/System/Library/CoreServices
中的命令行工具,提供了有用的服务调试功能,如刷新服务列表或打印当前注册服务列表。清单3显示了一个命令行示例,您可以输入终端应用程序以刷新英语和法语的服务列表。
清单3使用pbs刷新服务的示例。

/System/Library/CoreServices/pbs-现有的英语

第二个问题是上面清单3中给出的命令对我不起作用。但是命令

/System/Library/CoreServices/pbs -update

实际上更新了服务菜单,并显示了本地化菜单项。

/System/Library/CoreServices/pbs-update
对我也不起作用,但
/System/Library/CoreServices/pbs-flush
起作用。