Opensuse
更改 zypper 語言
我剛剛安裝了 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 英語:
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... ... ...