 Yves
 Yves
En « principe » --> 
Préférences Système > 
Langue et région > 
Langues préférées => affiche le 
tableau (
array) > contenant 1 à plusieurs 
chaînes de préférences (
string) > attaché à la 
clé (
key) : 
AppleLanguages > du fichier de préférences générales : 
~/Library/Preferences/.GlobalPreferences.
Chez toi la  commande :
	
	
	
		Bloc de code:
	
	
		defaults read -g AppleLanguages
	 
  retourne un :
	
	
Cet affichage simplifié correspond, en syntaxe de fichier 
plist tel qu'affiché par un éditeur comme «
TextWrangler», à ceci :
	
	
	
		Bloc de code:
	
	
		<key>AppleLanguages</key>
    <array>
        <string>fr-FR</string>
    </array>
	 
 
<key>AppleLanguages</key> --> est la 
clé "
Langages Apple" : il s'agit d'un paramètre spécifique à l'intérieur du fichier 
plist global.
<array>.........</array> --> est le 
tableau des préférences qui vont être inscrites pour le paramètre "
clé" précédent.
<string>fr-FR</string> --> est une 
chaîne de préférence singulière > qui inclut ici la valeur : 
fr-FR (Français Métropolitain) > contenue dans le 
tableau.
Donc > étant donné le dispositif syntaxique que je viens de restituer dans le fichier d'utilisateur : 
~/Library/Preferences/ .GlobalPreferences > le tableau graphique : 
Langues Préférées dans le panneau 
Langue et région affiche (en traduction) l'équivalent : 
Français.
En « principe » toujours --> si tu presses le bouton 
+ dans ce dernier panneau > pour choisir en plus l'
Anglais comme langue préférée en second (en spécifiant que tu veux continuer à utiliser le 
Français en langue principale) --> alors l'
Anglais devrait venir s'inscrire en second sous le 
Français dans le tableau graphique des 
Langues préférées.
Chez toi (dans «
Sierra») > il ne se passe rien --> chez moi : c'est pareil. À peine l'
Anglais sélectionné et validé > rien ne s'affiche. Si je récidive la commande de lecture :
	
	
	
		Bloc de code:
	
	
		defaults read -g AppleLanguages
	 
  j'obtiens toujours en retour un :
	
	
signe que rien n'a été modifié dans le fichier.
--------------------
Qu'à cela ne tienne > maintenant que je suis lancé > c'est parti pour les grandes manœuvres.
D'abord par un :
	
	
	
		Bloc de code:
	
	
		cp ~/Library/Preferences/.GlobalPreferences.plist Desktop/GlobalPreferences.plist
	 
  > je me fais une copie (non invisible) du fichier paradigme > au cas où je me mélangerais les pinceaux (ce qui me permettrait de remettre un fichier valide à la localisation initiale).
Puis > comme l'utilitaire 
defaults, quoique confortable à utiliser, est assez sommaire en édition > je vais utiliser l'utilitaire alternatif 
PlistBuddy, plus pointu mais aussi plus sourcilleux à l'usage.
Je commence par un :
	
	
	
		Bloc de code:
	
	
		/usr/libexec/PlistBuddy -c "Add :AppleLanguages:1 string en" ~/Library/Preferences/.GlobalPreferences.plist
	 
  suivi d'un :  
	
	
	
		Bloc de code:
	
	
		defaults read -g AppleLanguages
	 
  informatif > et j'obtiens un retour :
	
	
Alors > puisque je ne me suis pas mélangé les doigts > rien ne peux plus m'arrêter -->
	
	
	
		Bloc de code:
	
	
		/usr/libexec/PlistBuddy -c "Add :AppleLanguages:2 string es" ~/Library/Preferences/.GlobalPreferences.plist
	 
  renvoie ensuite dans la commande d'affichage 
