Néhányunkban biztosan felmerült már az a kérdés, hogyha a terminál üzeneteket a saját nyelvünkön, például magyarul kapjuk, akkor jóval kevesebb keresési találatot kapunk a neten a megoldások tekintetében, ... mintha azokra angol nyelven keresnénk. Ugye, az utóbbi az elterjedtebb?
Nyitsz egy terminált ...
-- angol nyelv
export LC_MESSAGES=C
-- vissza az alapértelmezett nyelvre
(ami a rendszereden be van állítva)
unset LC_MESSAGES
És máris angol a kimenet.
A változtatás nincs sehol fixálva, egy terminál ablak nyitásának idejéig szól, azaz új ablak nyitásakor már az alapértelmezett nyelven köszön vissza a terminál.
Néhány érdekesség
-- a
locale
parancs mutatja meg, hogy melyek a beállításaid.
(még nem adtam ki az 'unset LC_MESSAGES' parancsot)
LANG=hu_HU.UTF-8 LANGUAGE= LC_CTYPE="hu_HU.UTF-8" LC_NUMERIC="hu_HU.UTF-8" LC_TIME="hu_HU.UTF-8" LC_COLLATE="hu_HU.UTF-8" LC_MONETARY="hu_HU.UTF-8" LC_MESSAGES=C LC_PAPER="hu_HU.UTF-8" LC_NAME="hu_HU.UTF-8" LC_ADDRESS="hu_HU.UTF-8" LC_TELEPHONE="hu_HU.UTF-8" LC_MEASUREMENT="hu_HU.UTF-8" LC_IDENTIFICATION="hu_HU.UTF-8" LC_ALL=
-- a
cat /usr/share/i18n/SUPPORTED
parancs mutatja meg a rendszereden elérhető (támogatott) nyelveket. Nem mutatom, mert hosszú. De innen vehetsz nyelvi mintákat az export parancsba. Legyen benne az UTF-8, vagyis a Unicode szövegkódolás.
-- a
locale -a
parancs pedig azok fajtáit.
C C.UTF-8 POSIX hu_HU.utf8
Egy magyar nyelvű rendszer amúgy saccperkábé így néz ki alapértelmezetten:
locale LANG=hu_HU.UTF-8 LANGUAGE= LC_CTYPE="hu_HU.UTF-8" LC_NUMERIC="hu_HU.UTF-8" LC_TIME="hu_HU.UTF-8" LC_COLLATE="hu_HU.UTF-8" LC_MONETARY="hu_HU.UTF-8" LC_MESSAGES="hu_HU.UTF-8" LC_PAPER="hu_HU.UTF-8" LC_NAME="hu_HU.UTF-8" LC_ADDRESS="hu_HU.UTF-8" LC_TELEPHONE="hu_HU.UTF-8" LC_MEASUREMENT="hu_HU.UTF-8" LC_IDENTIFICATION="hu_HU.UTF-8" LC_ALL=
Más beállításokat is meg tudsz változtatni az 'export' (és az 'unset') paranccsal.
Némelyik néha nem úgy működik, ahogy elképzeled, de az alábbi oldalak eligazítanak.
Források:
https://askubuntu.com/questions/264283/switch-command-output-language-from-native-language-to-english/264709#264709
(https://unix.stackexchange.com/q/87745/21278)
https://unix.stackexchange.com/questions/87745/what-does-lc-all-c-do
https://stackoverflow.com/questions/5137726/creating-permanent-executable-aliases
https://help.ubuntu.com/community/Locale
https://www.shellhacks.com/linux-define-locale-language-settings/
https://superuser.com/questions/1108090/how-do-i-change-the-language-of-the-linux-subsystem-in-windows-10-wsl/1177012
https://wiki.archlinux.org/index.php/locale
Enjoy
Hozzászólások
Kényelmesre véve...
Beküldte Salabakter -
Értékelés:
Köszönet a témáért, használni fogom. Viszont általában nincs mindig időm / kedvem keresgélni az elmentett segéd-anyagokban a megfelelő parancsokat, és nem biztos, hogy egy probléma kellős közepén pont eszembe jut a parancs pontos szintaxisa, stb. Ezért én mint alias-okként betettem ezeket a parancsokat ~/.bashrc fájlokba, az alábbi sorok beillesztésével (pl. a többi alias alá, vagy ha nincs ilyen akkor a fájl végére).
alias Ang="export LC_MESSAGES=C && locale | grep "LC_MESSAGES""
alias Eng="export LC_MESSAGES=C && locale | grep "LC_MESSAGES""
alias Hun="unset LC_MESSAGES && locale | grep "LC_MESSAGES""
(Figyelem, soronként 4 db, azaz 2 pár idézőjelet tartalmaz, ebből a sor végén kettő van. Ha jó a szemed, úgyis észrevetted, de inkább szólok, hogy biztosan működjön nálad is a dolog. Az első és az utolsó idézőjel közrezárja az egyenlőségjel utáni utasításokat, míg a másik két idézőjel a grep parancs utáni LC_MESSAGES előtt és után van közvetlenül.)
A fájl mentése után ha nyitunk egy új terminált (a ~/.bash_aliases fájlban levők végrehajtása végett), akkor már tudni fogja az angolra váltást az Eng vagy akár az Ang beírása után is, illetve a Hun rövidítésre pedig visszavált magyarra (már ha az eredeti magyar volt az angolra változtatás előtt). Mindhárom parancs után ki is írja egy üzenetben a locale parancs LC_MESSAGE értékét, hogy biztosak lehessünk a terminál-üzenetek nyelvében (és ne kelljen a locale parancs hosszú kimenetében kikeresve ellenőrizni azt).
Látható, hogy az első parancsnak két alias-t is adtam, mert nem biztos, hogy az adott pillanatban eszembe jut, hogy az angol nyelvre váltás alias-át hogyan definiáltam, így mind a magyar, mind az angol név rövidített változatára megadtam a parancsot. (Természetesen ha valakinek jobban tetszik, akkor akár az országjelzést is megadhatja, pl. GB vagy US és HU, vagy írhatja kisbetűkkel is, pl. ang vagy/és eng, vagy esetleg gb / us és hu . Viszont kezdőknek megjegyezném, hogy a Linux/Unix logikának megfelelően fontos a kis és nagybetű azonosság az alias nevének megadásakor, mert különben nem fogja végrehajtani az alias-t. Tehát ha Eng-nek definiáltam az angol üzenetre váltó parancsot, akkor az eng beírása nem fogja futtatni a megadott parancsot.)
Kényelmesre véve...
Beküldte kimarite -
Értékelés:
Nem hosszú a másik módszer sem. Az általad ismertetett hátránya, hogy ... 'elfelejted'. ;)
A legkényelmesebb ... egy bim-bam parancsikon.