国际键盘定制?

时间:2010-06-08 08:22:17

标签: iphone iphone-softkeyboard

在iphone sdk 3.0中,他们提供了国际键盘选项。用户可以选择他想要的键盘。但是我们如何本地化我们的应用程序。 例如,如果用户选择了法语键盘,我们应该用法语与他互动。像警报和其他东西应该用法语显示。

我们如何以编程方式执行此操作?我们可以将字符串从英语转换为用户选择的语言吗?

请帮助我

3 个答案:

答案 0 :(得分:3)

查看iPhone开发人员中心的Internationalization Programming Topics

答案 1 :(得分:2)

没有记录的方法可以知道键盘何时更改,也没有记录的方式来获取当前的键盘模式。


使用未记录的 API,您可以收听UIKeyboardCurrentInputModeDidChangeNotification本地通知。

可以使用

com.apple.Preferences首选项中找到当前输入模式
return CFPreferencesCopyAppValue(CFSTR("KeyboardLastUsed"),
        CFSTR("/var/mobile/Library/Preferences/com.apple.Preferences"));

(注意:要在模拟器上进行测试,您需要将/var/mobile/替换为/Users/<user-name>/Library/Application Support/iPhone Simulator/<sdk-version>/。)

答案 2 :(得分:2)

在iOS 4.2及更高版本中,您可以使用UITextInputMode类来确定当前用于文本输入的主要语​​言。

[UITextInputMode currentInputMode].primaryLanguage将为您提供代表BCP 47语言代码的NSString,例如“es”,“en-US”或“fr-CA”。

当前输入模式改变时,您可以注册UITextInputCurrentInputModeDidChangeNotification进行提醒。

正如托马斯·穆勒所说,Internationalization Programming Topics是一个很好的起点。

您可能也对"Getting Your Apps Ready for China and other Hot New Markets" WWDC会话感兴趣。