# [locale]tout en anglais malgré un 02locale correct (résolu)

## Kevin57

Bonjour à tous,

Depuis que j'ai désinstallé KDE, l'immense majorité de mes paquets est passée en anglais (excepté ceux affectés pas LINGUA="fr"). J'ai reconfiguré correctement le fichier /etc/env.d/02locale selon les conseils donnés ici :

```
kevin_gentoo@Kevin ~ $ cat /etc/env.d/02locale 

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"
```

J'ai ensuite fait :

```
# env-update

# source /etc/profile

$ source /etc/profile

$ source ~/.bashrc
```

Ensuite, je reboot et locale me donne :

```
kevin_gentoo@Kevin ~ $ locale

LANG=

LC_CTYPE="POSIX"

LC_NUMERIC="POSIX"

LC_TIME="POSIX"

LC_COLLATE="POSIX"

LC_MONETARY="POSIX"

LC_MESSAGES="POSIX"

LC_PAPER="POSIX"

LC_NAME="POSIX"

LC_ADDRESS="POSIX"

LC_TELEPHONE="POSIX"

LC_MEASUREMENT="POSIX"

LC_IDENTIFICATION="POSIX"

LC_ALL=
```

En root pourtant, tout est correct :

```
Kevin ~ # locale

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=
```

A savoir que un simple $ source ~/.bashrc ne change absolument rien, seul $ source /etc/profile est effectif temporairement (uniquement sur le terminal en question). Le problème se règle en bicolant, par l'ajout de source /etc/profile dans ~/.config/openbox/autostart.sh, mais n'y a-t-il pas une solution plus propre?

Au cas où, un emerge --info :

```
Kevin ~ # emerge --info

Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11-r1, 2.6.33-gentoo-r1 i686)

=================================================================

System uname: Linux-2.6.33-gentoo-r1-i686-Intel-R-_Core-TM-2_CPU_4400_@_2.00GHz-with-gentoo-2.0.1

Timestamp of tree: Thu, 15 Apr 2010 07:15:01 +0000

ccache version 2.4 [enabled]

app-shells/bash:     4.1_p5

dev-java/java-config: 2.1.10

dev-lang/python:     2.6.5-r1, 3.1.2-r2

dev-util/ccache:     2.4-r8

dev-util/cmake:      2.8.1-r1

sys-apps/baselayout: 2.0.1

sys-apps/openrc:     0.6.1-r1

sys-apps/sandbox:    2.2

sys-devel/autoconf:  2.13, 2.65

sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1

sys-devel/gcc:       4.3.4, 4.4.3

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6b

virtual/os-headers:  2.6.33

ACCEPT_KEYWORDS="x86 ~x86"

ACCEPT_LICENSE="*"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -mtune=i686 -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-O2 -mtune=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

EMERGE_DEFAULT_OPTS="--jobs=3 --load-average=5.0 --with-bdeps y"

FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/"

LANG="fr_FR.UTF-8"

LDFLAGS="-Wl,-O1"

LINGUAS="fr fr_FR"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman/desktop-effects /usr/local/portage"

SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage"

USE="X a52 aac acl alsa amr bash-completion berkdb bluetooth bzip2 cdda cdr cli consolekit cracklib crypt css cups cxx dbus djvu dri dvd dvdr encode ffmpeg fortran ftp gdbm gif gphoto2 gpm hal handbook iconv icq imap ipv6 jack java jpeg lcms mad mime mng modules mozilla mp3 mp4 mpeg msn mudflap mysql ncurses nls nptl nptlonly nsplugin ogg opencore-amr opengl openmp oscar pam pcre pdf perl php plasma png ppds pppd python quicktime raw readline reflection rss scanner seamonkey semantic-desktop session smp source speex spell spl sql ssl svg symlink sysfs tcpd tiff unicode usb v4l v4l2 vcd videos webkit wifi win32codecs x86 xcomposite xorg xscreensaver xvid yahoo zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr fr_FR" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 

Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

Merci d'avance à ceux qui pourront m'aider

Kevin57

----------

## gglaboussole

Si tu mets tout à fr_FR.UTF-8 il te suffit d'un :

LC_ALL="fr_FR.UTF-8"

Ensuite à tu effectué un locale-gen après avoir indiqué les locales qui t'intéresse dans /etc/locale.gen ?

tu peux y mettre par ex :

```

