Comment puis-je ajouter des paramètres régionaux sur le serveur Ubuntu?

178

J'ai actuellement ces lieux:

locale -a

C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

Comment puis-je installer les ru_RUparamètres régionaux sur mon serveur?

Lumière argentée
la source

Réponses:

254
  1. Vérifiez quels paramètres régionaux sont pris en charge:

    locale -a
    
  2. Ajoutez les paramètres régionaux que vous souhaitez (par exemple ru):

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. Exécutez cette commande de mise à jour:

    sudo update-locale 
    
PocketSam
la source
26
... puis courirsudo update-locale
Justin Force
3
Que faites-vous si ce n'est pas pris en charge?
Kimble
4
Pourriez-vous s'il vous plaît développer sur pourquoi sont les deux ru_RUet ru_RU.UTF-8nécessaires? Je ne sais pas grand chose des lieux.
Sopalajo de Arrierez
15
Si vous travaillez avec php5-fpm, vous aurez besoinsudo service php5-fpm restart
Stalinko
3
C'était exactement ce dont j'avais besoin, mais je devais redémarrer Apache pour le faire fonctionner ... merci!
Jabari
53

Je choisirais une autre voie, celle de l’OMI qui convient mieux au style Ubuntu. Utilisez les forfaits fournis . Il existe des packages pour chaque paramètre régional, et ils effectuent tout le travail à votre place ... inutile de modifier les fichiers / var, ce qui, j’ai toujours pensé, n’était pas censé être modifié manuellement.

sudo apt-get install language-pack-XX

où XX représente le code de langue. L'installation d'une langue installera également toutes les variantes spécifiques à un pays (par exemple, installer language-pack-it installera it_CH.utf8 et it_IT.utf8, l'installation pour NL installera nl_AW, nl_AW.utf8, nl_BE.utf8 et nl_NL.utf8. )

Palantir
la source
Je pense que c’est la meilleure façon de procéder, et la plus «Ubuntu»
Luke Madhanga
4
Mais générer des paramètres régionaux fournit des informations telles que le format de date localisé, le séparateur décimal, les jeux de caractères, etc. Les modules de langue fournissent également des traductions, ce qui n’est pas nécessairement l’intention.
Oskar Berggren le
1
D'accord avec Oskar. Encore plus fort si vous considérez que cette installation est destinée à un serveur - la plupart des interfaces seront en anglais de toute façon.
igorsantos07
2
J'avais peur que cela modifie également les paramètres régionaux actuels, mais non. Tout va bien. On dirait que la meilleure approche imo. Je n'ai pas particulièrement besoin de "traductions ou d'autres choses", mais si j'utilise spécifiquement un paramètre régional pour une raison quelconque, je m'attends à ce qu'il soit complet.
Balmipour
43
  1. Vérifiez quels sont les paramètres régionaux pris en charge:

    less /usr/share/i18n/SUPPORTED
    
  2. Ajouter des paramètres régionaux à la liste des fichiers générés

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. Regénérer la liste (il invoquera locale-gen ...)

     sudo dpkg-reconfigure locales
    
utilisateur123231
la source
4
J'ai dû ajouter la deuxième colonne: echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local(UTF-8 apparaît deux fois) sous Ubuntu 15.04. Sinon, ça marche.
jfs
16

J'ai trouvé locale-gen pour être votre ami. comme dans (en ajoutant hébreu utf8 par exemple):

root@world:~# locale-gen he_IL.UTF-8

vous pouvez même le ressasser comme ceci:

root@world:~# dpkg-reconfigure locales

et vérifiez que vous avez bien fait:

root@world:~# locale -a

J'ai trouvé cette solution plus simple que d'ajouter des éléments à des fichiers texte, même si c'est ce qu'elle fait.

boazr
la source
6
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local

Je reçois le message suivant au point 3: "Erreur: entrée incorrecte" ru_RU.UTF8 ""

Ce travail pour moi:

echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
utilisateur123
la source
Cela a fonctionné pour moi. Dans mon cas, j'ai eu cette mauvaise erreur d'entrée pour les paramètres régionaux en_GB. J'ai mis à jour mon /var/lib/locales/supported.d/mintlocalefichier pour qu'il contienne les lignes en_GB UTF-8et en_GB.UTF-8 UTF-8(le fichier UTF-8 supplémentaire était manquant).
Samir Aguiar
4

Utilisez les packs de langue Ubuntu. Toutes les langues prises en charge sont disponibles dans les référentiels par défaut:

apt-cache search language-pack

Un exemple complet de commutation de paramètres régionaux dans la version Ubuntu (serveur):

jani@example:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Tous les paramètres régionaux disponibles (c’est-à-dire déjà installés) peuvent être répertoriés avec:

locale -a

Ma localisation actuelle est en_IE:

jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov  1 15:36:51 UTC 2014
jani@example:~$

Parce que je n'avais pas de langue locale, je dois installer le pack de langue russe:

jani@example:~$ sudo apt-get -y install language-pack-ru
[..]
Generating locales...
  ru_RU.UTF-8... done
  ru_UA.UTF-8... done
Generation complete.
jani@example:~$ 

Maintenant, les paramètres régionaux sont disponibles. Les paramètres régionaux par défaut du système sont définis en modifiant /etc/default/locale:

jani@example:~$ sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$

Reconnectez-vous et vérifiez vos nouveaux paramètres régionaux:

jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб.  1 15:43:45 UTC 2014
jani@example:~$ 
utilisateur272735
la source
2

Modifiez /etc/locale.gen, supprimez les commentaires ou ajoutez les paramètres régionaux que vous souhaitez générer. Alors courez sudo locale-gen.

Vous pouvez vérifier que les paramètres régionaux sont ajoutés avec locale -a, ce qui affichera tous les paramètres régionaux.

hunse
la source
oh, mon locale-gen a créé une multitude de locales, en ignorant le fichier locale.gen. Utilisez donc ce conseil avec prudence.
Dzenly
0
  1. Vérifiez quels paramètres régionaux sont déjà pris en charge dans votre distribution. Ouvrez ou catle fichier /usr/share/i18n/SUPPORTEDet copiez les paramètres régionaux à ajouter.
  2. sur le terminal entrer sudo locale-gen locale_name.

    Par exemple sudo locale-gen de_DE.iso885915@euro

  3. entrer sudo update-locale

  4. Vérifiez si les paramètres régionaux sont installés avec locale -a

BugShotGG
la source
0

Je ne peux pas commenter, je dois donc ajouter ceci comme réponse.

J'avais besoin d'ajouter un type de locale "spécial" sr_RS.utf8@latin dans Ubuntu.

Commander:

sudo locale-gen sr_RS.utf8@latin

n'ajoute pas le @latin aux paramètres régionaux disponibles. Pour réussir, la commande devrait ressembler à ceci:

sudo locale-gen [email protected]

La commande:

sudo locale -a

montre maintenant:

sr_RS
sr_RS@latin
sr_RS.utf8
sr_RS.utf8@latin

Faites attention à la différence de syntaxe entre le résultat de locale -aet la façon dont il est ajouté par les locale-gencommandes.

Milan Oparnica
la source
-2

J'ai utilisé les mêmes méthodes pour appliquer le système de paramètres régionaux sans avoir à redémarrer ou à vous déconnecter.

Tout d’abord, téléchargez le pack de langue:

sudo apt-get install language-pack-ru-base

Ensuite, vérifiez quelles versions sont supportées:

less /usr/share/i18n/SUPPORTED | grep ru_RU

Maintenant, appliquez le résultat (utilisez presque toujours la version UTF-8 pour n’importe quelle langue!):

echo 'ru_RU.UTF-8 UTF-8' | sudo tee /var/lib/locales/supported.d/local
sudo dpkg-reconfigure locales

Enfin, mettez à jour votre fichier par défaut, sourcez-le, puis vous avez terminé:

echo 'LANG=ru_RU.UTF-8' | sudo tee /etc/default/locale

appliquer les modifications au système:

. /etc/default/locale
LANGUAGE=ru_RU.UTF-8

et vérifiez vos résultats:

locale
mchid
la source
Remarque: Si vous utilisez régulièrement Ubuntu et non serveur Ubuntu, les modifications ne seront pas reporter au - delà de la console (si vous décidez d'ouvrir un nouvel onglet ou fermer le terminal) jusqu'à ce que la prochaine fois que vous vous connectez. Cependant, en utilisant le serveur Ubuntu, vous devez généralement vous connecter pour ouvrir une nouvelle console de toute façon.
mardi
Cette question est tagget avec le serveur . Et qui et pourquoi avoir voté contre celui-ci, veuillez expliquer.
Nikos Alexandris