首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSX服务菜单项:如何本地化?

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

Stack Overflow用户
提问于 2014-05-14 09:45:02
回答 1查看 917关注 0票数 2

我已经建立了一个基于Automator工作流的OSX服务,其中包含了一个Obj操作。

我已经成功地本地化了Obj操作,但是我无法本地化服务菜单条目

服务实施指南说,必须为每个本地化创建一个ServicesMenu.strings文件。其他文档,例如,也是这样说的,这是如此的入口在回答中建议应用一些控制台命令来刷新系统文件,但是如果不理解的话,我很害怕这样做。

我已经在Obj操作的Xcode项目中创建了本地化的ServicesMenu.strings文件(因为Automator没有本地化函数),但是这些文件肯定是在错误的包中。

问题是我不知道把这些文件放在哪里。

任何帮助都是非常感谢的。

编辑:上述链接之一说:

添加本地化的ServicesMenu.strings文件

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

..。

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

我确实是这样做的,但本土化不起作用。

下面我添加了我的Info.plist内容、文件夹结构和ServiceMenu.strings文件内容。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-22 07:41:17

这是我自己的解决方案。也许这对其他人有帮助。

第一个问题是我看得不够仔细。我在问题中引述的案文如下:

刷新服务菜单

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

清单3重新分配示例使用pbs刷新服务。

/System/Library/CoreServices/pbs -existing_languages en fr

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

代码语言:javascript
复制
/System/Library/CoreServices/pbs -update

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23651050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档