SVN命令輸出結果的語言選擇

2021-07-10 12:27:26 字數 1657 閱讀 4778

如果reviewboard的字元編碼設定讓中文無法識別,需要將patch檔案打成英文,將本地的語言環境設定成英文環境,再重新打patch。

多數情況下,我們根本無需關心svn命令輸出中到底是英文還是中文。subversion對國際化支援到很好,它會根據自己所在環境下的區域和語言設定來選擇到底輸出哪種文字,對不同地區說不同語言的程式設計師來說,這絕對是乙個好事。

但問題畢竟是出現了。我們該如何解決呢?我們該如何選擇svn輸出的語言呢?我不用windows,所以這裡我說說linux下的設定方法,這也是今天在思考那位朋友的問題時才找到的方法。

方法的關鍵就在於前面說過的subversion會自動檢測你的區域和語言環境設定。以我的ubuntu 12.04lts為例,執行locale命令,可以看到以下輸出:

lang=zh_cn.utf-8

language=zh_cn:zh

lc_ctype=」zh_cn.utf-8」

lc_numeric=」zh_cn.utf-8」

lc_time=」zh_cn.utf-8」

lc_collate=」zh_cn.utf-8」

lc_monetary=」zh_cn.utf-8」

lc_messages=」zh_cn.utf-8」

lc_*****=」zh_cn.utf-8」

lc_name=」zh_cn.utf-8」

lc_address=」zh_cn.utf-8」

lc_telephone=」zh_cn.utf-8」

lc_measurement=」zh_cn.utf-8」

lc_identification=」zh_cn.utf-8」

lc_all=

也就是說預設情況下,我的區域是cn,語言是zh。在這種環境下svn命令的輸出都是包含中文的,比如下面這段輸出:

路徑: .

url:

版本庫根:

我嘗試修改locale。先將lc_all修改為en_us.utf-8(通過locale -a你可以檢視系統支援的locale列表,從中能看到en_us.utf8)。修改後(export lc_all=en_us.utf8),執行locale,發現除了language和lang還是原值外,其餘變數都已經改為en_us.utf8了。不過svn info的輸出結果依舊包含中文。

看來language或lang兩個變數中的乙個會影響到svn的輸出結果。先修改lang為en_us.utf8,執行svn info,發現結果依舊包含中文。再試試修改language,export language=en_us.en(注意不是en_us.utf8,language變數的值與其他的變數稍有不同)。再執行svn info,這回終於等到英文結果輸出了:

path: .

url:

repository root:

repository uuid: 22405a7c-d843-be82-cc3b-46f1d7cb9705

revision: 57

node kind: directory

schedule: normal

last changed author: [email protected]

last changed rev: 57

目前還不清楚這招在windows下是否也生效,記得windows上也有設定環境變數的地方。

Go語言選擇器是如何選擇的

我們都知道選擇器其實就是型別裡面的乙個個方法,型別之間可以互相內嵌,經過 證明,選擇器會優先選擇自身定義的方法,然後如果沒有,就會去解析內嵌的型別的方法,例如定義型別t,同時內嵌了t1,t2兩個型別,裡面都有方法f,這是直接呼叫t.f,就會產生二義性,因為t1和t2在解析器看來都算是同一層,如果t1...

C語言 選擇排序之直接選擇排序的特性及實現

c語言 選擇排序之直接選擇排序的特性及實現 1 演算法特性 直接選擇是一種簡單 不穩定的選擇排序方法,屬於最為基礎的排序方法之一。其時間複雜度最好情況為o n 最差為o n 平均為o n 空間複雜度為o 1 2 演算法思路 以公升序排列為例,先設定乙個臨時變數index nmax儲存最大值的下標,初...

輸出 time 命令的結果到檔案中

譯至 由於輸出 time 命令的結果到檔案時使用的錯誤的方式,所以將其記錄下來。環境是bash。將執行的a.out程式的輸出和其所花的時間重定向到日誌檔案中 time a.out logfile time a.out tee logfile 上面的例子是重定向結果到logfile 下面的例子是通過t...