Un billet suite à la découverte d’un souci avec l’application Langues (« Languages » en anglais) permettant de gérer les Paramètres de langue sur Linux Mint.
Le symptôme est le suivant lorsque l’on clique sur l’icône Langues, il ne se passe rien. La raison ? Une erreur liée à la configuration des langues…
Une occasion pour regarder un peu comment configurer les langues depuis la ligne de commande.
Contexte du problème
L’application Langues (« Languages » en anglais) sur Linux-Mint correspond à mintlocale, donc vous pouvez utiliser cette commande depuis un terminal :
mintlocale
Depuis la ligne de commande, on constate une erreur :
User language in .dmrc: en_US.UTF-8
User language in $LANG: en_US.UTF-8
Current language: en_US.UTF-8
Current region: fr_FR.UTF-8
Current time: fr_FR.UTF-8
Locale archive not found. Regenerate it with 'sudo locale-gen'.
Résolution
La résolution est suggérée dans le message d’erreur :
sudo locale-gen
ou
sudo locale-gen --purge
-
Résultat
Generating locales (this might take a while)... en_AG.UTF-8... done en_AU.UTF-8... done en_BW.UTF-8... done en_CA.UTF-8... done en_DK.UTF-8... done en_GB.UTF-8... done en_HK.UTF-8... done en_IE.UTF-8... done en_IL.UTF-8... done en_IN.UTF-8... done en_NG.UTF-8... done en_NZ.UTF-8... done en_PH.UTF-8... done en_SG.UTF-8... done en_US.UTF-8... done en_ZA.UTF-8... done en_ZM.UTF-8... done en_ZW.UTF-8... done fr_FR.UTF-8... done Generation complete.
locale-gen génère des fichiers de localisation à partir de modèles.
Par défaut, le paquet des paramètres régionaux qui fournit le support de base pour la localisation des programmes basés sur la libc ne contient pas de fichiers de localisation utilisables pour chaque langue prise en charge. Cette limitation est devenue nécessaire en raison de la taille de ces fichiers et du nombre grandissant de langues prises en charge. En conséquence, Debian utilise un mécanisme spécial dans lequel les fichiers de localisation réels sont générés sur l’hôte cible sur la base de modèles.
locale-gen est un programme qui lit le fichier /etc/locale.gen
et appelle localedef pour les profils de localisation choisis.
locale-gen doit être exécuté après chaque modification du fichier /etc/locale.gen
.
Comment trouver le nom de la commande lié à une entrée du menu ?
Cette méthode fonctionne avec Cinnamon.
Depuis le menu rechercher l’application qui vous intéresse. Sur l’entrée du menu, utilisez le bouton droit de la souris, vous aurez accès au menu suivant.
Cela créera sur le bureau un fichier avec le nom de la commande, suivi par l’extension .desktop
, par exemple : ~/Desktop/mintlocale.desktop
.
Ce fichier est fichier texte, assez proche du format .ini
.
Ce fichier attend une section [Desktop Entry]
contenant différentes clés :
Clé | Description |
---|---|
Name | Nom de l’application pour la langue par défaut (l’Anglais) |
Name[CODE_LANGUE] | Nom de l’application pour la langue définie par CODE_LANGUE |
Comment | Description de l’application pour la langue par défaut (l’Anglais) |
Comment[CODE_LANGUE] | Description de l’application pour la langue définie par CODE_LANGUE |
Exec | Ligne de commande permettant de lancer l’application |
Icon | Nom de l’icône : un chemin, ou alors du nom d’une icône contenue dans le thème |
Terminal | Ouvrir (ou non) un terminal lors de l’exécution du programme (false ou true ) |
Type | Dans ce cas ce sera toujours Application , les autres valeurs possibles étant : Link et Directory |
Encoding | Cette clé n’est plus supportée, le fichier doit impérativement être encodé en UTF-8 |
Categories | Permet de savoir dans quelles parties du menu l’application doit être visible Desktop Menu Specification. |
StartupNotify | Notification de démarrage ou non (false ou true ) |
Notez que pour la localisation (traduction), on écrit Key[CODE_LANGUE]
pour simplifier, le forme complète pour CODE_LANGUE
est donné par le tableau suivant :
CODE_LANGUE | Valeur associée est utilisée, en tenant compte d’un possible ordre dans les clés |
---|---|
lang _COUNTRY @MODIFIER | lang_COUNTRY@MODIFIER , lang_COUNTRY , lang@MODIFIER , lang , valeur par défault |
lang _COUNTRY | lang_COUNTRY , lang , valeur par défault |
lang @MODIFIER | lang@MODIFIER , lang , valeur par défault |
lang | lang , valeur par défault |
-
Extraits du fichier
mintlocale.desktop
[Desktop Entry] Name=Languages Name[bs]=Jezici Name[ca]=Idiomes Name[ca@valencia]=Idiomes Name[cs]=Jazyky Name[cy]=Ieithoedd Name[da]=Sprog Name[de]=Sprachen Name[eu]=Hizkuntzak Name[fi]=Kielet Name[fr]=Langues Name[fr_CA]=Langues Name[frp]=Lèngües Name[fy]=Talen … Name[nap]=Lengue Name[nb]=Språk Name[nds]=Sprachen … Name[sr]=Језици Name[sr@latin]=Jezici … Name[zh_CN]=语言 Name[zh_HK]=語言 Name[zh_TW]=語言 Comment=Language settings … Comment[fr]=Paramètres de langue Comment[fr_CA]=Paramètres de langue Comment[frp]=Configuracions de lèngua … Exec=mintlocale Icon=preferences-desktop-locale Terminal=false Type=Application Encoding=UTF-8 Categories=GNOME;GTK;Settings;DesktopSettings;XFCE;X-XFCE-SettingsDialog;X-XFCE-SystemSettings; StartupNotify=false
Liens
- Guide to Desktop Entry Files in Linux
- Howto desktop files
- Lanceurs (fichiers .desktop)
- Les spécifications officielles pour
[Desktop Entry]
: Desktop Entry Specification
ᦿ