如何为多种语言编写一个应用程序?用不同的语言编写一个应用程序
我听说Apple拒绝只包含不同语言的应用程序。那么你怎么能改变你的图片,文字和图标为特定的国家或语言?
我向App Store提交了三个应用程序。但是,他们的差异仅在语言(或图像中的语言/文本)内。这就是为什么他们两个被拒绝的原因。现在我想为所有想要支持的国家/语言编写一个应用程序。
如何为多种语言编写一个应用程序?用不同的语言编写一个应用程序
我听说Apple拒绝只包含不同语言的应用程序。那么你怎么能改变你的图片,文字和图标为特定的国家或语言?
我向App Store提交了三个应用程序。但是,他们的差异仅在语言(或图像中的语言/文本)内。这就是为什么他们两个被拒绝的原因。现在我想为所有想要支持的国家/语言编写一个应用程序。
对不同语言的本地化得到了苹果公司的全面支持和明确的接受。
看这里:Internationalization and Localization,特别是在这个样本:International Mountains。
如果他们唯一的区别是语言,则不能发布两个应用程序。这违反了App Store中有关使功能相同的应用程序的规定。
解决方案就是我指出的:您可以轻松地在同一个应用程序二进制文件中包含多种语言支持。所以,去...
可可已内置支持本地化 - 有一个entire section of the developer site致力于这个话题。
但是,首先要做的第一步是阅读Internationalization Programming Topics文档,因为这会引导您完成向应用程序添加其他字符串资源等的过程。
Apple支持33种语言。下面是语言列表:
en,
fr,
it,
de,
ja,
nl,
es,
pt,
pt-PT,
da,
fi,
nb,
sv,
ko,
zh-Hans,
zh-Hant,
ru,
pl,
tr,
uk,
ar,
hr,
cs,
el,
he,
ro,
sk,
th,
id,
en-GB,
ca,
hu,
vi
您可以使用此代码查找当地语言:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
现在,您可以根据自己的意愿把if
条件,像这样:
if ([currentLanguage isEqualToString:@"it"])
imgView.image = [UIImage imageNamed:@"italy.jpg"];
if ([currentLanguage isEqualToString:@"en"])
imgView.image = [UIImage imageNamed:@"america.jpg"];
if ([currentLanguage isEqualToString:@"fr"])
imgView.image = [UIImage imageNamed:@"france.jpg"];
//Where imgView is an UIImageView declared globaly in viewcontroller.h part.
我发现了一个很好的教程,很好地解释了我的问题。 http://adeem.me/blog/2009/05/10/tutorial-part-2-localizing-your-iphone-application/ – BarryK88 2011-06-01 09:35:14