我正在尝试通过XCode设置一些基本的本地化。

我已经完成以下工作:


添加了一个新的Localize.strings文件。
在我的应用程序本地化设置中添加了法语。一个本地化文件是Localize.strings文件。
我在Localize.strings文件中添加了一个“打开文件”本地化字符串。
我创建了一个插座,将其链接到按钮并添加了以下代码:


代码(无法弄清楚如何使其与项目符号内联):

- (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不为空。

我已将法语(Francais)更改为语言和文本系统偏好设置中的首选语言。我启动该应用程序,并且标题已本地化,但我的按钮却没有!



我想念一些愚蠢的东西吗?我在这里做错了吗?从我阅读的教程中,这应该可以解决问题,但事实并非如此。有什么建议么?

最佳答案

在发布的屏幕快照中,在“打开文件”行之后,您似乎缺少了分号。这将使字符串文件无效。

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

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

关于macos - OSX本地化-我在做什么错?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17752847/

10-16 10:30