不同語系的 Debian 站臺


顯而易見,世界上並不是所有的人都使用同一種語言。隨著互聯網的發展,網頁並存多種語言的情況日趨普遍。因而誕生了一個標準,叫做內容協商 (content negotiation),它允許人們設定他們希望接收到的說明文件所使用的語言。實際下載的版本是經過您的瀏覽器和伺服器之間的協商而確定的;您的瀏覽器發送它的語言偏好,而伺服器根據您的語言偏好來決定發送哪個版本,以及哪些版本的說明文件是可用的。

值得注意的是當選擇了一個不同語言時 (從某個頁面下方所列出的可用翻譯的列表中) 只有當前頁面被翻譯成相應語言。它 沒有 改變默認語言。如果您點擊了一個到其它頁面的鏈接,它將再一次顯示成原來的語言。要徹底改變您所使用的 默認 語言,您需要在您的瀏覽器配置中修改語言設定,下面將會作具體的解釋。


如果 Debian 網頁顯示了錯誤的語言該怎麼辦

從 Debian 網站上接收到語言錯誤的說明文件,最常見的原因是因爲您的瀏覽器設定不正確。請參考 如何 設定語言 來解決您的問題。

第二種可能是因爲您的快取設定錯誤或有問題。因爲越來越多的網絡服務提供者 (ISP) 認爲使用快取可以減少網絡的流量,所以這個問題越來越嚴重。您可以參考網站快取注意 事項,即使您認爲您沒有使用快取。

第三種可能就是 Debian 網站 的問題。不過,在這幾年來我們所接收到的語言錯誤的報告中,只有極少數真的是我們的問題。所以 我們建議您在跟我們聯絡之前,先確定是不是前面所提到的兩個問題。如果您發現 Debian 網站 可以運作,但是有一個映射網站不行,請您向我們報告,我們會與映射站臺的維護者聯繫。

在修復了問題之後,我們建議您要把本地的快取 資料清除一下,包括磁碟 裏與記憶體內的快取。我們也建議您使用 lynx 來測試。這是我們發現唯一百分之百遵循「內容協商」機制的瀏覽器。

代理伺服器的潛在問題

代理 (proxy) 伺服器基本上是一個沒有自己內容的網站伺服器。它們介於用戶和真正的網絡伺服器之間。它們抓取您所需要的網頁,然後將網頁轉給您,但同時保存一個拷貝作爲快取,以便以後取用。這可以讓很多 用戶要看同一個網頁時,網絡頻寬的壓力大大減少。

大多數時候,這是個好主意,但是如果快取出問題的話,這個辦法就不行了。特別是有些較舊的代理伺服器不支持內容協商 機制時。這會導致它們只存放其中一種語言的網頁快取,而不會理會後續即使是不同語言的要求。唯一的解決方式就是更新或改換快取軟件。

在過去,人們只在他們的瀏覽器被自己設定過後才使用一個代理。但是現在就不是這樣了。您的網絡服務提供者可能會強 迫將所有的HTTP 連線要求導向到一個透明的代理伺服器。如果這個代理伺服器無法正確處理內容協商, 用戶可能就會接收到錯誤語言的快取網頁。這時唯一的辦法就是向您的 ISP 提供者提意見,要求他們改善或更新他們的快取軟件。


怎樣在瀏覽器裏設定語言

您可以將語言設定成所有您使用的語言,並依您的喜好排序。通常最好能將英文 ('en') 列爲一個備份語言 (放在最後一個) 因爲原來的 Debian 網站是使用英文,而不是所有的說明文件都有翻譯成您所使用的語言。

例如,如果您的母語是中文,您可能希望將您的首選語言設定成中文 (語言代碼爲 'zh'),然後第二個設定成英文 ( 語言代碼爲 'en')。

您可以參考 如何在特定瀏覽器中設定語言

如您所見,大多數瀏覽器透過一些用戶介面向您隱藏了定義偏好語系所需的細節。如果並非如此,請注意前面段落中一個重要的細節: 如果您要設定的一 組像 'zh, en' 這樣的語系還沒有定義成一種偏好,而且它們有著相同的優先級,那麼伺服器可能會忽略它們之間的順序。如果您想指定有效的語系,您必須使用介於 0 和 1 之 間的、數值大小代表選用順序的浮點數優先級 (quality values)。在上面這種情況下您很可能要這樣設定 'zh; q=1.0, en; q=0.5'。

您在使用語言的子類別時需要特別注意您設定的方式。如果您 設定了 'zh-TW, en' 的話,您所得到的結果可能和您預期的結果會有很大的不同。

除非您有更好的理由,否則我們強烈建議您不要使用加上國家延伸碼的語言設定。如果您確定要使用,也請確定您還引入了不含國家延伸碼的語言 設定。

舉個例子,一個收到某個用 'zh-TW, en' 作爲頁面語言偏好請求的伺服器,先處理的不是中文 ('zh') 而是英文。只有當這個頁 面存在一個和 zh-TW 國家延伸碼相應的版本時,它纔會在處理英文之前優先處理中文。

在這種情況下,您應該將您的瀏覽器設爲 'zh-TW, zh, en',或者 'zh, en'。然而還是會有意外情況,例如,一個伺服器可能在 收到 'zh' 請求後返回 'zh-CN' 的結果。

您可以參考 Apache 內容協商 說明文件 來看看關於語言設定的資訊。

在瀏覽器裏設定顯示語言

要在您的瀏覽器中設定預設語言,您必須 設定一個變數傳送給網站伺服器。這跟您使用的瀏覽器有關。

Mozilla / Netscape 4.x 及更高的版本
     Edit -> Preferences -> Navigator -> Languages
注意: Netscape 4.x 版您最好是從它所列出的支援語言列表中點選。有些用戶回報說有問題,結果是因爲他們用自己打字輸入的方式 設定語言。
Mozilla Firefox
3.0 及更高的版本:
Linux:
     編輯 -> 首選項 -> 內容 -> 常規 -> 語言 -> 選擇...
Windows:
     工具 -> 首選項 -> 內容 -> 常規 -> 語言 -> 選擇...

1.5 及更高的版本:
Linux:
     編輯 -> 首選項 -> 高級 -> 常規 -> 編輯語言
Windows:
     工具 -> 首選項 -> 高級 -> 常規 -> 編輯語言

0.9 及更高的版本:
Linux:
     編輯 -> 首選項 -> 常規 -> 語言
Windows:
     工具 -> 首選項 -> 常規 -> 語言
對於更老的版本您必須打開 about:config 頁面,然後修改 intl.accept_languages 的鍵值。
Iceweasel
    編輯 -> 偏好設定 -> 內容 -> 語言 -> 選擇
 
Internet Explorer
Windows:
     Tools 或 View 或 Extras -> Internet Options -> (General) Languages
Mac OS:
     Edit -> Preferences -> Web Browser -> Language/Fonts
Pocket Internet Explorer
     在註冊表 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\
     中創建一個鍵值 AcceptLanguage 並賦值
     zh; q=1.0; en; q=0.5 (不含括號)。
Opera
大部分的版本:
     File -> Preferences -> Languages
Linux/*BSD 5.x 及 6.x 版:
     File -> Preferences -> Document -> Languages
Nokia 770 Web Browser: 編輯 /home/user/.opera/opera.ini 文件,將下列行添加到 [Adv User Perfs] 段落中:
     HTTP Accept Language=zh;q=1.0,en;q=0.5
Galeon
     Settings -> Preferences -> Rendering -> Languages
Epiphany
     編輯 -> 設定 -> 語言 -> 語言
Konqueror
如果您只使用一種語言,那很簡單,只要從 KDE 控制中心選取即可。
如果您要使用多種語言集,您必須修改 ~/.kde/share/config/kio_httprc這個檔,加入以下這一行 (請自行變換成自己要設定 的語言):
     Language=zh,en
記得要讓這些改變生效,要重新啓動 KDE。
lynx
您可以編輯 .lynxrc 檔中的 preferred_language 變數,或者在使用 lynx 時使用 'O' 命令。

例如,在 .lynxrc 中加入這一行:

     preferred_language=zh; q=1.0, en; q=0.5
W3 (在 Emacs 裏的瀏覽器)
(setq url-mime-language-string  "preferred_language=zh; q=1.0, en; q=0.5")
或者是使用 custom 套件 (假設 URL 版本是 p4.0pre.14):
Hypermedia -> URL -> Mime -> Mime Language String...
iCab
     Edit -> Preferences -> Browser -> Fonts,Languages
W3M
     Options (o) -> Other Behavior -> Accept-Language
Safari
Safari 是透過 Mac OS X 系統的設定來決定您選用的語言的:
     System preferences -> International -> Language
ELinks
您可以在
     Setup -> Language
設定預設的用戶介面語言;這個設定也會影響從網站上取得的文件語言版本。您可以透過對 HTTP 可接受語言變數做進一步的設定來改變這樣的行爲:
     Setup -> Options manager -> Protocols -> HTTP
Netscape 3.x
在 Netscape app-defaults 檔 或 ~/.Xresources 檔中加上這一行:
     *httpAcceptLanguage: [preferred_language string]
IBrowse
依次打開PerferencesSettingsNetwork頁面。在 Accept language的下面可能默認顯示一個*。如果您點擊Locale 按鈕它將添加您偏好的語系。否則你可以手工添加它。之後,點擊OK完成。
Voyager
打開SettingsLanguages頁面。您可以手工添加或者點擊Get from locale。點擊OK結束設定。
Chromium
Customize and control Chromium -> Options -> Under the Hood -> Web content -> Change font and language settings -> Languages

如果您有一些其他上面所未列出的瀏覽器設定方式的資訊,請送到 debian-www@lists.debian.org