不同语言的 Debian 网站

内容协商

一组翻译人员将 Debian 网站翻译成越来越多种不同的语言。但浏览器是怎么切换语言的?一个 叫做内容协商(content negotiation)的标准 允许用户为网络内容设置他们的语言偏好。他们看到的版本是浏览器和服务器协商出来的:浏览器将语言偏好发送给服务器,然后 服务器决定发送哪个版本(基于用户的偏好和可用的版本)。

不是所有人都了解内容协商,所以 Debian 网站的每个页面底部都有指向其他语言版本的链接。请注意在该列表中选择一个不同的语言仅会影响当前页面, 这并不会改变您浏览器的默认语言设置。如果您点击一个链接前往不同的页面,页面将重新以默认语言显示。

要改变您的默认语言,您有两种选择:

直接前往以下浏览器的设置步骤:

[Chrome/Chromium] [ELinks] [Epiphany] [Firefox] [IBrowse] [iCab] [IceCat (Iceweasel)] [Internet Explorer] [Konqueror] [Lynx] [Microsoft Edge] [Opera] [Safari] [W3M] [Vivaldi]

怎样在浏览器里设置语言

在描述如何为不同的浏览器调整语言设置之前,我们有一些一般性的建议。首先,在您偏好的语言列表中加入所有您会的语言是一个好主意。 例如,如果您的母语是中文,您可以将您的第一语言设置成中文(zh),然后是英文(en)。

其次,有些浏览器支持直接输入语言代码,而不是从菜单中选择。如果是这种情况,请您注意,输入一个类似 zh, en 的 列表并不能准确地定义您偏好的语言的顺序。相反地,这只会定义一组优先级相同的语言,服务器可以决定忽略顺序,而仅选择其中一个语言。 如果您希望真正地指定语言的优先级,您需要使用所谓的quality value,它们是 0 到 1 之间的浮点数。数字越大,优先级越高。让我们回到中文和英文的例子, 您可以将上面的例子修改成这样:

zh; q=1.0, en; q=0.5

小心国家/地区代码

一个收到了语言偏好为 zh-CN, en 的文档请求的服务器不一定会优先选择中文版本。仅当存在语言扩展名 为 zh-cn 的页面时,服务器才会选择中文版本。不过反过来则成立:如果语言偏好列表只有 zh,服务器可以返回 zh-cn 页面。

所以,我们不建议添加两个字母的国家/地区代码,例如 zh-CN 或者 zh-TW,除非您有特别好的理由。 如果您确实需要添加,请确保同时添加一个不含国家/地区代码的语言代码:zh-CN, zh, en

不同浏览器的设置步骤

我们收集了一个流行的浏览器的列表,以及如何在它们的设置中改变网络内容的语言偏好:

  • Chrome/Chromium
    在右上角,打开菜单并点击 设置 -> 高级 -> 语言。打开 语言 菜单,可以看到一个语言列表。点击项目旁边的三个点来改变顺序。如有必要,您也可以添加新的语言。
  • ELinks
    设置 -> 语言 中改变默认语言的同时,也会修改向网站请求的语言。您可以通过在 设置 -> 选项管理器 -> 协议 -> HTTP里调整 Accept-Language 头 来改变这一行为。
  • Epiphany
    在主菜单中打开 首选项 并切换到 语言 标签页。您可以在此添加、删除和排序语言。
  • Firefox
    在顶部的菜单栏打开 设置。在 常规 栏目中向下滚动到 语言与外观 -> 语言。点击 选择 按钮来设置显示的网站的语言偏好。在同一个对话框中您也可以添加、删除和排序语言。
  • IBrowse
    打开 首选项 -> 设置 -> 网络接受的语言 可能会是 *,这是默认设置。点击 区域设置 按钮,您应当可以添加偏好的语言。如果不行,您可以手动输入。
  • iCab
    编辑 -> 首选项 -> 浏览器 -> 字体,语言
  • IceCat (Iceweasel)
    编辑 -> 首选项 -> 内容 -> 语言 -> 选择
  • Internet Explorer
    点击 工具 图标,选择 Internet 选项,切换到 常规 标签页,点击 语言 按钮。点击 设置语言首选项,您可以在接下来的对话框中添加、删除和排序语言。
  • Konqueror
    编辑 ~/.kde/share/config/kio_httprc 文件,添加如下一行:
    Languages=zh;q=1.0, en;q=0.5
  • Lynx
    编辑 ~/.lynxrc ,添加如下一行:
    preferred_language=zh; q=1.0, en; q=0.5
    或者,您也可以按 [O] 打开浏览器设置。向下滚动到 偏好的语言 并添加以上内容。
  • Microsoft Edge
    设置和更多 -> 设置 -> 语言 -> 添加语言
    点击语言项目旁边的三点按钮查看更多选项和改变顺序。
  • Opera
    设置 -> 浏览器 -> 语言 -> 语言偏好
  • Safari
    Safari 使用 macOS 和 iOS 系统的语言设置,所以要改变语言偏好,请打开 系统偏好设置(macOS)或 设置(iOS)。
  • W3M
    按 [O] 打开 选项设置栏,向下滚动到 网络设置 -> 接受的语言(Accept-Language)报头。按 [Enter] 改变设置(例如 zh; q=1.0, en; q=0.5)并按 [Enter] 确认。向下滚动并按 [OK] 保存设定。
  • Vivaldi
    点击 设置 -> 常规 -> 语言 -> 接受的语言,点击 添加语言 并从菜单中选择。使用箭头改变语言的顺序。

