international keyboard customized?

2020-08-01 08:29发布

问题:

in iphone sdk 3.0 they have given option of international keyboards.user can choose the keyboard that he want. but how can we localize our application. for e.g if user have chosen a French language keyboard we should interact with him in french. like alerts and other things should get display in french language.

how can we do this programatically?Is their any option by which we can convert string from english to user's chosen language?

kindly help me

回答1:

In iOS 4.2 and later, you can use the UITextInputMode class to determine the primary language currently being used for text input.

[UITextInputMode currentInputMode].primaryLanguage will give you an NSString representing the BCP 47 language code such as “es”, “en-US”, or “fr-CA”.

You can register for the UITextInputCurrentInputModeDidChangeNotification to be alerted when the current input mode changes.

As Thomas Müller said, Internationalization Programming Topics is a good place to start.

You might also be interested in the "Getting Your Apps Ready for China and other Hot New Markets" WWDC session.



回答2:

Have a look at the Internationalization Programming Topics on the iPhone Dev Center.



回答3:

There is no documented way to know when keyboard changes, nor a documented way to get the current keyboard mode.


With undocumented APIs, you can listen to the UIKeyboardCurrentInputModeDidChangeNotification local notification.

The current input mode can be found from the com.apple.Preferences preferences, using

return CFPreferencesCopyAppValue(CFSTR("KeyboardLastUsed"),
        CFSTR("/var/mobile/Library/Preferences/com.apple.Preferences"));

(Note: to test on simulator you need to replace /var/mobile/ by /Users/<user-name>/Library/Application Support/iPhone Simulator/<sdk-version>/.)