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

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

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

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

【问题讨论】:

    标签: objective-c macos localization menubar


    【解决方案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:stackoverflow.com/a/21239554/345258
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2011-01-15
    • 2016-11-03
    • 2011-12-19
    • 1970-01-01
    • 2011-02-07
    相关资源
    最近更新 更多