【问题标题】:Showing IPhone keyboard in different languages based on user input根据用户输入以不同语言显示 iPhone 键盘
【发布时间】:2011-03-03 04:56:39
【问题描述】:

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

Setting the iPhone keyboard language

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

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

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

谢谢。

【问题讨论】:

  • 我已经创建了几个很好用的自定义 iOS 键盘,你可能最终想走这条路
  • @Cirrostratus 我认为你是对的,看起来没有其他办法。谢谢

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


【解决方案1】:

很遗憾,您无法控制键盘的语言。用户通过设置应用程序选择他们希望使用的键盘,并可以使用键盘上的地球图标在它们之间切换。当键盘打开时,它将打开到最近使用的键盘。

【讨论】:

  • 但可能当前键盘的语言存储为用户默认值?
【解决方案2】:

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

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

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

用户可以在 iPhone 的设置中更改键盘的语言 设置->常规->国际

【讨论】:

  • 它不能解决问题。首先,用户不能像字典那样轻松切换。其次,它不会改变你的键盘
  • 问题出在键盘上,而不是本地化。
  • @itsaboutcode,有趣的是你的用户名也是关于代码的。
猜你喜欢
  • 2015-04-03
  • 2010-09-24
  • 1970-01-01
  • 2021-01-03
  • 2011-09-20
  • 2016-07-15
  • 1970-01-01
  • 2010-10-02
  • 2012-09-17
相关资源
最近更新 更多