Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iphone:如何使我的应用程序支持两种或更多语言?_Iphone_Objective C_Ios4_Localization - Fatal编程技术网

iphone:如何使我的应用程序支持两种或更多语言?

iphone:如何使我的应用程序支持两种或更多语言?,iphone,objective-c,ios4,localization,Iphone,Objective C,Ios4,Localization,我有英文版的应用程序。我希望它运行与法语文本也 我需要执行哪些步骤?或者我需要什么API或额外的代码 任何示例或教程都会对我有更多帮助。您需要为所有语言添加可本地化的字符串。此外,您还需要为要提供支持的每种语言添加.lproj以及本地化文件 希望这对你有帮助 编辑: 我有一些对你有用的链接 我觉得最后一个是我推荐的最好的 希望这对你有帮助 谢谢 教程对初学者是有好处的,但在开始之前你应该考虑以下几点: 当XIB可能发生变化时,不建议使用“正常”本地化来本地化XIB文件,因为您必须维护多

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

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


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

您需要为所有语言添加可本地化的字符串。此外,您还需要为要提供支持的每种语言添加.lproj以及本地化文件

希望这对你有帮助

编辑:

我有一些对你有用的链接

我觉得最后一个是我推荐的最好的

希望这对你有帮助


<>谢谢

教程对初学者是有好处的,但在开始之前你应该考虑以下几点:

  • 当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文件,这是一个人首先要避免的…

您有任何这样的例子吗?@Heena:请检查我答案的编辑