defaults read un :
	
	
Mais comment ! moi > un locuteur de langues romanes > je tolérerais qu'une langue germanique précédât l'
Espagnol ? - Quel outrage ! Vite à nos crayons ! D'abord un :
	
	
	
		Bloc de code:
	
	
		/usr/libexec/PlistBuddy -c "Add :AppleLanguages:1 string es" ~/Library/Preferences/.GlobalPreferences.plist
	 
  me remonte une préférence pour l'
Espagnol en 2è posititon du tableau :
	
	
et comme j'ai un doublon "
Espagnol" en 4è position > un :
	
	
	
		Bloc de code:
	
	
		/usr/libexec/PlistBuddy -c "Delete :AppleLanguages:3" ~/Library/Preferences/.GlobalPreferences.plist
	 
  me retourne en commande informative un :
	
	
 et j'ai donc en tableau ordonné des langues préférées  : 
Français > 
Espagnol > 
Anglais.
--------------------
Bon : en résumé --> j'appelle en chemin absolu 
PlistBuddy > avec l'option 
-c (
command : exécuter directement la commande) > et j'énonce entre 
"" la commande qui est de la forme :
- pour 
ajouter une chaîne d'une valeur spécifiée à un rang donné du tableau associé à une clé j'énonce : le verbe 
Add > l'intitulé de la clé entre 
:: (ici : 
:AppleLanguages:) > j'accolle le 
numéro de rang dans le tableau associé (le premier rang = 
0 > le 2è = 
1 etc.) > puis j'indique le type d'insert (ici 
string : une chaîne) > et la valeur à inscrire dans cet insert (ici 
es pour espagnol) -->
	
	
	
		Bloc de code:
	
	
		"Add :AppleLanguages:1 string es"
	 
 
- pour 
supprimer une chaîne à un rang donné du tableau associé à une clé j'énonce : le verbe 
Delete > l'intitulé de la clé entre 
:: (ici : 
:AppleLanguages:) > j'accolle le 
numéro de rang de la chaîne ciblée dans le tableau associé (le premier rang = 
0 > le 2è = 1 etc.) et... c'est tout !
	
	
	
		Bloc de code:
	
	
		"Delete :AppleLanguages:3"
	 
  (si la cible est en 4è position de chaîne dans le tableau concerné)
pour finir > j'indique toujours en dernier lieu l'
adresse du fichier 
plist cible en 
chemin absolu > ici :
	
	
	
		Bloc de code:
	
	
		~/Library/Preferences/.GlobalPreferences.plist
	 
 
[NB. comme pour des éditions complexes > il serait absurde de multiplier les commandes atomiques comme énoncées ci-dessus > il vaut mieux passer pour le confort en mode interactif de 
PlistBuddy > les écritures successives étant mise-en-cache avant sauvegarde > le mode interactif préservant toujours par défaut la cible du fichier choisi en départ.]
--------------------
Bref : à la suite des ces manipulations avec 
PlistBuddy > j'ai donc le tableau :
	
	
 que je souhaite (par exemple).
Eh bien ! j'aurais beau re-démarrer 100 fois > le tableau graphique 
Langues Préférées du panneau 
Langues et régions des 
Préférences Système > continue de ne m'afficher que la 
1ère langue du tableau du fichier paradigme : le 
Français et aucune des langues secondaires à leur rang.
J'en conclus que l'application : «
Préférences Système.app» (
SystemPreferences.app) est 
boguée quant à son affichage graphique du tableau de la clé 
AppleLanguages du fichier 
~/Library/Preferences/.GlobalPreferences.plist.
=> je jette l'éponge. Quelqu'un qui veut changer de langue préférée > n'a qu'à passer une commande 
defaults brutale du type :
	
	
	
		Bloc de code:
	
	
		defaults write -g AppleLanguage '(lg)'
	 
  où 
lg est à remplacer par l'énoncé abrégé de la langue préférée (
fr, 
en, 
es etc.) => en conséquence > le tableau associé à la clé 
AppleLanguage se trouve effacé et ré-écrit de la seule valeur de chaîne mentionnée dans la commande. Après re-démarrage > la langue de préférence devrait correspondre à l'édition.