如何在 mac os x 上本地化 MenuBar

Posted

技术标签:

【中文标题】如何在 mac os x 上本地化 MenuBar【英文标题】:how to localize MenuBar on mac os x 【发布时间】:2012-09-18 06:31:34 【问题描述】:

我正在开发适用于 Mac OS X 的应用程序。现在我希望界面上显示的每个单词、标题或字符串都进行本地化。

目前,我已经完成了大部分工作,但我对 MainMenu.xib 中的 MenuBar 感到困惑。

有什么方法可以翻译 MenuBar 项目的标题目录吗?还是我必须为每个项目制作 IBOutlet 并将它们的标题设置为 NSLocalizedString?

【问题讨论】:

【参考方案1】:

您绝对应该查看本地化文档。不过,重要的是,随着 Xcode 4 的发展,Apple 改变了一些步骤。现在很多教程都有一些不正确的步骤。我会将我的 cmets 限制为笔尖的本地化,因为这是问题的本质。

在项目/信息选项卡中添加新的本地化

只需单击 (+) 即可显示本地化语言的弹出菜单。选择一个。

选择要本地化的资源

本地化笔尖 现在,在 Project Navigator 中,我选择本地化的 MainMenu.xib 具有法语本地化:

请注意,您的所有 IBOutlets 和操作都会被保留。现在您可以简单地处理显示文本、格式、UI 元素的大小等,以对应所选的 xib。

【讨论】:

+1 表示 XCode 全新功能的答案! @Clafou 非常感谢。我已按照您的步骤进行操作,幸运的是,某些 MenuItem(例如 Undo、Redo 和 Special Characters)已翻译,而其他未翻译。所以我只是为每个项目制作一个 IBOutlet,最后用 NSLocalizedString 设置它们的标题。不管怎么说,还是要谢谢你!你的建议对我很有帮助!【参考方案2】:

我可能来晚了,但是因为我自己需要它,所以我创建了a Ruby gem,一旦您添加了必要的本地化,您就可以使用它来自动翻译 MainMenu.xib 中的(几乎所有“常见”)项目。

您所要做的就是安装 gem:

sudo gem install cocoalocalize

并通过终端运行:

cocoalocalize your_project_folder your_app_name

*your_project_folder 包含您的 .lproj 文件夹(例如 es.lproj、fr.lproj)。

该工具将负责将不同的MainMenu.strings 文件翻译成所有可用的语言。

享受吧! :)

【讨论】:

这正是我想要的。但是,我总是以Successfully localized project to 0 languages. 结束我正在使用情节提要,这可能是个问题吗?在我启动工具之前,我确实拥有所有带有 MainMenu.strings 文件的语言文件夹。 我最终从这里使用了 Translator.app:***.com/a/21239554/345258

以上是关于如何在 mac os x 上本地化 MenuBar的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OS X 上写入本地应用程序支持目录

在 Mac OS X 上安装本地 LAMP 以进行 Web 开发的最简单方法是啥?

如何配置Mac OS X 与 Windows之间共享网络

python 为OS X创建MenuBar

如何在Mac OS X上安装 Ruby运行环境

在 Mac OS X 装不上 TensorFlow?看了这篇就会装