2

如何为多种语言制作一个应用程序?

我听说苹果拒绝只包含不同语言的应用程序。那么如何更改特定国家或语言的图像、文本和图标呢?

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

4

3 回答 3

4

Apple 完全支持并明确接受不同语言的本地化。

看这里:国际化和本地化,特别是这个样本:国际山脉

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

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

于 2011-06-01T08:40:01.077 回答
1

Cocoa 内置了对本地化的支持——开发者网站的整个部分都专门讨论这个主题。

但是,一个好的开始是阅读国际化编程主题文档,因为这将引导您完成向应用程序添加额外字符串资源等的过程。

于 2011-06-01T08:40:45.507 回答
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.
于 2012-05-21T07:08:19.630 回答