Как я могу изменить язык, но только для терминала?

Как мне изменить язык терминала на английский?

Я знаком с использованием vi.

Если терминальный язык контролируется etc/default/locale, что я должен там изменить?

LANG="el_GR.UTF-8"
LANGUAGE="el:en"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_IDENTIFICATION="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"
4
задан 4 March 2016 в 04:11

2 ответа

[Тысяча сто тридцать одна] Тл; dr

, поскольку вы хотите установить все на английский (при условии, что программы, использующие gettext из GNU, должны использовать греческий язык как запасной):

export LANG=en_US.UTF-8
export LANGUAGE=en:el

Или, если уже определены некоторые LC_* переменные в среде вашей оболочки, и вы хотите переопределить их:

export LC_ALL=en_US.UTF-8
export LANGUAGE=en:el

Чтобы настройки остались неизменными, добавьте export в конце ~/.bashrc.


Изменение /etc/default/locale повлияет на локаль всей системы и, следовательно, на локаль всех пользователей, которые не задали конкретную локаль, поэтому вам не следует менять ее, если вы хотите изменить только язык команды работает в терминале / консоли вашего пользователя.

Язык команд, выполняемых в терминале / консоли вашего пользователя, можно изменить, экспортировав следующие переменные среды:

LANG
LANGUAGE
LC_ADDRESS
LC_ALL
LC_COLLATE
LC_CTYPE
LC_IDENTIFICATION
LC_MEASUREMENT
LC_MESSAGES
LC_MONETARY
LC_NAME
LC_NUMERIC
LC_PAPER
LC_TELEPHONE
LC_TIME

LANG определяет значение, которое будет использоваться для каждого неявно определенного [ 1113] переменная; поэтому, если ни одна из переменных LC_* в настоящее время не определена в среде вашей оболочки (это поведение по умолчанию, если env | grep '^LC_' ничего не выводит, это означает, что это так), и вы хотите установить значение всех категорий в en_US.UTF-8, просто экспортируйте LANG:

export LANG=en_US.UTF-8

В противном случае вам придется либо переопределить каждую ранее определенную переменную LC_*, либо (альтернативно, проще) просто экспортировать LC_ALL, который переопределяет любая ранее определенная переменная LC_*:

export LC_ALL=en_US.UTF-8

Однако программы, использующие gettext из GNU, будут полагаться на LANGUAGE, а не на LANG / LC_ALL (если LANG / LC_ALL не установлено на [ 1126]) и будет устанавливать язык в зависимости от его содержания. LANGUAGE должен определить список языков, разделенных двоеточиями. Если перевод для первого из перечисленных языков, разделенных двоеточиями, недоступен, программа попытается использовать второй из перечисленных языков, разделенных двоеточиями, и т. Д .; например, чтобы установить английский в качестве предпочтительного языка и греческий в качестве резервного языка:

export LANGUAGE=en:el

Так что в вашем случае, поскольку вы хотите установить все на английский (при условии, что программы, использующие GNU gettext, должны использовать греческий как резервный язык):

export LANG=en_US.UTF-8
export LANGUAGE=en:el

Или, если некоторые переменные LC_* уже определены в среде вашей оболочки, и вы хотите переопределить их:

export LC_ALL=en_US.UTF-8
export LANGUAGE=en:el

Чтобы настройки остались прежними, добавить export с в конце ~/.bashrc. ​​

0
ответ дан 4 March 2016 в 04:11

Вопрос был: "Как я изменяю язык терминала английскому языку?".

Ответ:

Поместить

LANG=C

в .bashrc.

После перезагрузки это работает на терминалы. Не влияет на GUI.

Это все.

0
ответ дан 1 December 2019 в 09:33

Другие вопросы по тегам:

Похожие вопросы: