web-dev-qa-db-fra.com

Comment ajouter une prise en charge linguistique sur CentOS 7 (sur Docker)?

J'essaie de définir les paramètres régionaux sur japonais, mais l'image CentOS sur docker n'inclut pas la prise en charge de la langue.

bash-4.2# yum groupinstall -y "Japanese Support"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
Warning: group Japanese Support does not exist.
Maybe run: yum groups mark install (see man yum)
No packages in any requested group available to install or update

J'ai vérifié grouplist par yum grouplist et yum grouplist hidden et n'inclut pas le support japonais.
Existe-t-il un moyen d'installer le support japonais?
Merci d'avance.

10
DIGITALSQUAD

J'ai eu le même problème avec une image docker RHEL 7.4. yum reinstall glibc-common par lui-même n'a pas résolu le problème. Il installait seulement l'anglais.

J'ai trouvé dans mon conteneur docker /etc/yum.conf contenait la ligne override_install_langs=en_US. Cela a causé yum reinstall glibc-common pour installer uniquement l'anglais.

Avec cette ligne mise en commentaire (ou modifiée à la valeur par défaut de tous), et réexécutant yum reinstall glibc-common J'ai pu utiliser d'autres langues

Environnement initial après l'exécution/l'attachement du docker

# locale -a
C
POSIX
en_US.utf8
# grep lang /etc/yum.conf
override_install_langs=en_US
# export LANG=fr_FR
# ls foo
ls: cannot access foo: No such file or directory

Ma tentative de réinstallation de glib-common avant de modifier /etc/yum.conf

# yum -y -q reinstall glibc-common
Failed to set locale, defaulting to C
# ls foo
ls: cannot access foo: No such file or directory
# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
#

Après avoir changé /etc/yum.conf pour commenter la ligne override_install_langs=en_US

# vi /etc/yum.conf
# grep lang /etc/yum.conf
#override_install_langs=en_US
# yum -y -q reinstall glibc-common
Failed to set locale, defaulting to C
# ls foo
ls: cannot access foo: Aucun fichier ou dossier de ce type
# locale -a | wc -l
789
11
William D. Irons

Vous pouvez définir les paramètres régionaux avec la commande localectl.

# localectl list-locales | grep ^ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

Sélectionnez les paramètres régionaux appropriés, puis définissez-les.

# localectl set-locale LANG=ja_JP.utf8

Notez que cela n'installe pas les méthodes de saisie ou changez la disposition du clavier , mais celles-ci ne s'appliquent pas vraiment à un conteneur.

1
Michael Hampton

Vous devez réinstaller le glibc-common package. Voici la preuve:

docker run -it --rm centos bash -c 'locale -a | wc -l && yum -y -q reinstall glibc-common && locale -a | wc -l'
53
789

Remarque: locale -a répertorie les paramètres régionaux installés et wc -l les compte, donc ces nombres sont le nombre de paramètres régionaux avant et après la réinstallation glibc-common.

1
Yajo

J'ai eu un problème similaire, car l'image CentOS est livrée sans module linguistique installé. J'ai installé glibc-langpack-en package pour avoir en support. Je suppose donc que vous avez besoin de glibc-langpack-ja.

yum install glibc-langpack-ja
0
Fabio Montefuscolo