Localisation et langue par défaut.

tabliertablier Membre
10:28 modifié dans API AppKit #1
J'ai besoin de récupérer la langue par défaut que l'utilisateur définit dans Préférences_Système/International. Je passe en revu la documentation, et j'ai du rater l'épisode sur le sujet! 
Comment fait-on cela?

Réponses

  • AliGatorAliGator Membre, Modérateur
    novembre 2008 modifié #2
    Question, tu veux récupérer la langue par défaut de Préférences Système / Internationnal, c'est à  dire la langue la plus en haut de la liste, ou récupérer la langue dans laquelle s'est ouverte ton appli, c'est à  dire la langue la plus en haut de cette liste mais qui existe aussi comme localisation dans ton appli ?
    Parce que si l'utilisateur a choisi dans cet ordre le Turk, le Breton, le grec, l'anglais et le français... et que tu n'as traduit ton  soft qu'en allemand, anglais et français... tu veux quoi comme résultat, turk ou anglais ?

    Sinon moi je serais allé chercher sans dans la classe NSLocale il doit y avoir qqch à  mon avis par là 
    [EDIT] Bah oui tiens y'a [NSLocale currentLocale] justement, tu vois ;) [/EDIT]
  • tabliertablier Membre
    10:28 modifié #3
    C'est effectivement la langue par défaut de Préférences Système / Internationnal que je recherche. Je n'ai pas pensé aux locales!!!!  Je vais allez voir ça, merci.
    Si c'est une application à  moi, j'ajoute la clef "lang" dans les fichiers "Localized.strings" et j'adapte la valeur suivant la langue:
    "lang" = "English" ;    // pour les Anglais
    "lang" = "French" ;    // pour nous autres
    "lang" = "Japanese" ;  // pour le soleil levant ............ etc
    et  NSLocalizedStringFromTable(@lang, @Localized, nil) permet de savoir qu'elle langue le système à  utilisé!  As-tu plus simple?
  • CéroceCéroce Membre, Modérateur
    10:28 modifié #4
    Dis-nous surtout à  quoi ça te sert. En général, on n'a pas besoin de connaà®tre la langue.
  • AliGatorAliGator Membre, Modérateur
    10:28 modifié #5
    Ben oui... NSBundle, cette fois ;)

    [tt][NSLocale preferredLanguages][/tt] --> retourne le tableau des langages préférés, par ordre de préférence indiqué dans les prefs système
    [tt][NSBundle preferredLocalizations][/tt] --> retourne un tableau des localisations de ton Bundle qui seront utilisées d'après les préférences utilisateur

    Du coup, à  vérifier, mais je pense que [[NSBundle preferredLocalisations] objectAtIndex:0] te retourne la langue courante de ton application.
  • AntilogAntilog Membre
    10:28 modifié #6
    La méthode d'Ali est probablement la plus standard, mais j'avoue bien aimer le côté "simple et si évident" de tablier...
Connectez-vous ou Inscrivez-vous pour répondre.