2013-07-19 21 views
0

我想通过XCode设置一些基本的本地化。OSX本地化 - 我在做什么错?

我也做了以下内容:

  1. 增加了一个新的Localize.strings文件。
  2. 添加法语到我的应用程序本地化设置。 French一个本地化文件是Localize.strings文件。
  3. 我已将“打开文件”本地化字符串添加到Localize.strings文件。 Localized Strings
  4. 我已经创建了一个出口,它连接到一个按钮,添加以下代码:

代码(无法弄清楚如何得到这个内嵌子弹):

- (void) awakeFromNib 
{ 
    // Add any code here that needs to be executed once the windowController has loaded the document's window. 
    [openButton setTitle: NSLocalizedString(@"Open File", nil)]; 
} 

我的openButton不为null。

我已经将法语(法语)移到了语言和文字系统偏好中的首选语言。我启动应用程序,标题已本地化,但我的按钮不是!

Screenshot

我失去了一些愚蠢的事?我在这里做错了什么?从我读过的教程中,这应该能够做到这一点,但似乎并非如此。有什么建议么?

回答

2

看起来您在发布的屏幕截图中的“打开文件”行后缺少一个分号。这将使字符串文件无效。

编辑:完整的答案是,除了缺少分号,NSLocalizedString寻找一个名为“Localizable.strings”的文件,在这种情况下,该文件被命名为“Localize.strings”。要从不同名称的文件加载本地化字符串,您需要使用NSLocalizedStringFromTable。在这种情况下,呼叫将是NSLocalizedStringFromTable(@"Open File", @"Localize", nil);

请参阅Apple的Resource Programming Guide以获取有关NSLocalizedString等的完整文档。人。在文件中查找字符串。

+0

Hrrm,我已在每个'Localize.strings'中添加了分号,但该应用仍显示如下:http://imgur.com/NUb0Hr9。我也做了一个'NSLog(@“Test:%@”,NSLocalizedString(@“Open File”,nil));'它仍然以“打开文件”的形式出现。 – Kyle

+1

我只注意到你的文件被命名为“Localize.strings”。我相信正确的文件名是“Localizable.strings”,我相信文件名很重要。如果您使用的是10.8或更高版本,则应用程序资源目录中包含的lproj文件夹的名称也很重要。它需要是“fr.lproj”,而不是“French.lproj”。 –

+0

是的,重命名文件做到了。太疯狂了。谢谢您的帮助! – Kyle