用不同语言制作一个应用程序

时间:2011-06-01 08:36:36

标签: iphone image icons country

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

我听说Apple拒绝只包含不同语言的应用程序。那么如何更改特定国家/地区或语言的图像,文字和图标呢?

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

3 个答案:

答案 0 :(得分:3)

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

请点击此处:Internationalization and Localization,特别是此示例:International Mountains

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

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

答案 1 :(得分:1)

Cocoa内置了对本地化的支持 - 这个主题有entire section of the developer site

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

答案 2 :(得分: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.
相关问题