2011-06-01 107 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.