[locales] impossible de changer la langue pour un seul programme

Applications, problèmes de configuration réseau
Répondre
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

[locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

Bonjour à tous,

Je tente de lancer un programme dans un langue différente de celle configurée pour le système, sans succès.
J'ai le système réglé globalement en anglais, je veux lancer un programme en français ou autre langue, pontcuellement.

J'ai bien les locales décommentées dans /etc/locale.gen

Code : Tout sélectionner

en_US.UTF-8
fr_FR.UTF-8
ja_JP.UTF-8
zn_CN.UTF.8
Puis j'ai bien lancé en root locale-gen.

Code : Tout sélectionner

$ locale -a
C
en_US.utf8
fr_FR.utf8
ja_JP.utf8
zn_CN.utf8
POSIX
Puis, comme suggéré dans le wiki, je lance, mettons Gimp en français :

Code : Tout sélectionner

$ env LANG=fr_FR.UTF-8 gimp 
GEGL-geglmodule.c-Message: Module '/usr/lib/gegl-0.2/ff-load.so' load error: /usr/lib/gegl-0.2/ff-load.so: undefined symbol: av_read_packet
Skipping duplicate plug-in: '/usr/lib/gimp/2.0/plug-ins/dbp'
Le programme se lance irrémédiablement en anglais. Une idée de où cela peut venir ?
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

Quelle est la sortie de :

Code : Tout sélectionner

echo $LANG
env | grep LC_
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

Voici les sorties :

Code : Tout sélectionner

$ echo $LANG
en_US.utf8
et

Code : Tout sélectionner

$ env | grep LC_
LC_MESSAGES=en_US.utf8
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

Étrange... Pourquoi LC_MESSAGES est défini ? Tu as plusieurs solutions:

Code : Tout sélectionner

unset LC_MESSAGES
export LANG=fr_FR.UTF-8
ou

Code : Tout sélectionner

export LC_ALL=fr_FR.UTF-8
Puis tu lances : gimp
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

J'ai testé les deux solutions, aucune ne marchent (Gimp lancé selon le wiki. J'ai aussi essayé avec "gimp" tout seul, pour faire bonne mesure).
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

Si tu fait ceci, Gimp est obligé de se lancer en français :

Code : Tout sélectionner

export LC_ALL=fr_FR.UTF-8
gimp
Sauf bien sur si tu as modifié les préférences par défaut de Gimp...
Quelle est la sortie de :

Code : Tout sélectionner

grep -i lang ~/.gimp-2.8/gimprc
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

Code : Tout sélectionner

grep -i lang ~/.gimp-2.8/gimprc
Il n'y a rien dans gimprc.
J'ai essayé de lancer plusieurs applications : gnucash, mousepad, vlc... même résultat : tous sortent en anglais.
J'ai aussi essayé avec le japonais à la place du français : même résultat.
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

Quelle est la sortie de :

Code : Tout sélectionner

ls -l /usr/share/locale/fr/LC_MESSAGES/
Sinon tu lances bien tout depuis la même console ?
Et essaye de forcer la langue française dans l'interface de Gimp pour tester si ce n'est pas un souci avec Gimp lui même...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

Forcer la langue dans les préférences de Gimp marche.

Code : Tout sélectionner

$ cat ~/.gimp-2.8/gimprc
(language "fr")
(monitor-xresolution 97.000000)
(monitor-yresolution 97.000000)
Bien sûr, Gimp n'était qu'un exemple.

Oui, je lance bien Gimp (et les autres programmes) par la même console.

Code : Tout sélectionner

$ ls -l /usr/share/locale/fr/LC_MESSAGES/
résultat ici
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

Je comprends de moins en moins...
Quelle est la sortie de

Code : Tout sélectionner

LC_ALL=en_US.UTF-8 ls 123456
LC_ALL=fr_FR.UTF-8 ls 123456
Personnellement j'ai respectivement ceci

Code : Tout sélectionner

ls: cannot access 123456: No such file or directory
ls: impossible d'accéder à 123456: Aucun fichier ou dossier de ce type
Peux tu donner la sortie complète via pastebin de : env
Et finalement peux tu donner aussi la sortie de :

Code : Tout sélectionner

export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
locale
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

Alors :
- sortie de env ici.

- ensuite,

Code : Tout sélectionner

LC_ALL=en_US.UTF-8 ls 123456
LC_ALL=fr_FR.UTF-8 ls 123456
=> respectivement :

Code : Tout sélectionner

ls: cannot access 123456: No such file or directory
ls: cannot access 123456: No such file or directory
(oui, la même chose, les deux en anglais)

- enfin,

Code : Tout sélectionner

export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
locale
donne :

Code : Tout sélectionner

LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=fr_FR.UTF-8
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locales] impossible de changer la langue pour un seul programme

Message par FoolEcho »

