如何在 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的主要内容,如果未能解决你的问题,请参考以下文章