如何覆盖语言设置

不论出于何种原因,如果您无法在您的浏览器、设备或计算环境中设置首选语言,作为最后的手段,您也可以使用 cookie 覆盖语言设置。点击以下按钮中的一个,以将 一个语言置于语言列表的顶部。

请注意,这将设置一个 cookie,其中包含您的语言选择项。如果您一个月内没有访问该网站,您的浏览器将删除该 cookie。当然,您随时可以在浏览器中手动删除该 cookie,或者您可以点击 Browser default 按钮立即删除该 cookie。

故障排除

有时候,虽然经过了各种努力,Debian 网站还是显示了错误的语言。我们的第一个建议是在浏览器中清除本地缓存(包括磁盘和内存缓存), 然后重新加载页面。如果您完全肯定您已经设置好了您的浏览器,那么损坏的或者 错误配置的缓存可能是问题的源头。近些年这个问题变得尤其严重,因为越来越多 的网络服务供应商(ISP)认为使用缓存可以减少网络的流量。 阅读关于代理服务器的章节,即使您认为您没有使用代理服务器。

显示您的浏览器的偏好语言列表。

当然,也确实有可能就是 www.debian.org 的问题。虽然,在这几年来我们所接收到的语言错误的报告中,只有极少数真的是我们的问题,但这 确实是可能发生的。所以我们建议您在跟我们联络之前,先检查自己的设置问题和缓存问题。 如果您发现 https://www.debian.org/ 可以运作,但是有一个镜像站点 不行,请您向我们报告,我们会与镜像点的维护者联系。

代理服务器的潜在问题

代理(proxy)服务器基本上是一个没有自己内容的网站服务器。它们介于用户和真正的网络服务器 之间。它们抓取您所需要的网页,然后将网页转给您,但同时保存一个拷贝作为缓存,以便以后取用。这可以让很多用户要看同一个网页时,网络带宽的压力大大减少。

大多数时候,这是个好主意,但是如果缓存出问题的话,这个办法就不行了。特别是有些较旧的代理服务器不支持内容协商 机制时。这会导致它们只存放其中一种语言的网页缓存 ,而不会理会后续即使是不同语言的要求。唯一的解决方式就是更新或改换缓存软件。

在过去,人们只在他们的浏览器被自己设置过后才能使用一个代理。但是现在就不是这样了。您的网络服务供应商(ISP)可能会强 迫将所有的 HTTP 连接请求重定向到一个透明的代理服务器 。如果这个代理服务器无法正确处理内容协商, 用户可能就会接收到错误语言的缓存网页。这时唯一的办法就是向您的 ISP 提意见,要求他们升级 或更新他们的缓存软件。