2013-04-04 2 views
0

Mon application iOS a l'option de sélection de la langue.
C'est une application basée sur un serveur qui reçoit toutes les chaînes du serveur qui doivent être affichées dans l'application.
Dans l'un des affichages, je dois convertir le texte en "majuscule", pour cela j'utilise la méthode upperCaseString de NSString. Cela fonctionne bien pour l'anglais. Mais pour d'autres langues comme le français, le chinois, le russe, l'allemand, etc., cela pourrait créer des problèmes. Donc, je dois utiliser "uppercaseStringWithLocale" pour fournir la chaîne majuscule appropriée.
Ma question est de savoir comment créer le NSLocate et le passer à la méthode "upperCaseStringWithLocale" basée sur le nom de la langue. Je sais quelle est la langue de l'application sélectionnée par l'utilisateur. Puis-je créer un objet local en fonction du nom de la langue.iOS NSString - Création de majuscules en fonction des paramètres régionaux

+1

Une locale et une langue ne sont pas une correspondance 1 à 1. Vous devrez utiliser un code de paramètres régionaux. –

Répondre

0

Je pense que vous cherchez:

NSString *theLocaleIdentifier = @"es_ES_PREEURO"; 
[[NSLocale alloc] initWithLocaleIdentifier:theLocaleIdentifier]; 
+0

Puis-je obtenir la carte de langue et les identifiants de paramètres régionaux que je peux gérer dans l'application? – Satyam

+0

@Satyamsvv Vous pouvez obtenir tous les identificateurs de locale en utilisant '[NSLocale availableLocaleIdentifiers]' –

+0

@Satyamsvv Vous pouvez également obtenir un identificateur de locale spécifique si vous connaissez le code de langue et le code de pays en utilisant '[NSLocale localeIdentifierFromComponents: @ {NSLocaleLanguageCode: @" fr ", NSLocaleCountryCode: @" US "}];' –

Questions connexes