Ce qui détermine la
langue d'affichage dans la session de l'utilisateur (langue des menus du Finder > et de tous les menus d'applications > des panneaux des Préférences Système > des boîtes de dialogues) --> c'est le paramétrage du fichier (invisible graphiquement, car son intitulé commence par un . )
~/Library/Preferences/.GlobalPreferences.plist.
Dans ce dossier des
Preferences de la
Bibliothèque Personnelle de l'utilisateur > on trouve, graphiquement visibles, les
com.apple.finder.plist >
com.apple.Safari.plist etc. qui enregistrent les réglages préférentiels de l'utilisateur relativement à chaque application
Apple native + tous les fichiers
plist relatifs aux applications de
tierce partie ajoutées par l'utilisateur. Ces fichiers
plist sont donc des fichiers de
préférences spécifiques > un par application déterminée.
Mais outre ces fichiers de préférences spécifiques > il en existe un de nature
générique (comme son nom l'indique) : le fichier
.GlobalPreferences.plist > dont la fonction est d'enregistrer une série de préférences s'appliquant au
lot entier des applications (Apple et autres) concernées spécifiquement par le reste des fichiers
plist. Parmi ces préférences génériques du fichier
.GlobalPreferences.plist > il y a celle relative à la
langue d'affichage des menus d'applications dans la session.
En utilisant l'excellent logiciel d'édition de fichiers-Système ☞
TextWrangler☜ pour ouvrir mon fichier personnel
.GlobalPreferences.plist > voici ce qui s'affiche (chez moi) concernant exclusivement le paramétrage de la langue d'affichage en session :
Bloc de code:
<key>AppleLanguages</key>
<array>
<string>fr-FR</string>
<string>en-FR</string>
<string>es-FR</string>
<string>ko-FR</string>
<string>de-FR</string>
<string>zh-Hans-FR</string>
<string>zh-Hant-FR</string>
<string>ja-FR</string>
<string>it-FR</string>
<string>nl-FR</string>
<string>pt-FR</string>
<string>pt-PT</string>
<string>da-FR</string>
<string>fi-FR</string>
<string>nb-FR</string>
<string>sv-FR</string>
<string>ru-FR</string>
<string>pl-FR</string>
<string>tr-FR</string>
<string>ar-FR</string>
<string>th-FR</string>
<string>cs-FR</string>
<string>hu-FR</string>
<string>ca-FR</string>
<string>hr-FR</string>
<string>el-FR</string>
<string>he-FR</string>
<string>ro-FR</string>
<string>sk-FR</string>
<string>uk-FR</string>
<string>id-FR</string>
<string>ms-FR</string>
<string>vi-FR</string>
</array>
=> cette pléthore de paramètres préférentiels s'explique par la commande saugrenue que j'avais passée :
Bloc de code:
defaults write -g AppleLanguages '(fr, en, es, ko, de, "zh-Hans", "zh-Hant", ja, it, nl, pt, "pt-PT", da, fi, nb, sv, ru, pl, tr, ar, th, cs, hu, ca, hr, el, he, ro, sk, uk, id, ms, vi)'
Comme cette prolixité est susceptible d'embrouiller le tableau > alors maintenant que ça ne rigole plus (un Lundi matin) > je passe une commande spartiate :
Bloc de code:
defaults write -g AppleLanguages '(fr, en)'
> et instantanément l'affichage offert par «
TextWrangler» me montre l'apuration suivante :
Bloc de code:
<key>AppleLanguages</key>
<array>
<string>fr</string>
<string>en</string>
</array>
Voici en synthèse le décodage de cette syntaxe technique :
- les balises <key></key> enserrent le thème de la préférence, ici AppleLanguages : les langages Apple et constituent une clé.
- les balises <array></array> ouvrent et referment la liste des valeurs associées à la clé : AppleLanguages et constituent un tableau.
- les balises <string></string> enferment pour chacune une valeur de préférence déterminée associée à la clé AppleLanguages et constituent chacune une chaîne.
Ainsi, ma clé de préférences
<key>AppleLanguages</key> est définie par un tableau
<array></array> incluant 2 chaînes de valeurs :
<string>fr</string> désignant en abrégé le
Français et
<string>en</string> désignant en abrégé l'
Anglais. Le simple fait, dans le tableau des valeurs associées à la clé
AppleLanguages, que la chaîne
fr (
Français) précède la chaîne
en (
Anglais) > détermine par causalité logique la sélection du
Français comme
langue d'affichage des applications en session, càd. du
choix préférentiel touchant les langues > les chaînes
subalternes prenant seulement valeur de
favoris subordonnés au choix préférentiel.
Lorsqu'on manipule graphiquement, dans le panneau des
Préférences Système :
Langue et région, les entrées de la colonne gauche des "
Favoris" > cela revient strictement à éditer les chaînes
<string></string> associées dans un tableau à la clé
<key>AppleLanguages</key> dans le fichier de préférences génériques d'utilisateur :
~/Library/Preferences/.GlobalPreferences.plist - ni plus ni moins.
Si la manipulation graphique dans le panneau
Langue et région échoue à montrer une superposition de 2 entrées de langues ordonnées :
Français
Français (France) - principale
English
(Anglais)
> cela revient strictement à dire que le fichier
~/Library/Preferences/.GlobalPreferences.plist ne parvient pas à être
édité quant à la clé
<key>AppleLanguages</key> pour offrir le tableau associé suivant :
Bloc de code:
<key>AppleLanguages</key>
<array>
<string>fr</string>
<string>en</string>
</array>
Étant donné que l'utilisateur dont la session est ouverte est a priori l'
user (= propriétaire) du répertoire de sa
Bibliothèque Personnelle de compte et de
tous les éléments qui y sont inclus > il s'ensuit logiquement qu'il est l'
user du fichier
.GlobalPreferences.plist et a sur lui
a priori des permissions de
lecture et d'écriture (et lui seul) ce qui donne :
Bloc de code:
-rw------- user staff Library/Preferences/.GlobalPreferences.plist
soit
600 en valeur octale > ce qui autorise
a priori tout acte d'
écriture à ce fichier de la part de l'utilisateur - acte d'écriture (consistant en l'édition des valeurs de chaînes associées en tableau à telle ou telle clé) qui,
a priori, doit se trouver instamment
enregistré et
sauvegardé sans discussion, conteste, résiliation ou autre atermoiement.
Tout se passe donc chez toi,
pinsonmimi, comme si un fichier sur lequel tu as a priori tous les droits d'
écriture en tant qu'
user, se trouvait nonobstant
soustrait à ton droit d'édition par un mécanisme sournois qui n'est en aucune façon, forme, procédé ni raison admissible.
C'est ce mécanisme inadmissible qu'il faut arrêter pour rétablir ton droit d'édition du fichier
.GlobalPreferences.plist. Je te propose de passer la commande (copier-coller) :
Bloc de code:
ls -aleO@ Library/Preferences/.GlobalPreferences.plist
et que tu
postes en copier-coller le retour > il s'agit d'une commande informative listant les droits sur le fichier (tu n'as qu'à effacer ton nom propre et ne laisser que ton prénom à la mention de l'
user) => c'est pour vérifier si tu es bien reconnue l'
user en permissions
rw sur le fichier.