2010-06-13 55 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