在iphone sdk 3.0中,他们提供了国际键盘选项。用户可以选择他想要的键盘。但是我们如何本地化我们的应用程序。 例如,如果用户选择了法语键盘,我们应该用法语与他互动。像警报和其他东西应该用法语显示。
我们如何以编程方式执行此操作?我们可以将字符串从英语转换为用户选择的语言吗?
请帮助我
答案 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会话感兴趣。