Debian Website in different Languages
Content Negotiation
A team of translators works on the Debian website to convert it for a growing number of different languages. But how does the language switch in the web browser work? A standard called content negotiation allows users to set their preferred language(s) for web content. The version they see is negotiated between the web browser and the web server: the browser sends the preferences to the server, and the server then decides which version to deliver (based on the users' preferences and the available versions).
Not everyone knows about content negotiation, so links at the bottom of every Debian page point to other available versions. Please note that selecting a different language from this list will only affect the current page. It doesn't change the default language of your web browser. If you follow another link to a different page, you will see it in the default language again.
In order to change your default language, you have two options:
Jump straight to the configuration instructions for these web browsers:
[Chrome/Chromium] [ELinks] [Epiphany] [Firefox] [IBrowse] [iCab] [IceCat (Iceweasel)] [Internet Explorer] [Konqueror] [Lynx] [Microsoft Edge] [Opera] [Safari] [W3M] [Vivaldi]
How to set a Web Browser's Language
Before we describe how to configure the language settings in different
web browsers, some general remarks. Firstly, it's a good idea to include
all languages you speak to your list of preferred languages. For example,
if you're a native French speaker, you can choose fr
as your
first language, followed by English with the language code en
.
Secondly, in some browsers you can enter language codes instead of
choosing from a menu. If that's the case, keep in mind that creating
a list like fr, en
doesn't define your preference. Instead,
it will define equally ranked options, and the web server can decide
to ignore the order and just pick one of the languages. If you want to
specify a real preference, you have to work with so-called quality values,
i.e. floating point values between 0 and 1. A higher value indicates a
higher priority. If we go back to the example with French and English
language, you can modify the above example like this:
fr; q=1.0, en; q=0.5
Be careful with Country Codes
A web server which receives a request for a document with the preferred
language en-GB, fr
does not always serve the
English version before the French one. It will only do so if a page
with the language extension en-gb
exists. It does work the
other way around, though: a server can return a en-us
page if
just en
is included in the preferred languages list.
We therefore recommend not to add two-letter country codes like
en-GB
or en-US
, unless you have a very good reason. If
you do add one, make sure to include the language code without the
extension as well: en-GB, en, fr
Instructions for different Web Browsers
We've compiled a list of popular web browsers and some instructions on how to change the preferred language for web content in their settings:
-
Chrome/Chromium
At the top right, open the menu and click Settings -> Advanced -> Languages. Open the Language menu to see a list of languages. Click on the three dots next to an entry to change the order. You can also add new languages if necessary. -
ELinks
Setting the default language via Setup -> Language will also change the requested language from web sites. You can change this behavior and fine-tune the Accept-Language header at Setup -> Options manager -> Protocols -> HTTP -
Epiphany
Open Preferences from the main menu and switch to the Language tab. Here you can add, remove and arrange languages. -
Firefox
In the menu bar at the top open Preferences. Scroll down to Language and appearance -> Language in the General panel. Click the button Choose to set your preferred language for displaying websites. In the same dialog you can also add, remove and reorder languages. -
IBrowse
Go into Preferences -> Settings -> Network. Accept language probably shows a * which is the default. If you click on the Locale button, you should be able to add your preferred language. If not, you can enter it manually. -
iCab
Edit -> Preferences -> Browser -> Fonts, Languages -
IceCat (Iceweasel)
Edit -> Preferences -> Content -> Languages -> Choose -
Internet Explorer
Click the Tools icon, select Internet options, switch to the General tab, and click the Languages button. Click Set Language Preferences, and in the following dialog you can add, remove and re-order languages.
-
Konqueror
Edit the file ~/.kde/share/config/kio_httprc and include the following new line:
Languages=fr;q=1.0, en;q=0.5
-
Lynx
Edit the file ~/.lynxrc and enter the following line:
preferred_language=fr; q=1.0, en; q=0.5
Alternatively, you can open the browser's settings by pressing [O]. Scroll down to Preferred language and add the above. -
Microsoft Edge
Settings and more -> Settings -> Languages -> Add languages
Click the three-dotted button next to a language entry for more options and to change the order. -
Opera
Settings -> Browser -> Languages -> Preferred languages -
Safari
Safari uses the system-wide settings on macOS and iOS, so in order to define your preferred language, please open System Preferences (macOS) or Settings (iOS). -
W3M
Press [O] to open the Option Setting Panel, scroll down to Network Settings -> Accept-Language header. Press [Enter] to change the settings (for examplefr; q=1.0, en; q=0.5
) and confirm with [Enter]. Scroll all the way down to [OK] to save your settings. -
Vivaldi
Go to Settings -> General -> Language -> Accepted Languages, click Add Language and choose one from the menu. Use the arrows to change the order of your preferences.
How to override the Settings
If for whatever reason you're not able to define your preferred language in the browser's settings, device or computing environment, you can override the preferences using a cookie as a last resort. Click one of the buttons below to put a single language on top of the list.
Please note that this will set a cookie. Your browser will automatically delete it if you don't visit this website for a month. Of course, you can always delete the cookie manually in your web browser or by clicking the button Browser default.
Troubleshooting
Sometimes the Debian website appears in the wrong language despite all efforts to set a preferred language. Our first suggestion is to clean out the local cache (both disk and memory) in your browser before trying to reload the website. If you're absolutely sure that you've configured your browser properly, then a broken or a misconfigured cache might be the problem. This is becoming a serious issue these days, as more and more ISPs see caching as a way of decreasing their net traffic. Read the section about proxy servers even if you don't think you're using one.
Display the list of languages your browser says you prefer.
By all means, it's always possible that there is a problem with www.debian.org. While only a handful of language problems reported in the last years were caused by a bug on our end, it is entirely possible. We therefore suggest that you investigate your own settings and a potential caching issue first, before you get in touch with us. If https://www.debian.org/ is working, but one of the mirrors is not, please report this so we can contact the mirror maintainers.
Potential Problems with Proxy Servers
Proxy servers are essentially web servers that have no content of their own. They sit in the middle between users and real web servers, grab the requests for web pages, and fetch the pages. After that, they forward the content to the users' web browsers, but also make a local, cached copy which is used for later requests. This can really cut down on network traffic when many users request the same page.
While this can be a good idea most of the time, it also causes failures when the cache is buggy. In particular, some older proxy servers do not understand content negotiation. This results in them caching a page in one language and serving that, even if a different language is requested later. The only solution is to upgrade or replace the caching software.
Historically, proxy servers were only used when people configured their web browser accordingly. However, this is no longer the case. Your ISP may be redirecting all HTTP requests through a transparent proxy. If the proxy doesn't handle content negotiation properly, then users can receive cached pages in the wrong language. The only way you can fix this is to complain to your ISP in order for them to upgrade or replace their software.