Detecting current iPhone input language

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.

(You might also be interested in the “Getting Your Apps Ready for China and other Hot New Markets” WWDC session, and Internationalization Programming Topics.)

Leave a Comment