Changer les réglages de localisation par application

février 2006 modifié dans Objective-C, Swift, C, C++ #1
Il est possible de changer les réglages de langue par application (pour tester les différentes localisation de votre application par exemple). L'avantage de cette solution par rapport au passage par les préférences système est que ça n'affecte pas les autres applications. Pour prendre l'exemple qui me concerne: j'ai mon système en anglais, mais j'aime bien que les apps que je développe soient en fr (histoire de voir si je n'ai pas oublié un localizedString surtout), donc là  mon App se lancera en français tant que je n'ai pas changé cette préférence, et le reste  se lancera sans intervention de ma part en anglais.

defaults write xxx AppleLanguages "(fr,en)"

(remplacer xxx par l'identifier de l'application)

EDIT: voir plus bas pour une automatisation du machin

Réponses

  • wiskywisky Membre
    22:22 modifié #2
    Je passe pour ma part par les informations de l'application et je désactive les langues que je ne veut pas ;)
    Ca evite de passé par le terminal :P
  • 22:22 modifié #3
    sauf que quand tu le fais sur une application en cours de développement, Xcode rajoute les localisations manquantes (dans mon cas, il rajoute les localisations anglaises, ce qui est justement ce que je veux éviter). Et pour lui les langues désactivées sont considérées comme manquantes...
  • 22:22 modifié #4
    parfait !
  • février 2006 modifié #5
    Bon, je trouvais que ce n'était encore assez simple, alors voici une façon de faire plus simple (enfin, pas à  mettre en ½uvre)

    Par langue:
    Project -> New Target -> Aggregate Target. Mettez le nom que vous voulez. Les aggregate target permettent en fait à  la base d'automatiser l'ordre des compilations pour des projets à  target multiples ...et également d'intégrer des scripts shells. Donc glissez votre target principale sur la nouvelle target, puis click droit dessus Add->New Target -> Run Shell Script Build Phase. et comme script vous rentrez la commande rentrée plus haut en adaptant l'ordre des langues.

    Donc maintenant, vous avez une target par langue, et ça devient super facile pour basculer d'une langue à  l'autre (Project -> Set Active Target pour ceux qui n'auraient pas mis le choix de la target dans la toolbar)
Connectez-vous ou Inscrivez-vous pour répondre.