Localizable.strings在iOS中不起作用
我有这个真正的突破问题。
我在XCode中创build了一个Localizable.strings文件,然后在其中创build了2种语言。
我用语言翻译填充了这些文件,做了一个build / clean,然后创build了一个新的版本,但是在我的项目中没有出现Localizationstring。 如果我尝试像这样:
self.title = NSLocalizedString(@"HEAD", nil);
只有“HEAD”而不是翻译出现在设备模拟器中。
这是我的项目层次结构:
这是英文本地化文件的内容:
有任何想法吗?
我自己find了答案。
除了再次清理和build设项目,以及我上面所描述的。 您还必须在iPhone模拟器中删除应用程序,然后重新构build它! 之后,它完美的作品。
谈论简单苹果…
请确保:
- 该文件被称为:“Localizable.strings”。
- “Localizable.strings”属于你正在处理的目标。
几个检查:
- 确保文件名是
Localizable.strings
,并包含在目标中 - 每个string以
;
- 每个string都用双引号
"
- 评论以
//
(不#
)开头
确保在Build Phases,Copy Bundle Resources下有Localizable.strings。
如果第一个字母是大写Localizable.strings,请检查文件名
@ jbssm的解决scheme,但更好的方法(确保资源将保持更新,无需每次清理和删除)将添加一个自定义的脚本构build阶段,改变Localizable.bundle的访问时间。
我自己find了1个答案。
确保所有的值都有终点; 否则,它不工作..
在我的情况下,我的Localizable.strings文件没有正确的格式,由于一些遗留文本。 编译器没有抱怨,但文件的非法部分后面的所有string被忽略。 我的文件看起来像这样:
“Key1”=“String1”;
-
一个string
-
一个string
-
一个string
一个string“;
“Key2”=“String2”;
所以一定要检查任何没有被正确处理的Localizable.string。 你不能相信编译器来捕获所有的格式错误。
我的本地化两美分。 我已经调整了本地化文件,添加并删除了它们,并使项目在许多Xcode更新下消失。 后来发现,除了英文以外,本地化都不起作用。
问题是我必须有一个base
本地化,我必须打勾在右侧的基础,当我做了一个文件在左侧添加和其他翻译出现在应用程序中。 那里肯定有琴弦…