Команда date в bash, результаты отображаются на японском языке

У меня та же проблема на двух моих Linux-блоках (xubuntu, debian). Когда я использую команду "дата" в bash, результаты отображаются на японском языке.

2014 年 9 月 2 火曜日 火曜日 02:48:48 UTC

Я нахожусь в Японии и под японским часовым поясом, но я бы хотел, чтобы моя рабочая среда, включая вывод команды date, была на английском языке.

Как я могу это сделать?

1 ответ

Решение

Это определяется не часовым поясом, а скорее настройками локали.

Я не уверен, есть ли в Xfce пользовательский интерфейс для определения локали системы достаточно подробно. Но на низком уровне есть несколько переменных среды, которые вы можете увидеть, набрав locale, Основным является $LANG, который устанавливает общую локаль системы, а для конкретных областей существуют отдельные $LC_* переменные - например $LC_MESSAGES для переводов, используемых программами, и $LC_TIME для формата даты / времени.

Если вы просто хотите, чтобы все было на английском, тогда конфигурация проста - выберите английский язык в настройках Xfce. (Обычно это "Соединенные Штаты", иначе говоря, en_US.UTF-8, хотя я сам использую en_DK.UTF-8 для LC_TIME, поскольку он дает даты ISO 8601). Это никак не повлияет на часовые пояса.

Если вам нужны определенные настройки для английского и другие для японского, вам, возможно, придется вручную "экспортировать" определенные переменные в ~/.profile или же /etc/default/locale или... куда бы Ubuntu это не поместил. Например:

LANG="en_US.utf-8"
LC_COLLATE="lt_LT.utf-8"
LC_TIME="en_DK.utf-8"

~/.profile, с помощью export LANG=... является необходимым.)


Еще одна вещь, чтобы отметить, что если вы переключаетесь между двумя *.utf-8 локали, это также не повлияет на наборы символов - любая локаль UTF-8 по-прежнему использует Unicode, поэтому японский текст все равно будет работать с en_US.utf-8, (Не путать со старым en_US который использует устаревший ISO 8859.)

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