en_US ISO-8859-1

en_US.UTF-8 UTF-8

fr_FR ISO-8859-1

fr_FR@euro ISO-8859-15

fr_FR.UTF-8 UTF-8

```

----------

## Kevin57

Oui oui, le locale.gen est configuré depuis très longtemps. J'ai réessayé un locale-gen hier et ça n'avait rien changé. Voici mon locale.gen, toujours le même depuis le début :

```
#en_US ISO-8859-1

#en_US.UTF-8 UTF-8

#ja_JP.EUC-JP EUC-JP

#ja_JP.UTF-8 UTF-8

#ja_JP EUC-JP

#en_HK ISO-8859-1

#en_PH ISO-8859-1

#de_DE ISO-8859-1

#de_DE@euro ISO-8859-15

#es_MX ISO-8859-1

#fa_IR UTF-8

fr_FR ISO-8859-1

fr_FR@euro ISO-8859-15

fr_FR.UTF-8 UTF-8

#it_IT ISO-8859-1

```

----------

## d2_racing

En passant, c'est cat /etc/env.d/02locales 

Enfin, il y a un message gros comme le bras à propos de cette variable LC_ALL dans un des packages de base et c'est clairement indiqué qu'on ne devrait pas jouer avec celle-ci.

----------

## Kevin57

Alors, du coup j'ai fait un mv 02locale 02locales puis j'ai recommencé le tout : 

```
# env-update

# source /etc/profile

$ source ~/.bashrc

#reboot
```

Et ça n'a rien changé...

----------

## gglaboussole

 *d2_racing wrote:*   

> En passant, c'est cat /etc/env.d/02locales 
> 
> Enfin, il y a un message gros comme le bras à propos de cette variable LC_ALL dans un des packages de base et c'est clairement indiqué qu'on ne devrait pas jouer avec celle-ci.

 

Oops !!! effectivement j'avais pas vu....

C'est quoi ce message dont tu fais allusion d2_racing ? j'ai depuis toujours un LC_ALL="fr_FR.UTF-8" ??   :Embarassed: 

----------

## d2_racing

J'ai vu un warning dans elogv avec GCC 4.3 me semble et c'est suite à ce message que j'ai seulement ceci dans mon fichier locales.

```

LANG="fr_CA.UTF-8"

LANGUAGE="fr_CA.UTF-8"

```

----------

## Kevin57

Je viens de mettre les deux même variables que toi (juste avec FR au lieu de CA) et de commenter toutes les autres, mais ça ne change rien...

----------

## gglaboussole

Je viens de vérifier mes logs de gcc-4.4.3 et il n'y a aucune allusion à ça...

----------

## gglaboussole

@Kevin57 : ton 02locales c'est bien le chiffre 0 et pas la lettre O dès fois ????

----------

## Kevin57

Oui c'est bien un chiffre 0, pas de problème de ce côté-là.

----------

## xaviermiller

Hello,

Le nom de fichier dans /etc/env.d n'a  aucune importance !. Les fichiers sont tous chargés, par ordre lexicographique.

As-tu lu la doc sur le passage à UTF-8 ?

----------

## Kevin57

Je viens de jeter un oeil à la doc sur l'UTF-8 mais ça m'a l'air bon, j'ai regardé la page de test proposée et tout marche bien.

----------

## KeNNys

As tu eu une mises a jour du locale.gen ?

Peux tu nous le montrer ?

----------

## init1

 *d2_racing wrote:*   

> En passant, c'est cat /etc/env.d/02locales 
> 
> Enfin, il y a un message gros comme le bras à propos de cette variable LC_ALL dans un des packages de base et c'est clairement indiqué qu'on ne devrait pas jouer avec celle-ci.

 

 *gglaboussole wrote:*   

> 
> 
> C'est quoi ce message dont tu fais allusion d2_racing ? j'ai depuis toujours un LC_ALL="fr_FR.UTF-8" ?? 

 

Pour te répondre, c'est écrit dans la doc, http://www.gentoo.org/doc/fr/guide-localization.xml?style=printable

 *doc wrote:*   

> Attention : L'utilisation de LC_ALL est vivement déconseillée car elle ne peut pas être redéfinie plus tard. Ne l'utilisez que lors de tests et ne la définissez jamais dans un fichier de démarrage. 

 

----------

## d2_racing

Merci init1, je savais que j'avais lu ça à quelque part  :Razz: 

----------

## gglaboussole

Merci pour le lien, je vais revoir mon 02locales donc...  :Very Happy: 

----------

## brubru

Comme tu as désinstaller KDE, quel Desktop Manager utilises-tu maintenant ? KDM, GDM, XDM, Slim ou aucun ? Car le source du /etc/profile par ton compte user dépend de la façon dont tu réalise ton login (voir les options -l, --login, et  '-' dans les man de su et bash), il faut qu'un shell de login soit lancé.

Aussi, tes locales sont-elles bonnes quand tu logge avec l'user depuis la console ?

Sinon mon /etc/env.d/02locale:

```
LANG="fr_FR.UTF-8"

