Re: content negotiation for language in web pages
After looking into this some more, it looks like we have a few options
in organizing translated web pages.
1. Have a separate directory for each language. The main pages would
have cross-links to the other languages.
Simple. The 3rd option does essentially the same and handles languages
2. Put all the pages together, but append the language to each file,
e.g. about.html.en, about.html.de, etc. Each page references
just the base page name (about.html) and we rely on content negotiation
to let the server decide which language should be served.
This works great as long as the server supports content negotiation.
Mirrors that don't support content negotiation would be stuck serving
in one language (the pages would be set up to default to English).
It has the benefit of supporting partial translations. If a
page doesn't exist in your preferred language, your choices would be
tested in order (the final default would be English).
Unfortunately, we have a policy of not putting any requirements on the
mirrors. That creates a big strike against this option.
Also, if a browser doesn't know about content negotiation or the user
hasn't configured it to use their preferred language (and the default
is usually English), the user will get English docs.
3. Similar to 2, but each language references the pages in its language,
e.g. index.html.de would reference vendors.html.de . At the main
page the user would get a language (either by content negotiation
or by explicitly choosing the language by using one of the cross-links)
and all links followed after that would be in that language.
Someone jumping into a different page would have no idea other languages
Good points: This can weakly support partial translations by having a link
to a non-translated page point to the English version. A person using
a browser that doesn't support content negotiation can still get their
preferred language. Stupid users can understand this.
Bad points: once you choose a language, you are stuck with it unless you
go back to the main page (or are clever and type in a language extension).
Partial translations aren't dealt with well. A German with good French
(does such a person exist? ;) and poor English isn't served well by this
model with a partial German translation.
Personally, I see number 3 as the way to go. Of course, other opinions/
additional ideas are welcome.
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
Trouble? e-mail to firstname.lastname@example.org .