【问题标题】:iphone: How do I make my app support two or more languages?iphone:如何让我的应用支持两种或多种语言?
【发布时间】:2011-09-10 05:40:50
【问题描述】:

我有英文版的应用程序。我希望它也能以法语文本运行。

我需要执行哪些步骤?或者我需要什么 API 或额外的代码?

任何示例或教程都会对我有所帮助。

【问题讨论】:

    标签: iphone objective-c ios4 localization


    【解决方案1】:

    您需要为所有语言添加可本地化的字符串。此外,您还需要添加 .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 的最后一个是我推荐的最好的。

    希望对你有所帮助。

    谢谢

    【讨论】:

    • 你有什么例子吗?
    • @Heena:请检查我的回答编辑
    【解决方案2】:

    这些教程适合初学者,但在开始之前您应该考虑以下几点:

    • 当 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 文件,而这些文件首先要避免...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多