LC_ALL="fr_FR.UTF-8"
```

----------

## GentooUser@Clubic

 *init1 wrote:*   

> 
> 
> Pour te répondre, c'est écrit dans la doc, http://www.gentoo.org/doc/fr/guide-localization.xml?style=printable
> 
>  *doc wrote:*   Attention : L'utilisation de LC_ALL est vivement déconseillée car elle ne peut pas être redéfinie plus tard. Ne l'utilisez que lors de tests et ne la définissez jamais dans un fichier de démarrage.  

 

Précision LC_ALL peut être redéfinit maid il écrase tous les autres LC_* 

```
LC_ALL=fr_FR.-utf8

LC_COLLATE=ja_JP.utf8
```

 ne marche pas LC_ALL "écrasant" LC_COLLATE 

En fait la bonne façon de faire est de définir LANG et les LC_* uniquement si differents de LANG.

En fait pour déterminer la locale à appliquer le systeme regarde d'abord LC_ALL, si non définit il regarde le LC_* correspondant, si non définit il regarde LANG, si non définit il utilise la locale par défaut (POSIX ou C le plus souvent)

La bonne façon de faire est donc (chez moi)

```
LANG="fr_FR.utf8"

LC_COLLATE="ja_JP.utf8"

```

Et le nom du fichier dans /etc/env.d importe peu chez moi c'est 99local !

Pour l'auteur du topic ça marche dans les shell "de connexion" ?

----------

## Kevin57

KeNNys : le voilà :

```
kevin_gentoo@Kevin ~ $ cat /etc/locale.gen 

# /etc/locale.gen: list all of the locales you want to have on your system

#

# The format of each line:

# <locale> <charmap>

#

# Where <locale> is a locale located in /usr/share/i18n/locales/ and

# where <charmap> is a charmap located in /usr/share/i18n/charmaps/.

#

# All blank lines and lines starting with # are ignored.

#

# For the default list of supported combinations, see the file:

# /usr/share/i18n/SUPPORTED

#

# Whenever glibc is emerged, the locales listed here will be automatically

# rebuilt for you.  After updating this file, you can simply run `locale-gen`

# yourself instead of re-emerging glibc.

#en_US ISO-8859-1

#en_US.UTF-8 UTF-8

#ja_JP.EUC-JP EUC-JP

#ja_JP.UTF-8 UTF-8

#ja_JP EUC-JP

#en_HK ISO-8859-1

#en_PH ISO-8859-1

#de_DE ISO-8859-1

#de_DE@euro ISO-8859-15

#es_MX ISO-8859-1

#fa_IR UTF-8

fr_FR ISO-8859-1

fr_FR@euro ISO-8859-15

fr_FR.UTF-8 UTF-8

