Page 1 sur 2

[Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 13:48
par Paullux
Bonjour,

J'ai un problème, j'ai la variable d'environnement paramétré à "fr_FR.utf8" au lieu de fr_FR.utf-8 et c'est uniquement dans ma session.

Je viens de passer plus d'une heure à chercher sur mon $HOME et je ne trouve pas.

Savez-vous si il y a un moyen facile de trouver d'où vient le problème... ?

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 14:02
par benjarobin
Bonjour,
Que je sache c'est strictement la même chose. Un problème avec ceci ?

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 14:30
par Paullux
J'ai pu lire que ce n'est pas la même chose pour tous les programmes... J'ai quelques traductions pas terrible comme "Filaire Connected" ou "Location In Use" dans le menu en haut à droite de Gnome.
Je me suis alors aller sur la page du wiki fr sur les locales, il y a un script sur la page, et en lançant le script il me dis que utf8 et utf-8 est différent, et peux poser des problèmes de traduction sur certain programme... d'où ma question...

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 15:03
par Paullux
Sinon il y a "locale -a" me retourne tout ça :

Code : Tout sélectionner

 paul  ~  locale -a
C
fr_FR.utf8
POSIX

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 15:10
par benjarobin
Paullux a écrit : ven. 30 juin 2017, 14:30peux poser des problèmes de traduction sur certain programme...
Peux tu indiquer précisément où as tu pu lire ceci ? Le script en question ?
Car non cela ne risque pas de provoquer des problèmes de traduction... La locale reste toujours fr_FR, c'est juste l'encodage qui change...

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 15:34
par Paullux

Code : Tout sélectionner

 paul  ~  ./locale-check.sh 
 * Parent:    1004 /usr/lib/gnome-session/gnome-session-binary
 * Terminal: 18072 tilix --action=app-new-window
 * Shell:    18077 /bin/bash

notice: Tried to guess parent process from $SESSION_MANAGER.
warning: LC_ALL: should not be set (fr_FR.UTF-8)

problem: You have $LC_ALL set; it overrides all other settings.
 * Do not set $LC_ALL unless absolutely required.
   For normal usage, setting $LANG should be enough.

problem: $LANG is missing a dash in the charset.
 * Even though 'utf-8' and 'utf8' are equivalent, some poorly-written programs
   (such as 'tree') consider them different and will not work with the latter.
 * To fix this, change $LANG from "fr_FR.utf8" to "fr_FR.utf-8"

2 problems found. Here's a quick UTF-8 test for you:  --> ★ <--
 * a star             -- font and terminal are okay.
 * 3 question marks   -- your terminal does not correctly interpret UTF-8.
 * a box or rectangle -- UTF-8 works fine, but you need a better font.
 * empty area         -- you really need a better font or something.
Locale sur le Wiki fr (partie Vérification)

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 16:08
par Piczel
Plop, aucun soucis de locale en root ?

Regarde les fichiers que retourne grep -Ril "utf8" "$HOME", peut-être tu peux trouver quelque chose (s'il retourne quelque chose)

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 16:09
par benjarobin
Je viens d'apprendre un truc à propos de tree.
Quelle est la sortie de

Code : Tout sélectionner

grep -ri "utf8" /etc /home/ton-user/.[^.]* 2>/dev/null
grep -rE "LC_ALL|LANG" /etc /home/ton-user/.[^.]* 2>/dev/null
@Piczel Ce que tu proposes est un peu bourrin, surtout si le home est bine rempli... Cela peut prendre des heures... De plus cela n'affiche même pas le contenu, juste le nom du fichier, difficile après de tirer des conclusions

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 16:23
par Piczel
@benjarobin effectivement, checker les fichiers normaux est un peu inutile, merci! Quant au -l, j'aime bien, car après il suffit d'aller dans le fichier, et un ctrl-f - / - ctrl-w - <ce que tu veux> et tu retrouves la ligne concernée, et t'as pas ton stdout pollué par toutes les lignes sorties

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 17:08
par Paullux
Voici en root :

Code : Tout sélectionner

 paul  ~  sudo su
[sudo] Mot de passe de paul : 
 root  /  home  paul  echo $LANG
fr_FR.UTF-8
 root  /  home  paul  locale -a
C
fr_FR.utf8
POSIX
Sinon pour les commande elle tourne toujours, je crois que je vais finir par les arrêter.

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 17:13
par Paullux

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 17:15
par benjarobin
C'est r minuscule et non pas majuscule, ce n'est pas la même chose !
Sinon je ne sais vraiment pas ce que tu as lancé comme commande, mais ce n'est pas les bonnes...

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 17:16
par Paullux

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 17:17
par Paullux
ok je n'avais fait qu'un copier-coller...

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 17:23
par benjarobin
Tu as déjà comme un souci dans /etc/profile car il y a une définition de LC_ALL dedans...
Pour information /etc/profile ne devrait pas être modifié

De plus le contenu de /etc/environment est invalide, les guillemets sont interdits !

Tu as oublié de remplacer dans les commandes /home/ton-user par le chemin de ton home...
Peux tu donner la sortie de

Code : Tout sélectionner

grep -riI "utf8" /home/paul/.[^.]* 2>/dev/null
grep -rEI "LC_ALL|LANG" /home/paul/.[^.]* 2>/dev/null
Sinon avec ton utilisateur, depuis un tty et aussi depuis une console graphique, quelle est la sortie de : echo $LANG

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 18:01
par Paullux
Peux-t-on régénérer /etc/profile ?

Pour le retour de la commande, faut attendre 30 min.

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 18:42
par Paullux
depuis un tty à mon nom et dans une console graphique :

Code : Tout sélectionner

 paul  ~  echo $LANG
fr_FR.UTF-8
Avant de le faire, j'ai modifié /etc/profile /etc/environment et ~/.bashrc (j'y avais ajouter export LANG=fr_FR.UTF-8), en modifiant par rapport à nos précédant échanges.

J'ai lancé les deux autres commandes mais c'est long...

Et sinon pour les mauvaises traductions, faut faire comment ? Gnome existe sur d'autres distributions et est traduit.

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 18:47
par Paullux

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 18:56
par Paullux
J'ai parlé trop vite :
- si je lance depuis une console, $LANG=fr_FR.UTF-8
- si je lance depuis tilix ou gnome-terminal, $LANG=fr_FR.utf8

Re: [Variable $LANG] problème définition variable LANG

Publié : ven. 30 juin 2017, 18:59
par Paullux
Maintenant, le script dont j'ai parlé tout à l'heure donne ceci de gnome-terminal :

Code : Tout sélectionner

 paul  ~  ./locale-check.sh 
 * Parent:     970 /usr/lib/systemd/systemd --user
 * Terminal:  3857 /usr/lib/gnome-terminal/gnome-terminal-server
 * Shell:     4104 bash

warning: LC_NUMERIC: set by terminal but not parent (fr_FR.UTF-8 | none)
warning: LC_TIME: set by terminal but not parent (fr_FR.UTF-8 | none)
warning: LC_MONETARY: set by terminal but not parent (fr_FR.UTF-8 | none)
warning: LC_PAPER: set by terminal but not parent (fr_FR.UTF-8 | none)
warning: LC_MEASUREMENT: set by terminal but not parent (fr_FR.UTF-8 | none)

problem: Terminal and its parent have different locale settings.
 * Your session doesn't have the right locale set, and your window manager
   is launching all programs using the fr_FR.UTF-8 locale. But your terminal
   hides the problem by setting its own locale to fr_FR.UTF-8.
 * Fix your system to set the locale at login or session startup time.

problem: $LANG is missing a dash in the charset.
 * Even though 'utf-8' and 'utf8' are equivalent, some poorly-written programs
   (such as 'tree') consider them different and will not work with the latter.
 * To fix this, change $LANG from "fr_FR.utf8" to "fr_FR.utf-8"

2 problems found. Here's a quick UTF-8 test for you:  --> ★ <--
 * a star             -- font and terminal are okay.
 * 3 question marks   -- your terminal does not correctly interpret UTF-8.
 * a box or rectangle -- UTF-8 works fine, but you need a better font.
 * empty area         -- you really need a better font or something.
et ceci depuis tilix :

Code : Tout sélectionner

 paul  ~  ./locale-check.sh 
 * Parent:     988 /usr/lib/gnome-session/gnome-session-binary
 * Terminal:  5192 tilix --action=app-new-window
 * Shell:     5196 /bin/bash

notice: Tried to guess parent process from $SESSION_MANAGER.

problem: $LANG is missing a dash in the charset.
 * Even though 'utf-8' and 'utf8' are equivalent, some poorly-written programs
   (such as 'tree') consider them different and will not work with the latter.
 * To fix this, change $LANG from "fr_FR.utf8" to "fr_FR.utf-8"

1 problems found. Here's a quick UTF-8 test for you:  --> ★ <--
 * a star             -- font and terminal are okay.
 * 3 question marks   -- your terminal does not correctly interpret UTF-8.
 * a box or rectangle -- UTF-8 works fine, but you need a better font.
 * empty area         -- you really need a better font or something.