Язык вывода команды переключения с родного языка на английский

64

Как я могу переключить язык вывода команд с моего родного языка на английский, поэтому я могу опубликовать свой вопрос Ask Ubuntu с выходом команды на английском языке (сообщения об ошибках)?

    
задан BuZZ-dEE 05.03.2013 в 14:36
источник

6 ответов

52

export LC_ALL=C достаточно. Все последующие выходные команды будут на английском языке.

Дополнительная информация: Что делает «LC_ALL = C»?

Если вы хотите вернуться на родной язык, отмените переменную LC_ALL :

unset LC_ALL
    
ответ дан Eric Carvalho 06.03.2013 в 14:54
источник
11

Функция bash для терминала

Вот моя функция bash для переключения между локалями DE и EN.

Вы можете распространять этот код на предпочитаемых вами языках. Чтобы использовать это, поместите его в свой ~/.bashrc (или ~/.bash_profile ) -

Позвоните в _configure_locale EN , чтобы перейти на английский.

function _configure_locale() { # [profile]
    local profile=${1:-EN}
    case ${profile} in
      DE|DE_DE|de_DE)
          LC_ALL="de_DE.UTF-8"
          LANG="de_DE.UTF-8"
          LANGUAGE="de_DE:de:en_US:en"
          ;;
      EN|EN_US|en|en_US)
          LC_ALL="en_US.UTF-8"
          LANG="en_US.UTF-8"
          LANGUAGE="en_US:en"
          ;;
      *)
          echo "ALERT" "${FUNCNAME}: unknown profile '${profile}'"
          ;;
      esac
      LC_PAPER="de_DE.UTF-8"; # independent from locale
      LESSCHARSET="utf-8";    # independent from locale
      MM_CHARSET="utf-8"      # independent from locale
      echo "locale settings" "${LANG}";
      export LC_ALL LANG LANGUAGE LC_PAPER LESSCHARSET MM_CHARSET
}

В целом я предлагаю изменить все 3 переменных окружения LC_ALL , LANG , LANGUAGE , чтобы избежать неправильного использования некоторых программ.

Адаптация к вашему языку

Расширение кода на родной язык довольно прост. Вы можете найти нужные значения, вызвав следующую команду

env |egrep -e 'LC_ALL|LANG'
    
ответ дан H.-Dirk Schmitt 05.03.2013 в 14:45
6

Откройте терминал Ctrl + Alt + T и введите:

LANG=en_US.UTF-8 bash

или :

LC_ALL=C bash

Теперь терминал выводится на английский язык. Вы можете проверить его с помощью locale .

Для этого можно сделать команду с постоянным alias . Откройте файл .bashrc с вашим предпочтительным редактором и введите следующий код:

alias basheng='LANG=en_US.UTF-8 bash'

или :

alias basheng='LC_ALL=C bash'

Перезапустите оболочку Bash. Теперь у вас есть команда basheng . Введите его в Bash, чтобы получить английскую оболочку Bash. Чтобы оставить английскую оболочку типа exit .

Источник:

ответ дан BuZZ-dEE 05.03.2013 в 14:36
5

Это настраивается с помощью настроек локали , которые могут быть установлены через переменную среды. Существует четыре уровня переменных; первый из которых имеет приоритет:

  • LANGUAGE - не использовать он редко используется и может вызывать ошибки. К сожалению, некоторые версии Ubuntu установили его, поэтому вам может потребоваться его отменить.
  • LC_ALL - переопределяет специфические для конкретной категории настройки, предназначенные в первую очередь для использования программами, которые хотят работать в локали по умолчанию. Не предназначено для использования в качестве глобальных настроек.
  • Переменные для конкретной категории, начинающиеся с LC_ : LC_CTYPE , LC_MESSAGES , LC_TIME , ....
  • LANG - устанавливает языковой стандарт по умолчанию для всех категорий, предназначенный для использования в глобальных пользовательских настройках.

«Обычный» язык, со всеми сообщениями, непереведенными, стандартными форматами времени и номера, ASCII в качестве набора символов и т. д. называется C . Эта локаль присутствует в каждой системе.

Таким образом, чтобы запустить программу с сообщениями на английском языке, запустите

unset LANGUAGE; LC_MESSAGES=C myprogram --option

или

unset LANGUAGE
export LC_MESSAGES=C
myprogram --option
myotherprogram

Чтобы запустить программу с отключенной локализацией, запустите

env -u LANGUAGE LC_ALL=C myprogram --option

, но будьте осторожны, что это переключает кодировку символов в ASCII (так что не Юникод, латинский-1 и т. д.).

См. Что я должен установить для своего локали и каковы последствия этого? для более подробного обзора локалей.

    
ответ дан Gilles 02.11.2014 в 16:16
0

Самый простой способ - открыть терминал, нажав Alt + F2 и выполнить следующую команду:

env LANGUAGE=en gnome-terminal
    
ответ дан Gunnar Hjalmarsson 01.11.2014 в 00:53
-1

в вашем ~/.bashrc

unset LC_ALL
export LC_MESSAGES=C

затем

source ~/.bashrc

Проверьте

$ locale
LANG=pl_PL.utf8
LANGUAGE=
LC_CTYPE="pl_PL.utf8"
LC_NUMERIC="pl_PL.utf8"
LC_TIME="pl_PL.utf8"
LC_COLLATE="pl_PL.utf8"
LC_MONETARY="pl_PL.utf8"
LC_MESSAGES=C
LC_PAPER="pl_PL.utf8"
LC_NAME="pl_PL.utf8"
LC_ADDRESS="pl_PL.utf8"
LC_TELEPHONE="pl_PL.utf8"
LC_MEASUREMENT="pl_PL.utf8"
LC_IDENTIFICATION="pl_PL.utf8"
LC_ALL=

Почему сначала отключить?

  

LC_ALL Переопределяет отдельные настройки LC_ *: если установлен LC_ALL, ни один из   ниже действует эффект.

Ссылка

    
ответ дан rofrol 29.08.2016 в 15:27