newsNews: Article: i18n via content negotiation at

Show feedback again
Latest News
Gna! closing soon posted by beuc, Tue Jan 31 22:31:06 2017 - 6 replies
mail subsystem upgraded posted by beuc, Sat May 23 18:17:18 2015 - 1 reply
dl/home/cvs/svn/ upgraded to debian8 posted by beuc, Thu May 21 22:12:23 2015 - 2 replies SSL certificate renewed posted by zerodeux, Thu Apr 24 07:13:06 2014 - 4 replies
Heartbleed status and measures posted by beuc, Wed Apr 9 09:47:29 2014 - 2 replies
[125 news in archive]

Article: i18n via content negotiation at

Item posted by Mathieu Roy <yeupou> on Wed Mar 3 19:34:36 2004.

How do I internationalize my website hosted by Gna! at ? The easier solution is to use the server content negociation, something pretty standard with apache nowadays.

To add a translation, you just have to add a file called like $filename.$lang.html. For instance, the German translation of the index file would be named When a German user will browse your index page, when asking for /index, the apache server will return him the German page,

It means that you should advertise pages with .lang.html only if you want to point to a specific translation, and advertise pages like /blabla (for blabla.$lang.html) the rest of the time. is an example of content negotiation usage for internationalization: all the internal links are like /social_contract, always redirecting you to the translated file. But you can access translated versions with direct pointers like / (Spanish) and / (German).

Apart from that, we advise you to take care of outdated translations. You can can use the CVS tags like $Date: $ or $Id: $ to print inside your pages version information, in a warning to users.

(We assume that you already used your homepage area, managed via CVS, that everything worked well. If it is not the case, please read the related FAQ entries first)

This article comes from the FAQ entry:


No messages in Article: i18n via content negotiation at


Start a New Thread:

You could post if you were logged in
Show feedback again

Back to the top

Powered by Savane 3.1-cleanup