2011-06-01 75 views
1

如何为多种语言编写一个应用程序?用不同的语言编写一个应用程序

我听说Apple拒绝只包含不同语言的应用程序。那么你怎么能改变你的图片,文字和图标为特定的国家或语言?

我向App Store提交了三个应用程序。但是,他们的差异仅在语言(或图像中的语言/文本)内。这就是为什么他们两个被拒绝的原因。现在我想为所有想要支持的国家/语言编写一个应用程序。

回答

3

对不同语言的本地化得到了苹果公司的全面支持和明确的接受。

看这里:Internationalization and Localization,特别是在这个样本:International Mountains

如果他们唯一的区别是语言,则不能发布两个应用程序。这违反了App Store中有关使功能相同的应用程序的规定。

解决方案就是我指出的:您可以轻松地在同一个应用程序二进制文件中包含多种语言支持。所以,去...

1

可可已内置支持本地化 - 有一个entire section of the developer site致力于这个话题。

但是,首先要做的第一步是阅读Internationalization Programming Topics文档,因为这会引导您完成向应用程序添加其他字符串资源等的过程。

+0

我发现了一个很好的教程,很好地解释了我的问题。 http://adeem.me/blog/2009/05/10/tutorial-part-2-localizing-your-iphone-application/ – BarryK88 2011-06-01 09:35:14

0

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. 
相关问题