OlaffGrossBaff a écrit :LANGUAGE=en_US.utf8
Dans tes variables d'environnement, tu as ce réglage qui supplante LANG (par défaut, il ne me semble pas que LANGUAGE soit défini par quoi que ce soit donc vérifie dans ton .bash_profile ou .bashrc ou fichiers du même ordre selon ton shell ; pour ta session en cours il te suffit de faire export LANGUAGE= puis de réitérer les essais avec LANG :chinois: ).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

LC_ALL surplante normalement LANG, comme LC_MESSAGES... Mais pas LANGUAGE
Je viens d'apprendre un truc... Fait un unset de LANGUAGE comme de LC_MESSAGES et cela ira mieux
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locales] impossible de changer la langue pour un seul programme

Message par FoolEcho »

benjarobin a écrit :LC_ALL surplante normalement LANG, comme LC_MESSAGES... Mais pas LANGUAGE
Je viens d'apprendre un truc...
Pour info: :wink:
https://www.gnu.org/software/gettext/ma ... ables.html
https://www.gnu.org/software/gettext/ma ... E-variable.
:chinois:
«The following statement is not true. The previous statement is true.» :nage:
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

Sur ces révélations, j'ai bien regardé dans tous les fichiers concernant bash (et zsh, que j'utilise) : aucun réglage de la variable LANGUAGE, ni LANG.

Code : Tout sélectionner

$ cat .bash* | grep -i LANG
$ cat .zsh* | grep -i LANG
J'ai appliqué le unset à LC_MESSAGES ainsi qu'à LANGUAGE, puis export

Code : Tout sélectionner

$ unset LC_MESSAGES
$ unset LANGUAGE
$ export LANGUAGE=fr_FR.UTF-8 
Puis fait ces tests,

Code : Tout sélectionner

$ env LANGUAGE=fr_FR.UTF-8 gimp (après avoir remis le réglage système)
$ env LANGUAGE=fr_FR.UTF-8 gnucash
$ env LANGUAGE=fr_FR.UTF-8 mousepad
Tous se lancent toujours en anglais.
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

Sinon LANGUAGE comme LC_MESSAGES sont forcément définies par quelque chose, car par défaut ces variables ne sont pas positionnées
Donne nous la sortie de ceci, et dit nous la langue de gimp

Code : Tout sélectionner

unset LC_MESSAGES
unset LANGUAGE
export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
env
gimp
Peux tu nous donner aussi la sortie depuis ton utilisateur de :

Code : Tout sélectionner

grep -RE "(LANG|LC_MESSAGES)" /etc ~/.[^.]* 2>/dev/null
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [locales] impossible de changer la langue pour un seul programme

Message par FoolEcho »

OlaffGrossBaff a écrit : J'ai appliqué le unset à LC_MESSAGES ainsi qu'à LANGUAGE, puis export

Code : Tout sélectionner

$ unset LC_MESSAGES
$ unset LANGUAGE
$ export LANGUAGE=fr_FR.UTF-8 
Attention, tu n'as pas à positionner LANGUAGE du tout, ni à la définir au moment d'un lancement de programme (mieux vaut utiliser LANG, précisément si tu veux changer l'interface à la volée) !

... même si je ne m'explique pas le comportement que tu observes ensuite... :?
«The following statement is not true. The previous statement is true.» :nage:
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

Code : Tout sélectionner

unset LC_MESSAGES
unset LANGUAGE
export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR.UTF-8
env
gimp
Gimp sort en français, ainsi que Mousepad. Hourra !
Il y a ici l'indice de ce qui coince, je suppose.
C'est en tout cas une base pour faire un petit script.

Euh..., pour la sortie de

Code : Tout sélectionner

grep -RE "(LANG|LC_MESSAGES)" /etc ~/.[^.]* 2>/dev/null
c'est juste *énorme*... (il continue à mouliner même, maintenant...)
Il n'y a pas possibilité d'appliquer un filtre quelconque ?
Je doute que tout rentre même dans pastebin.
Et puis passer le tout en revue, c'est inconsidérable.

@FoolEcho, il faudra que je relise de la doc sur les variables des langues (notamment les liens que tu as laissé plus haut). En effet, je m'y perd un peu.
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [locales] impossible de changer la langue pour un seul programme

Message par benjarobin »

Normalement la sortie devrait être très très limité... Testé sur mon PC, cela se limite à moins de 100 lignes... Sauf si tu un wine d'installé et de configuré ou teamviewer...
Et non le filtre est déjà appliqué...
Essaye avec

Code : Tout sélectionner

grep -rE "(LANG|LC_MESSAGES)" /etc ~/.[^.]* 2>/dev/null
J'ai appris encore une chose, la différence entre -r et -R de grep.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
OlaffGrossBaff
Hankyu
Messages : 38
Inscription : mer. 05 juin 2013, 08:52

Re: [locales] impossible de changer la langue pour un seul programme

Message par OlaffGrossBaff »

J'ai bien wine d'installé.
La deuxième commande donne un résultat tout aussi gigantesque.
Edit: pour ma part, j'apprend les variables des langues, hum hum
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
Répondre