[thelist] Re: Multiple-language sites

Ben Gustafson Ben_Gustafson at lionbridge.com
Tue Mar 5 11:13:01 CST 2002


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
--
[ Picked text/plain from multipart/alternative ]

Hello Katie,

I'm a Ben-come-lately to your thread, but I have some pointers for you that,
from my experience as webmaster for a ten-language site, could help you out.

> I'm just beginning to plan a multiple-language site, which I have no
> experience with so far. ;)  I was wondering if I could get some ideas
about
> ways to handle displaying text in about 10 different
> languages, and how to determine what language I should serve to a
particular user.

> 1) One person on my team suggested reading the language from
> the browser -- does this work often enough? Are there browser
> incompatibility issues, or is it unlikely that users have
> configured this option?

A reasonably reliable way to detect a visitor's language preference is to
get the browser's HTTP_ACCEPT_LANGUAGE header. This setting can be changed
in browsers so that someone with the US English version of IE, for example,
can change their language preference to other languages. It will be a two-
(such as en) or five-character (such as en-us) string.

> 2) Should I make separate physical pages for each language
> (and have the nightmare of maintaining the links between
> all the languages) or find a way to have each page know all
> 10 languages and just display the one that the
> user wants at a time (would this take too long to load or be
> difficult to maintain?).

By far the easiest way to manage a multilingual site is to have a
database-driven architecture. That way, you can flag each page record in the
database with a page ID and a language ID, which forms the primary key of
the page (and if you want to get really fancy, you can add an additional
version ID as part of the primary key for each record so that you can have
multiple versions of a page for a language). You'll then know that page
number 123, for example, is the description of your company, and language
number 7 of that page is the French version. You can then design the
architecture of your site, created with PHP, ASP, ColdFusion, or other
scripting language, around creating navigation that contains these
parameters in the links, either in the query string or in "friendly" URLs,
like those on the Lionbridge site or evolt.

> 3) Any tips for how/where to put a language selector into the
> interface? Drop-down menu, little flags for countries, and a million
> other things have been suggested. (I'm sort of throwing out
> the flag idea -- too many countries share a language, and
> I'm sure the brits would be annoyed to have
> to choose an american flag, or the canadians would be annoyed
> at clicking on france, and justly so.)

A drop-down menu is fine, but keep in mind that those without the fonts for,
say, Japanese installed on their browser will get garbage characters for
that language choice. Using a navigation with images and alt text would
allow the widest audience to see the choices. And don't use flags! Use the
language name written in the language. Those who can read the language will
understand it.

Also, when designing the "source" graphics, allow for text expansion and
contraction, as most European languages are about 30% longer than US
English, and most Asian languages are a lot shorter than English.

As for character encoding, Unicode is probably your best option. We use a
SQL Server backend that stores the content in the UCS-2 Unicode encoding,
which is then converted to UTF-8 for the browser. And remember your meta tag
for content encoding:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">

Feel free to contact me off-list with questions.

--Ben

________________
Ben Gustafson
Webmaster
Lionbridge Technologies, Inc.
www.lionbridge.com




More information about the thelist mailing list