2010-06-08 7 views
0

dans l'iphone sdk 3.0 ils ont donné l'option du international keyboards.user peut choisir le clavier qu'il veut. mais comment pouvons-nous localiser notre application. par exemple si l'utilisateur a choisi un clavier en français, nous devrions interagir avec lui en français. comme les alertes et autres choses devraient être affichées en langue française.clavier international personnalisé?

Comment pouvons-nous faire cela par programme? Est-ce que leur aucune option par laquelle nous pouvons convertir la chaîne de l'anglais à la langue choisie de l'utilisateur?

aider à bien vouloir me

Répondre

2

Dans iOS 4.2 et versions ultérieures, vous pouvez utiliser la classe UITextInputMode pour déterminer la langue principale actuellement utilisée pour la saisie de texte.

[UITextInputMode currentInputMode].primaryLanguage vous donnera un NSString représentant le code de langue BCP 47 tel que "es", "en-US" ou "fr-CA".

Vous pouvez vous inscrire pour le UITextInputCurrentInputModeDidChangeNotification d'être alertés lorsque le mode d'entrée en vigueur des changements. Comme l'a dit Thomas Müller, Internationalization Programming Topics est un bon point de départ.

Vous pourriez également être intéressé par la session "Getting Your Apps Ready for China and other Hot New Markets" WWDC.

2

Il n'existe aucun moyen documenté de savoir quand le clavier change, ni de manière documentée pour obtenir le mode clavier actuel.


Avec API non documentées, vous pouvez écouter la notification locale UIKeyboardCurrentInputModeDidChangeNotification.

Le mode d'entrée actuel se trouvent des com.apple.Preferences préférences, en utilisant

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

(Note: pour tester sur simulateur vous devez remplacer /var/mobile/ par /Users/<user-name>/Library/Application Support/iPhone Simulator/<sdk-version>/.)

+0

grâce Kenny ont essayé cela, je veux dire u hv œuvre clavier personnalisé? salutations shishir – iscavengers

+0

Je suis downvoting cette réponse, car il existe maintenant des moyens pris en charge pour ce faire. –

Questions connexes