【发布时间】:2011-11-18 16:33:40
【问题描述】:
我正在开发包含不止一种语言的应用程序。
此应用还包含像 Change Language 这样的部分,其中包含不同的语言选项。
所以当一个人改变语言时,例如:英语到西班牙语。需要更改为西班牙语。
我的应用包含许多带有不同图像的自定义按钮,这也需要更改。
我该怎么做?
最简单的方法是什么?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios4
我正在开发包含不止一种语言的应用程序。
此应用还包含像 Change Language 这样的部分,其中包含不同的语言选项。
所以当一个人改变语言时,例如:英语到西班牙语。需要更改为西班牙语。
我的应用包含许多带有不同图像的自定义按钮,这也需要更改。
我该怎么做?
最简单的方法是什么?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios4
到目前为止,最简单的方法肯定是使用名为 NSLocalizedString 的宏。您要做的就是所谓的“本地化”,这里是一个很好的教程链接,该教程介绍了如何用各种语言本地化您的应用程序。本教程是从英语到法语。英语到西班牙语是相同的原则。
基本上,您要做的是将所有字符串声明为 NSLocalizedString,然后根据用户在设备中使用的语言自动更改。您最终将为每种语言制作一个 xib,每个 xib 带有相应语言的按钮标签等。然后您将生成一个文本文件,将程序的 NSLocalizedStrings 的所有翻译以 UTC16 格式。这只是本教程的摘要。跟着它应该不会很难。
这是国际化苹果文档的附加链接:
【讨论】:
您需要在应用程序中对字符串和图像进行本地化,
这里有完整的本地化指南 =>
http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/
任何语言的图片都会有文件夹。
默认情况下,本地化适用于手机语言,但您可以在指南中找到使用设置变量进行更改。
例如为任何语言使用字符串标签NSLocalizedString(@"tag",nil);
标记将在语言文件中定义的位置,比如西班牙语和英语
"tag" = "englishTag"; // in english file (Named Localizable.Strings )
tag = "tagSpanishTag"; // in spanish file
这些文件将是与图像相关的语言文件夹。
【讨论】: