Traduction de langue avec locales et variantes

muqaddarmuqaddar Administrateur
janvier 2015 modifié dans Objective-C, Swift, C, C++ #1

Salut,


 


J'essaie de passer mon application en Portugais-brésilien (pt-BR) et non Portugais (pt).


 


Mon code:



  // user language
  NSArray *supported_localizations = [[NSBundle mainBundle] localizations]; // get localizations in current bundle
  NSString *primary_language = [[NSLocale preferredLanguages] objectAtIndex:0]; // get first prefered language in device settings  
  if ([supported_localizations containsObject:primary_language]) { [defaults setObject:primary_language forKey:KEY_USER_CURRENT_LANGUAGE]; }
  else { [defaults setObject:@en forKey:KEY_USER_CURRENT_LANGUAGE]; }

Je passe mon iPad en pt-BR et j'ai donc:



Printing description of supported_localizations:
<__NSCFArray 0x1702469c0>(
de,
en,
es,
fr,
it,
pt-BR
)

Printing description of primary_language:
pt

Et donc, ça ne colle pas, l'iPad me renvoie pt en primary language, au lieu de pt-BR.


 


Quand j'ai ajouté la localisation dans Xcode, j'ai ajouté pt-BR et non pt tout court, ce qui me paraà®t logique, car j'aurais une autre variante pour le portugais un jour.


 


Qu'ai-je loupé ?


 


 


Réponses

  • KaroxysKaroxys Membre
    janvier 2015 modifié #2

    Yop !


     


    J'ai déjà  eu ce problème pour un autre language (si toute fois, c'est le même que le mien).


     


    Est-ce que tu peux faire un test rapide, si tu es sur GIT (ou autre) ? 


     


    1 - Enlever la langue pt-BR de ton projet.


    2 - Committer.


    3 - Remettre la langue pt-BR dans ton projet. 


    4 - Regarder via un outil (Source Tree ou autre) ce que la modification ta rajouté dans ton .xcodeproj


     


    Si c'est le même problème que moi tu t'aperçois que Xcode te rajoute seulement le pt (pour ton cas). C'est un bug que j'avais noté sur Xcode 5, cela m'étonne donc qu'Apple ne l'ait pas corrigé pour la version suivante.


     


    Correction :


    Modifier la valeur rajoutée à  la main :-)


     


    K.


  • CéroceCéroce Membre, Modérateur


    C'est un bug que j'avais noté sur Xcode 5, cela m'étonne donc qu'Apple ne l'ait pas corrigé pour la version suivante.




    Tu manques encore d'expérience avec Apple... Je connais des bugs qui existent depuis Xcode 3, qui sont très ennuyeux mais qui n'ont toujours pas été corrigés.

  • KaroxysKaroxys Membre
    janvier 2015 modifié #4


    Tu manques encore d'expérience avec Apple... Je connais des bugs qui existent depuis Xcode 3, qui sont très ennuyeux mais qui n'ont toujours pas été corrigés.


     



     


    ^^ LOL

  • muqaddar tiens moi au jus lorsque tu auras fait le test, je suis le sujet ;-)


  • muqaddarmuqaddar Administrateur

    C'est pas du tout mon bug en fait.


    Il m'ajoute bien un pt-BR dès le début.


     


    C'est juste que le réglage sur le device pt-BR (langue) donne en fait du "pt" en sortie. Mais c'est sûrement le comportement normal.


  • CéroceCéroce Membre, Modérateur

    Il faudrait que tu essaies avec une clef bidon pour voir s'il utilise bien la variante brésilienne.


  • AliGatorAliGator Membre, Modérateur
    janvier 2015 modifié #8
    Je ne pense pas qu'il y ait bug.

    Tu lui demandes d'afficher les preferred languages. Et dans ce terme de "preferred language" je me demande s'il ne prend pas en compte QUE le primary language, autrement dit la langue de base sans considération de variante régionale. Autrement dit, c'est peut-être juste une question de vocabulaire.

    Bon j'en suis pas sûr hein ce n'est qu'une hypothèse, mais avec toutes ces façons de faire pour avoir les langues supportées / préférées / etc et les confusions qu'on peut avoir sur les locale, je me dit qu'il faut se méfier.
  • muqaddarmuqaddar Administrateur


    Tu lui demandes d'afficher les preferred languages. Et dans ce terme de "preferred language" je me demande s'il ne prend pas en compte QUE le primary language, autrement dit la langue de base sans considération de variante régionale. Autrement dit, c'est peut-être juste une question de vocabulaire.




     


    Je suis sûr que c'est ça.


    Mais alors, comment prendre en compte la variate régionale ? Là  est la question.

  • Joanna CarterJoanna Carter Membre, Modérateur

    Moi, j'avais la même problème avec "en" (English) (voir Américain)  et "en-GB" (English(United Kingdom)).


     


    J'ai créé les deux localisations et j'ai commencé en copiant l'une vers l'autre, puis j'ai modifié l'en-GB pour corriger les fautes d'orthographe qui semblent plaire les Américains  ::)


  • muqaddarmuqaddar Administrateur


    Moi, j'avais la même problème avec "en" (English) (voir Américain)  et "en-GB" (English(United Kingdom)).


     


    J'ai créé les deux localisations et j'ai commencé en copiant l'une vers l'autre, puis j'ai modifié l'en-GB pour corriger les fautes d'orthographe qui semblent plaire les Américains  ::)




     


    Le problème c'est pas d'avoir les 2 fichiers, mais qu'il aille chercher le bon.


    Tu devrais tester !

  • Complicate je nov hol !
Connectez-vous ou Inscrivez-vous pour répondre.