Nevšiml jsem si, že by se někdo zajímal o nastavení systémových proměnných ovlivňujících volbu jazyka spouštěné aplikace, což je klíčové. Nastavení lze z terminálu zjistit příkazem:
locale
Proměnná LANG je základ pro volbu jazyka aplikace, LANGUAGE pak umožňuje určit další preferované jazyky, pokud ten primární nebude k dispozici. A pozor, aplikace založené na gettext (většina) dávají LANGUAGE přednost, takže pokud začíná jiným jazykem, než LANG, uplatní se primárně tento.
Výchozí hodnoty jsou v souboru:
/etc/default/locale
O použitém jazyku, v jakém se aplikace spustí, tedy primárně nerozhodují nějaké doinstalované jazykové balíčky, ale nastavení prostředí. V linuxových aplikacích (v drtivé většině případů) jsou textové řetězce lokalizovány za běhu, tedy program obsahuje původní textové řetězce "obalené" funkcí (gettext), která je za běhu nahrazuje požadovanou jazykovou variantou (pokud existuje / je nainstalována (v /usr/share/locale/<jazyk>/LC_MESSAGES/)). Pokud lokalizační soubory nejsou k mání, není jinak určeno, jaký jazyk se má použít (není třeba nastavena proměnná LANG, ani LANGUAGE), zobrazí se řetězce, které se nacházejí přímo v kódu, což je většinou angličtina, ale může to být i třeba ruština, pokud to psal rus v rodném jazyce. Většina menších aplikací má všechny podporované lokalizace v jednom balíku, není potřeba instalovat je zvlášť, rozsáhlejší aplikace, kde by to znamenalo velké plýtvání místem, pak dělají ty jazykové balíky odděleně.
Pokud tedy chcete spustit aplikaci v jiném jazyce, než primárním, stačí ji spustit z terminálu, přičemž jí jednorázově nastavíte příslušnou proměnnou. A protože LANGUAGE má přednost, tak pokud je v systému již definována, může to vypadat například takto:
LANGUAGE="cz:en" hardinfo
Tedy hardinfo by se v tomto případě mělo spustit česky, kdyby nebyla čeština, tak anglicky. Pokud by nebyla ani jedna varianta, spustí se v jazyce, ve kterém je aplikace napsána nativně. Konkrétně hardinfo je naprogramováno v angličtině a pokud si systém řekne o ruštinu, načte se lokalizační soubor s ruštinou a texty v aplikaci se z něj nahrazují.
To jen abyste pochopili, jak to funguje a jak hledat chyby tohoto typu.