如何为多种语言制作一个应用程序?
我听说Apple拒绝只包含不同语言的应用程序。那么如何更改特定国家/地区或语言的图像,文字和图标呢?
我向App Store提交了三个应用程序。但是,他们的差异只在语言(或图像中的语言/文本)内。这就是为什么他们两个被拒绝的原因。现在,我想为我想支持的所有国家/语言提出一个申请。
答案 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.