在开发项目时,我想准备本地化并将所有字符串添加到字符串宏NSLocalizedString调用中,然后使用Localizable.string为这些键赋值。
我在xCode项目中创建了一个字符串文件,并将该文件保存在我的en.lproj文件夹中。但是当我使用它时,在Localizable.strings中输入的键值没有在我的代码中注册,因此显示的字符串是我在宏中输入的键。但是,如果我将Localizable.strings文件保存在en.lproj文件夹中,则一切都按预期工作。这对我来说似乎很奇怪,因为我期望本地化的所有项目都需要存储在.lproj文件夹中。
有人能让我知道这样做的正确方法是什么,将来我会遇到什么问题。
答案 0 :(得分:0)
在en.lproj中它不起作用的原因可能是字符编码?
退房:
http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/
“如果您的Localizable.strings文件中的字符串存在于已翻译文件中,但未在iPhone上本地化,请检查该文件的字符编码。
与iPhone模拟器不同,iPhone仅识别格式为UTF-16的字符串文件。始终在设备上测试本地化,因为模拟器和设备的行为并不总是一样。“
答案 1 :(得分:0)
“所以显示的字符串是我在宏中输入的键。”
你有倒退吗?尝试交换localizable.strings文件中的一个键和单词,看看是不是问题。