GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat/změnit národní prostředí na Debianu?

Řešení 1:

Upravit /etc/default/locale a nastavte obsah na:

LANG="nl_NL.UTF-8"

Můžete zkontrolovat, která národní prostředí jste aktuálně vygenerovali pomocí:

locale -a

Další můžete vygenerovat úpravou /etc/locale.gen a odkomentování řádků pro národní prostředí, která chcete povolit. Poté je můžete vygenerovat spuštěním příkazu:

locale-gen

Seznam podporovaných národních prostředí naleznete v /usr/share/i18n/SUPPORTED

Více informací je k dispozici na wiki Debianu.

Řešení 2:

Možná budete muset nainstalovat locales balík. Tím se vás zeptá, které lokality se mají vygenerovat. Pokud je již nainstalován, pak dpkg-reconfigure locales vám umožní vygenerovat více lokalit.

Řešení 3:

Odpovědi jsou zde neúplné jako většina ostatních. Po poskládání informací z několika míst se mi osvědčilo (1) ujistit se, že požadované národní prostředí je dostupné (vygenerovat jej, pokud nebylo), a poté (2) nastavit proměnné prostředí související s národním prostředím na požadované národní prostředí.

V mém případě jsem potřeboval en_US.UTF-8 programově (tj. neinteraktivně) nainstalován v kontejneru dockeru. ff splnil to, co jsem potřeboval, ale měl by fungovat dobře v interaktivním prostředí.

apt-get update

# Install locales package
apt-get install -y locales

# Uncomment en_US.UTF-8 for inclusion in generation
sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen

# Generate locale
locale-gen

# Export env vars
echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc
echo "export LANG=en_US.UTF-8" >> ~/.bashrc
echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc

Na stejném shellu budete muset udělat source ~/.bashrc aby se env vars projevily okamžitě. Správnou konfiguraci národního prostředí můžete zkontrolovat vyvoláním locale .

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

Na toto téma bylo mnoho otázek a odpovědí, ale jen několik z nich bylo skutečně užitečné. Kredit, na který je kredit splatný:

  • https://unix.stackexchange.com/a/247019/21289
  • https://perlgeek.de/en/article/set-up-a-clean-utf8-environment

Řešení 4:

Žádná z těchto odpovědí pro mě nefungovala v kontejneru LXC nainstalovaném s:

lxc-create -n sse-master -t download -n sse-master -- \
    -d debian -r jessie --arch i386

Vždy jsem dostal následující výstup z locale-gen , tj. negeneruje žádná národní prostředí (žádná není uvedena):

$ sudo locale-gen
Generating locales (this might take a while)...
Generation complete.

Spuštěno dpkg-reconfigure locales a výběr některých lokalit neaktualizoval /etc/locale.gen jak jsem očekával.

Když jsem však tento soubor upravil ručně a odkomentoval jsem požadovaná národní prostředí, pak locale-gen začal správně fungovat:

$ sudo locale-gen
Generating locales (this might take a while)...
  en_GB.UTF-8... done
  en_US.UTF-8... done
Generation complete.

Také jsem byl schopen generovat národní prostředí ručně takto:

sudo localedef -i en_US -f UTF-8 en_US.UTF-8
sudo localedef -i en_GB -f UTF-8 en_GB.UTF-8

Ale toto nebylo trvalé řešení:zjistil jsem, že běží locale-gen bez --keep-existing možnost smaže všechna taková ručně vygenerovaná národní prostředí, tj. každé národní prostředí neuvedené (a bez komentáře) v /etc/locale.gen .

Řešení 5:

Pro webovou aplikaci může být lepší použít setlocale () uvnitř program, spíše než vyžadovat, aby výchozí národní prostředí systému bylo nastaveno vhodně mimo. Tím méně volných konců.


Linux
  1. Jak změnit název hostitele v Debianu

  2. Jak nainstalovat MariaDB na Debian 11

  3. Jak nainstalovat MySQL na Debian 11

  1. Jak nainstalovat R na Debian 9

  2. Jak nainstalovat R na Debian 10

  3. Jak nainstalovat Debian 11

  1. Jak nainstalovat Go na Debian 10

  2. Jak nainstalovat ifconfig na Debian

  3. Jak nainstalovat LEMP v Debianu 7