Domyślnie Terminal ustawia regionalne zmienne środowiskowe, aby pasowały do aktualnie wybranego języka oraz formatów czasu / daty / liczb używanych przez Terminal, które są wybierane za pomocą
Preferencje systemowe> Język i tekst
(Tak nazywa się Lion. W starszych systemach dokładna nazwa panelu preferencji może się różnić.)
Tymczasowym rozwiązaniem jest przeciągnięcie języka angielskiego na górę listy języków, a następnie otwarcie terminalu, a następnie przeniesienie języka litewskiego z powrotem na górę. Tylko terminal będzie w języku angielskim. Jednak po wyjściu i ponownym uruchomieniu terminalu zostanie zresetowany do litewskiego.
Trwałe podejście polega na mówieniu Terminalowi, aby nie ustawiał zmiennych środowiskowych ustawień regionalnych, poprzez wyłączenie
Terminal> Preferencje> Ustawienia> [profil]> Zaawansowane> Ustaw zmienne środowiskowe locale podczas uruchamiania
Wtedy ustawienia narodowe będą domyślnie ustawione na „C” bez określonego języka, a większość programów będzie wtedy domyślnie ustawiona na angielski.
Zauważ, że wyłączenie tego oznacza, że niektóre programy nie będą wiedziały, jakiego terminala używa kodowanie znaków, i przyjmą, że jest to tylko ASCII lub ISO-Latin-1. Więc jeśli Terminal używa UTF-8 (domyślnie), programy te mogą, ale nie muszą, zachowywać się zgodnie z potrzebami.
Jeśli dotyczy to w większości przypadków wget
, zalecamy wykonanie kopii profilu ustawień domyślnych, wyłączenie ustawień regionalnych w profilu niestandardowym i korzystanie z tego profilu tylko podczas używania wget
, aby można było nadal korzystać z UTF-8 z pełnym wsparciem podczas korzystania z innych programów, przy użyciu ustawień domyślnych.
Jak wspomnieli inni, możesz również przesłonić początkowe ustawienia regionalne dostarczone przez Terminal w skrypcie uruchamiania powłoki. W przypadku zsh umieść go w ~ / .zshrc. W przypadku bash użyj ~ / .bashrc (a jeśli jeszcze go nie masz, utwórz plik ~ / .bash_profile, który działa ~ / .bashrc).
Zobacz x-man-page: // 1 / locale, aby uzyskać więcej informacji na temat każdej wartości środowiska locale.
Jednakże, jeśli miałbyś tylko unset LANG
ustawić lub ustawić na „C”, to normalnie dotyczyłoby to wszystkich twoich powłok i programów, podczas gdy przez większość czasu prawdopodobnie chcesz używać UTF-8 i ustawić, aby Terminal ustawiał zmienne ustawień regionalnych, aby pasowały, aby uzyskać najwyższy stopień współpracy, wierności i funkcjonalności.
Dlatego jeśli zamierzasz pójść tą drogą, sugeruję napisanie kodu w celu edycji, a nie zastąpienia wartości początkowych, aby zachować informacje o kodowaniu („UTF-8”) i po prostu wymusić język na angielski, zamiast ustawiać zmienne na „C”.
Na przykład działa to w Zsh i Bash:
# Replace Lithuanian with English
export LANG=${LANG/lt_LT/en_US}
Kiedy LANG="lt_LT.UTF-8"
to zmieni to na LANG="en_US.UTF-8"
. Nie mam wget
możliwości przetestowania tego, ale to powinno wystarczyć.
Zrobienie tego w ten sposób oznacza, że jeśli zmienisz preferencje kodowania znaków w Terminalu, nie zastąpisz tego w skrypcie uruchamiania powłoki.
wget
? A colocale
pokazuje i czy jest to to samo, czego oczekujesz od wyboru języka w okienku preferencji systemu Język i tekst ?