在 xcode 5 中本地化 Localizable.string 会破坏整个文件

Posted

技术标签:

【中文标题】在 xcode 5 中本地化 Localizable.string 会破坏整个文件【英文标题】:Localising Localizable.string in xcode 5 breaks the whole file 【发布时间】:2013-11-14 14:25:52 【问题描述】:

每当我尝试本地化我的 Localizable.strings 文件时,它似乎会中断,Xcode 将不再使用它。

我首先创建一个新的单视图应用程序。默认情况下,应用程序设置为使用基本本地化,并且英语已设置为主要语言。 在我的 ViewController.m 中,我将以下代码添加到 viewDidLoad 方法中

    NSString *text = NSLocalizedString(@"someKey", @"some comment");
    NSLog(@"%@", text);

当我运行应用程序时,它会记录“someKey”,因为没有“Localizable.strings”文件。 然后我创建 Localizable.strings 文件并将以下内容添加到文件中:

    "someKey" = "Some value";

当我再次运行应用程序时,它会按预期注销“某些值”。

我希望我的应用也使用挪威语,因此我将语言添加到本地化列表中。

我将 ios 模拟器的语言变成了挪威语,然后再次运行该应用程序。由于我尚未本地化“Localizable.strings”,因此该应用仍会记录“某些值”。

然后单击“Localizable.strings”并单击实用程序窗格中的“Localize”按钮。我选择“英语”作为语言,然后单击“本地化”。该文件尚未本地化为英文,而是“Base”。我运行该应用程序,它仍然记录“一些值”。

接下来我添加挪威本地化。该文件现在必须为“子文件”,一个用于基础文件,一个用于挪威语。我将“someKey”值更改为“Norwegian”和“Base”。

现在,当我运行应用程序时,即使应用程序中不再存在该文本,它仍然会注销“某些值”。我可以重置 iOS 模拟器,清理并重新启动 Xcode,但我的应用仍然会注销“某些值”。

我不知道发生了什么!有人吗?

【问题讨论】:

你是什么意思>'我将“someKey”值更改为“Norwegian”和“Base”。'?这没有意义…… 【参考方案1】:

1,检查是否所有引号 " 在您的 local.strings 文件中配对 2、清理(command+shift+k)并运行

如果找不到指定的语言字符串,应用程序将使用默认语言字符串。

【讨论】:

以上是关于在 xcode 5 中本地化 Localizable.string 会破坏整个文件的主要内容,如果未能解决你的问题,请参考以下文章

在 xcode 5 中本地化 Localizable.string 会破坏整个文件

Xcode 5 - 故事板本地化

Xcode 5/iOS 7 - 本地化在模拟器中不起作用

Xcode 5,xib 本地化导致手机黑屏

使用 Xcode 5 禁用英语本地化

Xcode 5 中的本地化