【发布时间】:2011-09-10 05:40:50
【问题描述】:
我有英文版的应用程序。我希望它也能以法语文本运行。
我需要执行哪些步骤?或者我需要什么 API 或额外的代码?
任何示例或教程都会对我有所帮助。
【问题讨论】:
标签: iphone objective-c ios4 localization
我有英文版的应用程序。我希望它也能以法语文本运行。
我需要执行哪些步骤?或者我需要什么 API 或额外的代码?
任何示例或教程都会对我有所帮助。
【问题讨论】:
标签: iphone objective-c ios4 localization
您需要为所有语言添加可本地化的字符串。此外,您还需要添加 .lproj 以及要为其提供支持的每种语言的本地化文件。
希望对你有所帮助。
编辑:
我有一些对你有用的链接。
http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/
http://adeem.me/blog/2009/05/09/tutorial-iphone-localization-in-xib-nib-files/
How simplify iPhone localization?
http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial
我觉得来自http://www.raywenderlich.com 的最后一个是我推荐的最好的。
希望对你有所帮助。
谢谢
【讨论】:
这些教程适合初学者,但在开始之前您应该考虑以下几点:
当 XIB 可能发生变化时,不推荐在其中本地化 XIB 文件的“正常”本地化,因为您必须维护多个 XIB 文件(对于每种语言,都会有一个独立的 XIB)老实说,这变得很痛苦一会儿
因此我建议(尽管一开始需要做更多的工作)以编程方式设置标签和按钮标题:
mylabel.text = NSLocalizedString(@"text:", @"text:");
[mybtn setTitle: NSLocalizedString(@"textbtn", @"textbtn") forState:UIControlStateNormal];
然后使用:genstrings -o en.lproj *.m 创建字符串文件,该文件将查找所有这些 NSLocalizedString 并在文件夹 en.lproj 中创建一个 Localizable.strings 文件
如果您遵循此建议,您将来的生活会更轻松 - 尽管还不是 100% 舒适。如果您需要添加一个新的 NSLocalizedString(例如,因为您有一个新标签),您需要创建一个全新的文件 Localizable.strings。确保你有这个文件的备份副本,你有翻译,否则它会被覆盖和丢失。我还没有找到一个好的解决方案如何构建要翻译的字符串...
ps 不再需要添加本地化的 XIB 文件。否则您最终会拥有多个 XIB 文件,而这些文件首先要避免...
【讨论】: