根据用户输入显示不同语言的iPhone键盘

时间:2010-06-13 11:50:22

标签: iphone objective-c iphone-sdk-3.0

我的问题与以下问题有关,可以说几乎相同。

Setting the iPhone keyboard language

但这是我的要求。我正在为IPhone编写词典应用程序,它支持多种语言。所以我的要求是当用户选择英语时显示英文键盘,并在用户选择荷兰语时显示荷兰语键盘等。

所以我想知道这是否可行?

我有一种预感,如果我将笔尖“国际化”,它会显示相应的键盘,但不确定。

感谢。

2 个答案:

答案 0 :(得分:4)

不幸的是,你无法控制键盘的语言。用户可以通过设置应用程序选择他们想要的键盘,并可以使用键盘上的地球图标在它们之间切换。当键盘打开时,它将打开最近使用的键盘。

答案 1 :(得分:-3)

开发人员需要做什么才能使用本地化字符串创建国际化应用程序:

基本上,您为要支持的语言创建本地化字符串:

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

然后在app中使用它们:

- (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];
}

用户可以在iphone的设置中更改键盘的语言 设置 - >一般 - >国际