2010-06-13 96 views
8

我的問題與以下問題有關,可以說幾乎相同。根據用戶輸入顯示不同語言的iPhone鍵盤

Setting the iPhone keyboard language

但這裏是我的要求。我正在爲支持多種語言的iPhone編寫字典應用程序。所以我的要求是當用戶選擇英文時顯示英文鍵盤,當用戶選擇荷蘭文時顯示荷蘭文鍵盤等等。

所以我想知道這是否可能?

我有一個預感,如果我「國際化」的筆尖,它會顯示各自的鍵盤,但不知道。

謝謝。

+1

我已經創建了幾個自定義的iOS鍵盤,它可以很好地工作,你可能最終想走那條路線 – 2010-06-14 19:12:20

+0

@Cirrostratus 我認爲你是對的,看起來沒有其他辦法。謝謝 – itsaboutcode 2010-06-15 15:55:24

回答

4

不幸的是,您無法控制鍵盤的語言。用戶通過設置應用程序選擇他們想要的鍵盤,並且可以使用鍵盤上的地球圖標在它們之間切換。當鍵盤打開時,它將打開最近使用的鍵盤。

+0

但也許當前鍵盤的語言存儲到用戶默認? – 2012-12-08 12:56:18

-3

這篇文章解釋了開發人員需要爲了使用本地化的字符串 http://www.iphonesdkarticles.com/2008/11/localizing-iphone-apps.html

基本上你創建的語言本地化的字符串,以創建國際化的應用程序做你想要支持:

//Localizable.String file for the English version. 
"WelcomeKey" = "Welcome!!!"; 
//Localizable.strings file for the Italian version. 
"WelcomeKey" = "Benvenuto!!!"; 

然後在應用程序中使用它們:

- (void)applicationDidFinishLaunching:(UIApplication *)application { 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; 
NSString *currentLanguage = [languages objectAtIndex:0]; 

NSLog(@"Current Locale: %@", [[NSLocale currentLocale] localeIdentifier]); 
NSLog(@"Current language: %@", currentLanguage); 
NSLog(@"Welcome Text: %@", NSLocalizedString(@"WelcomeKey", @"")); 

// Override point for customization after application launch 
[window makeKeyAndVisible]; 
} 

用戶可以更改鍵盤的語言設置 - >常規 - >國際

+0

它不能解決問題。首先,用戶不能像字典那樣輕鬆切換。其次,它不會改變你的鍵盤 – vodkhang 2010-06-14 02:12:40

+0

那麼問題是關於鍵盤,而不是本地化。 – itsaboutcode 2010-06-14 06:34:36

+0

@itsaboutcode,有趣的是,您的用戶名與代碼有關。 – 2015-10-22 16:14:10