代码之家  ›  专栏  ›  技术社区  ›  itsaboutcode

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

  •  8
  • itsaboutcode  · 技术社区  · 14 年前

    我的问题与下面的问题有关,可以说几乎是一样的。

    Setting the iPhone keyboard language

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

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

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

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  4
  •   dgrijalva    14 年前

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

        2
  •  -3
  •   ghostsource    14 年前

    本文解释了开发人员使用本地化字符串创建国际化应用程序需要做什么。 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];
    }
    

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