如何在Mac OS X上本地化菜单栏

3

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

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

有没有一种方法可以翻译 MenuBar 项目的标题目录?还是我必须为每个项目创建 IBOutlet,并将它们的标题设置为 NSLocalizedString?

2个回答

4
你应该仔细阅读有关本地化的文档,重要的是,随着Xcode 4的发展,苹果已经改变了一些步骤,因此许多教程现在有一些不正确的步骤。我将限制我的评论在本地化nibs方面,因为这是问题的性质。
在项目/信息选项卡中添加新本地化。只需单击(+),会显示本地化语言的弹出菜单。选择一个。
选择要本地化的资源。现在,在项目导航器中,我选择本地化的MainMenu.xib有一个法语本地化。
请注意,所有IBOutlets和操作都得以保留。现在,您可以简单地处理显示文本、格式、UI元素的大小等,以对应所选择的xib。

+1 对于指出全新XCode功能的答案! - Clafou
@Clafou 非常感谢。我按照您的步骤进行了操作,幸运的是一些菜单项,如撤销、重做和特殊字符已经被翻译了,而其他的则没有。所以我只需为每个项目创建一个 IBOutlet,并在最后使用 NSLocalizedString 设置它们的标题。无论如何,非常感谢您的建议!它确实帮助了我! - LYTTE_LJ

2
我可能来得有点晚,但是由于我自己需要,所以我创建了一个 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文件翻译成所有可用的语言。

祝使用愉快! :)


这正是我正在寻找的。但是,我总是最终得到“成功将项目本地化为0种语言。” 我正在使用storyboards,这可能是个问题吗?在开始使用工具之前,我确实拥有所有语言文件夹,并且每个文件夹中都有一个MainMenu.strings文件。 - Daniel
我最终使用了这里的Translator.app:https://dev59.com/questions/ZFHTa4cB1Zd3GeqPWPYw#21239554 - Daniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接