.lproj和Localizable.strings:具有本地化文本的项目?

时间:2011-09-11 21:44:13

标签: objective-c localization internationalization localizable.strings

我正在阅读有关本地化和国际化的文档,但对我来说并不是很清楚:你能解释一下.lproj文件和/或Localizable.strings文件(如果连接的话)之间的联系吗?

或者,如果你知道我在哪里可以看到/下载使用本地化文本的应用程序示例?

我见过带有示例代码'NavBar'的Localizable.strings文件(来自doc),但还没有关于使用.lproj文件的示例代码。

感谢您的帮助

1 个答案:

答案 0 :(得分:7)

这很简单:为每个本地化创建一个文件夹,本地化名称后跟“.lproj”,你可以放置任何可本地化的文件(你也可以本地化图像)和你的Localizable.strings(包含返回的文本)用于本地化的obj-c API)。不要忘记在Xcode中添加资源中的文件。

例如,如果您有3个本地化,则可以使用以下结构:

PROJECT_DIR/
    - en.lproj/
        Localizable.strings
    - it.lproj/
        Localizable.strings
    - pt.lproj/
        Localizable.strings

en.lproj / Localizable.strings有英文字符串,依此类推。在你的Xcode上添加三个Localizable.strings(它足够聪明,可以分组)并且已经完成了。

要使用本地化字符串,只需调用NSLocalizedString(NSString * key,NSString * comment),它将自动在Localizable.strings文件中查找当前语言环境中的键,并返回与键关联的值。有关NSLocalizedString的更多信息,请参阅NSLocalizedString