#it_IT ISO-8859-1
```

brubru : j'utilise le DM SLiM. Là je viens de lancer openbox depuis la console (donc sans passer par SLiM) et les locales sont bonnes, tout est en français.

----------

## KeNNys

Salut,

Moi sur mon locale.gen je n'ai que sa :

 *Quote:*   

> fr_FR ISO-8859-1
> 
> fr_FR@euro ISO-8859-15

 

je n'ai pas de ligne avec :

 *Quote:*   

> fr_FR.UTF-8 UTF-8

 

----------

## init1

Moi au contraire je l'ai, mais à l'installation si on le voulait fallait el rajouter, je ne pense pas que le problème vienne de là.

----------

## KeNNys

Pour moi seul ces 2 fichiers sont nécessaire pour avoir kde en français.

locale.gen et 02locales.

J'ai eu un problème suite a une mise à jour ou mon etc (dispatch-conf) était modifié et effectivement j'avais cette ligne, mais mon kde est passe en anglais.

j'ai ete oblige de modifier mon 02locales comme cela :

 *Quote:*   

> LANG="fr_FR@euro"
> 
> LANGUAGE="fr_FR@euro"

 

Pour récupérer le langage en francais

----------

## brubru

 *Kevin57 wrote:*   

> 
> 
> brubru : j'utilise le DM SLiM. Là je viens de lancer openbox depuis la console (donc sans passer par SLiM) et les locales sont bonnes, tout est en français.

 

Donc le problème vient peut-être de la configuration de SLIM, il me semble que l'on peut modifier la façon dont il fait le login, ou alors peut-être lance t-il un script du genre xserverrc, xinitrc...

----------

## Kevin57

C'était bien ça, merci beaucoup! SLiM lançait ~/.xinitrc au lancement de la session, et ça semblait poser problème. En tout cas, je l'ai configuré pour ne pas le faire et lancer de lui-même openbox-session et tout est de nouveau en français. Si ça peut aider quelqu'un, voici mon slim.conf :

```
kevin_gentoo@Kevin ~ $ cat /etc/slim.conf

# Path, X server and arguments (if needed)

# Note: -xauth $authfile is automatically appended

default_path        ./:/bin:/usr/bin:/usr/local/bin

default_xserver     /usr/bin/X

xserver_arguments   -nolisten tcp -br -deferglyphs 16

# Commands for halt, login, etc.

halt_cmd            /sbin/shutdown -h now

reboot_cmd          /sbin/shutdown -r now

console_cmd         /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"

#suspend_cmd        /usr/sbin/suspend

# Full path to the xauth binary

xauth_path         /usr/bin/xauth 

# Xauth file for server

authfile           /var/run/slim.auth

# Activate numlock when slim starts. Valid values: on|off

numlock             on

# Hide the mouse cursor (note: does not work with some WMs).

# Valid values: true|false

hidecursor          false

# This command is executed after a succesful login.

# you can place the %session and %theme variables

# to handle launching of specific commands in .xinitrc

# depending of chosen session and slim theme

#

# NOTE: if your system does not have bash you need

# to adjust the command according to your preferred shell,

# i.e. for freebsd use:

# login_cmd           exec /bin/sh - ~/.xinitrc %session

# login_cmd           exec /bin/bash -login ~/.xinitrc %session

# login_cmd           exec /bin/bash -login /etc/X11/xinit/xinitrc

# Commands executed when starting and exiting a session.

# They can be used for registering a X11 session with

# sessreg. You can use the %user variable

#

# sessionstart_cmd   some command

# sessionstop_cmd   some command

sessionstart_cmd   /usr/bin/sessreg -a -l :0.0 %user

sessionstop_cmd     /usr/bin/sessreg -d -l :0.0 %user

# Start in daemon mode. Valid values: yes | no

# Note that this can be overriden by the command line

# options "-d" and "-nodaemon"

daemon   yes

# Available sessions (first one is the default).

# The current chosen session name is replaced in the login_cmd

# above, so your login command can handle different sessions.

# see the xinitrc.sample file shipped with slim sources

sessions            openbox-session

# Executed when pressing F11 (requires imagemagick)

screenshot_cmd      import -window root /slim.png

# welcome message. Available variables: %host, %domain

welcome_msg         Welcome to %host

# Session message. Prepended to the session name when pressing F1

# session_msg         Session: 

# shutdown / reboot messages

shutdown_msg       The system is halting...

reboot_msg         The system is rebooting...

# default user, leave blank or remove this line

# for avoid pre-loading the username.

default_user        kevin_gentoo

# Focus the password field on start when default_user is set

# Set to "yes" to enable this feature

#focus_password      yes

# Automatically login the default user (without entering

# the password. Set to "yes" to enable this feature

#auto_login          no

# current theme, use comma separated list to specify a set to 

# randomly choose from

current_theme       gentoo_10_blue,gentoo_10_purple

# Lock file

lockfile            /var/run/slim.lock

# Log file

logfile             /var/log/slim.log
```

Et d'ailleurs, au passage, bien que j'aie mis "hidecursor false", je n'arrive pas à faire afficher le curseur de ma souris... Si vous savez d'où ça vient je suis preneur!

Edit : en fait c'est bon, après un reboot le curseur s'affiche.

----------

