Я только что установил openSUSE Leap 42.2. Я борюсь с языковыми настройками.
Я хочу, чтобы компьютер говорил со мной по-английски, но я хочу, чтобы мои форматы были шведскими, поэтому я изменил настройки на смесь шведского и английского языков.
В настройках Ubuntu / etc / default / locale
обычно получается то, что мне нравится:
LANG=en_US.UTF-8
LC_CTYPE=sv_SE.UTF-8
LC_NUMERIC=sv_SE.UTF-8
LC_TIME=sv_SE.UTF-8
LC_COLLATE=sv_SE.UTF-8
LC_MONETARY=sv_SE.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=sv_SE.UTF-8
LC_NAME=sv_SE.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
То же самое не кажется правильным способом сделать это в openSUSE.
Вместо этого я изменил sv_SE на en_US в паре файлов в моей домашней папке.
~/.config/plasma-locale-settings.sh
~/.config/plasma-localerc
~/.i18n
~/.profile
После первой попытки установить язык с помощью инструментов графического интерфейса:
Теперь locale
дает то, что я ожидал, и, как показано на рисунках, большинство диалогов говорит по-английски, но zypper, похоже, не заботится:
user@computer:~> locale
LANG=en_US.UTF-8
LC_CTYPE=sv_SE.UTF-8
LC_NUMERIC=sv_SE.UTF-8
LC_TIME=sv_SE.UTF-8
LC_COLLATE=sv_SE.UTF-8
LC_MONETARY=sv_SE.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=sv_SE.UTF-8
LC_NAME=sv_SE.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
user@computer:~> zypper search | head -3
Läser in förrådsdata...
Läser installerade paket...
Как я могу убедить zypper говорить со мной по-английски?
Попытка обойти проблему с помощью en_DK
вместо смеси en_US
и sv_SE
не очень успешна:
Даже с каждым набором LC_variable для en_US система настаивает на использовании шведского языка, поэтому должно быть что-то еще, влияющее на показанный язык:
user@computer:~> locale | grep sv_SE
LC_CTYPE=sv_SE.UTF-8
LC_NUMERIC=sv_SE.UTF-8
LC_TIME=sv_SE.UTF-8
LC_COLLATE=sv_SE.UTF-8
LC_MONETARY=sv_SE.UTF-8
LC_PAPER=sv_SE.UTF-8
LC_NAME=sv_SE.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.UTF-8
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_CTYPE
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_NUMERIC
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_TIME
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_COLLATE
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_MONETARY
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_PAPER
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_NAME
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_ADDRESS
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_TELEPHONE
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
LC_MEASUREMENT
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> NEXT=`locale | grep sv_SE | awk -F '=' '{ print $1 }' | head -1`; echo $NEXT; export $NEXT=en_US.UTF-8; zypper ref
bash: export: "=en_US.UTF-8": inte en giltig identifierare
Root-behörigheter krävs för att uppdatera systemarkiv.
user@computer:~> locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=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
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
Сброс всех настроек на en_US и перезагрузка учит zypper english:
user@computer:~> locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="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"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
user@computer:~> zypper ref
Root privileges are required for refreshing system repositories.
После установки всего на английский язык я мог получить желаемое поведение следующим образом:
Щелкнув правой кнопкой мыши на часах - выбрав Установить формат времени ... - Выбор Подробные настройки и активация шведского языка для всех подробных настроек:
Проверка языкового стандарта после этого, я думаю, может быть LC_CTYPE
мошенник. Но многие из LC_variables, которые я установил на шведский язык, теперь являются английскими, поэтому для уверенности потребуется еще немного поработать.
user@computer:~> zypper ref
Root privileges are required for refreshing system repositories.
user@computer:~> locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=sv_SE.UTF-8
LC_TIME=sv_SE.UTF-8
LC_COLLATE=sv_SE.UTF-8
LC_MONETARY=sv_SE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=sv_SE.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Вы можете выполнить export LC_ALL = C
до zypper ....
.
Например:
# export LC_ALL=C
# zypper dup
Warning: You are about to do a distribution upgrade with all enabled
repositories. Make sure these repositories are compatible before you
continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
...
...