Вот моя функция 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
}
В целом я предлагаю для изменения всех трех переменных окружения LC_ALL, LANG, LANGUAGE, чтобы избежать неправильного использования некоторых программ.
Расширение кода на ваш родной язык довольно просто. Вы можете найти нужные значения, вызвав следующую команду
env |egrep -e 'LC_ALL|LANG'