Snažím se spustit aplikaci v jiném jazyce, než je moje aktuální prostředí. Abych byl jednoduchý, chtěl jsem změnit jazyk ls
.
Tady je to, co jsem všude četl (související otázky viz níže):nastavte LANG
do jednoho z podporovaných národních prostředí, např.:
LANG=nl_NL.UTF-8 ls /nonexistent
aby zobrazoval holandský (NL) výstup.
Stále však dostávám anglický výstup:
$ LANG=nl_NL.UTF-8 ls -al /nonexistent
ls: cannot access /nonexistent: No such file or directory
Moje aktuální prostředí:
$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
Pro jistotu jsem zkontroloval:
-
Je podporováno národní prostředí:
$ grep nl_NL /usr/share/i18n/SUPPORTED nl_NL.UTF-8 UTF-8 nl_NL ISO-8859-1 [email protected] ISO-8859-15
-
Vygeneruje se národní prostředí:
sudo locale-gen nl_NL.UTF-8
a
sudo dpkg-reconfigure locales
také ukazuje, že je vygenerován. -
Nainstaloval se holandský jazykový balíček (již nainstalován):
sudo apt-get install language-pack-nl
Co jsem ještě zkusil?
- Pomocí
export
pro nastavení obouLANG
aLANGUAGE
místo předřazení příkazu. - Nastavení také
LC_ALL
.
Je ironií, že některé (pouze některé!) GUI aplikace jsou ve skutečnosti v holandštině, ale vůbec jsem to nenakonfiguroval!
Jsem na Kubuntu 12.04(.2), pokud na tom záleží.
Podobné otázky (bez úspěchu):
- Je možné dočasně změnit jazyk uživatelského rozhraní?
- Jak přepsat národní nastavení systému jedním příkazem?
- Dočasně změnit jazyk zpráv/varování/chyb terminálu (prokázalo se, že to funguje, ale mně to nefunguje)
- Jak přidám národní prostředí na server ubuntu?
Co je v mém systému špatně? Kde to dále ladit?
Přijatá odpověď:
Protože LANGUAGE, který má přednost před LANG, je nastaven a nezměněn.
$ LANGUAGE=nl ls /nonexistent
ls: kan geen toegang krijgen tot /nonexistent: Bestand of map bestaat niet
Více informací je v dokumentaci GNU gettext:
GNU gettext dává pro účely zpracování zpráv přednost LANGUAGE před LC_ALL a LANG, ale stále musíte mít LANG (nebo LC_ALL) nastaven na primární jazyk; to vyžadují ostatní části systémových knihoven.