Jukka K. Korpela wrote:
The general idea is this:
The author put the different language versions on a server. He also
specifies a mechanism (such as a specific description file in a
particular format) that makes the pages _also_ available under a
common URL. When a browser or other client requests for a page using
that common URL, the server inspects the information it has about
available versions as well as an Accept-Language header in the HTTP
request; most browsers send such a header according to the preferences
that the user has set (or according to its default settings).
The server then decides which of the alternate versions matches best
the request, and sends it.
it's not as difficult to do as I initially
expected...though it is something to do very
carefully...I suspect it is easy to make a complete mess
of it
The most serious problem with this, IMHO, is that most users are
probably unaware of the language preference settings, or have even
misconfigured them since they have misunderstood what they are.
For example, if I buy a computer with an English version of Windows
(e.g. because I can understand its texts better than the artificial and
often wrong translations of in the Finnish version), I get an IE with
language preferences containing "en" (for English) only, or something
like that. Unless I fix that, and most people don't, my browser will
keep telling anyone interested that I _only_ know English. That is, the
content negotiation mechanism always gives me the English version.
See http://www.cs.tut.fi/~jkorpela/multi/ for more info.
I'm still looking at a way of doing it "perfectly"
I haven't got a multilingual site to play with a at
present (anyone want an experienced multilingual web
developer and promoter at very reasonable rates?)...but
it strikes me that there is a generally applicable and
not too cumbersome solution
it requires a second copy of the index page in each
language (and possibly sub indexes if they are promoted
separately)...so one has almost identical content on
index.html an default.html in each language...content
negotiation is applied to index html...which also has
text links to default html in each language...subsidiary
pages link to and through default html
so content negotiation is applied once on arrival...and
supplies a (Unicode?) page that allows the user to use a
text link to change to a preferred language...after that
the assumption is that the user has now chosen the
language and that choice should be respected...though a
link should be given to a "language switching page" for
those of us who do inconsiderate things such as search
for the same information in several languages
it means that when the index is updated two files have to
change rather than one...but for situations where that
happens frequently then it is surely not beyond the wit
of developer to use SSI to include the same content in
both pages...the only thing that is different is a
language menu on one of the pages
there is probably a hideous flaw in the idea somewhere
--
eric
www.ericjarvis.co.uk
"Hey Lord don't ask me questions
There ain't no answer in me"