Localizable.strings在iOS中不起作用

我有这个真正的突破问题。

我在XCode中创build了一个Localizable.strings文件,然后在其中创build了2种语言。

我用语言翻译填充了这些文件,做了一个build / clean,然后创build了一个新的版本,但是在我的项目中没有出现Localizationstring。 如果我尝试像这样:

self.title = NSLocalizedString(@"HEAD", nil); 

只有“HEAD”而不是翻译出现在设备模拟器中。

这是我的项目层次结构:

项目层次结构

这是英文本地化文件的内容: 在这里输入图像说明

有任何想法吗?

我自己find了答案。

除了再次清理和build设项目,以及我上面所描述的。 您还必须在iPhone模拟器中删除应用程序,然后重新构build它! 之后,它完美的作品。

谈论简单苹果…

请确保:

  1. 该文件被称为:“Localizable.strings”。
  2. “Localizable.strings”属于你正在处理的目标。

几个检查:

  1. 确保文件名是Localizable.strings ,并包含在目标中
  2. 每个string以;
  3. 每个string都用双引号"
  4. 评论以// (不# )开头

确保在Build Phases,Copy Bundle Resources下有Localizable.strings。

如果第一个字母是大写Localizable.strings,请检查文件名

@ jbssm的解决scheme,但更好的方法(确保资源将保持更新,无需每次清理和删除)将添加一个自定义的脚本构build阶段,改变Localizable.bundle的访问时间。

https://stackoverflow.com/a/19274844/414037中所述

我自己find了1个答案。

确保所有的值都有终点; 否则,它不工作..

在我的情况下,我的Localizable.strings文件没有正确的格式,由于一些遗留文本。 编译器没有抱怨,但文件的非法部分后面的所有string被忽略。 我的文件看起来像这样:

“Key1”=“String1”;

  • 一个string

  • 一个string

  • 一个string

一个string“;

“Key2”=“String2”;

所以一定要检查任何没有被正确处理的Localizable.string。 你不能相信编译器来捕获所有的格式错误。

我的本地化两美分。 我已经调整了本地化文件,添加并删除了它们,并使项目在许多Xcode更新下消失。 后来发现,除了英文以外,本地化都不起作用。

问题是我必须有一个base本地化,我必须打勾在右侧的基础,当我做了一个文件在左侧添加和其他翻译出现在应用程序中。 那里肯定有琴弦…

在这里输入图像说明