1

在开发项目时,我想准备本地化并将所有字符串添加到字符串宏 NSLocalizedString 调用中,然后使用 Localizable.string 为这些键赋值。

我从我的 xCode 项目中创建了一个字符串文件,并将该文件保存在我的 en.lproj 文件夹中。但是,当我开始使用它时,在 Localizable.strings 中输入的键值没有在我的代码中注册,因此显示的字符串是我在宏中输入的键。但是,如果我将 Localizable.strings 文件保存在 en.lproj 文件夹中,一切都会按预期工作。这对我来说似乎很奇怪,因为我期望所有本地化项目都需要存储在 .lproj 文件夹中。

任何人都可以让我知道这样做的正确方法是什么,以及我将来会遇到问题。

4

2 回答 2

0

“所以显示的字符串是我在宏中输入的键。”

你有他们倒退吗?尝试交换 localizable.strings 文件中的键和单词之一,看看是否是问题所在。

于 2011-11-09T15:41:21.950 回答
0

在 en.lproj 中它不起作用的原因可能是字符编码?

查看:

http://www.icalocalize.com/site/tutorials/iphone-applications-localization-guide/

“如果 Localizable.strings 文件中的字符串存在于翻译文件中,但未在 iPhone 上进行本地化,请检查文件的字符编码。

与 iPhone 模拟器不同,iPhone 只识别 UTF-16 格式的字符串文件。始终在设备上测试您的本地化,因为模拟器和设备的行为方式并不总是相同。”

于 2011-11-09T15:39:28.007 回答