ArsDigita Archives

The Big Picture

Part of an article on Building a Multilingual Web Service Using the ACS, by John Lowry (

ArsDigita : ArsDigita Systems Journal : One article

previous | next chapter
Most web sites are in only one language, usually English. But there are quite a few sites that have translated their content into multiple languages. For example, Adobe provides some articles in five languages including Japanese and Swedish. However, there is no dynamically-generated content that we can see on these pages. Dynamic content is critical for a successful web service -- we wrote a book that explains why. With pages that are generated by a script that runs for each request, you can allow users to submit their own content, serve personalized content and display data obtained from remote servers. A well-designed dynamic web site allows users to get the data they need and accomplish tasks in a quick and efficient way.

At this time (July 2000), there are very few examples of large-scale web sites that display multilingual content from dynamically-generated pages. One exception is Yahoo, which displays financial data in around 15 languages including German and Spanish. When we last checked, the multilingual support for dynamic content does not stretch much beyond displaying details of the currently logged-in user. For example, you cannot view your stock portfolio in more than one language. If as proficient a web site developer as Yahoo is not able to provide seamless support for multiple languages, it is clearly a considerable challenge.

What are the technical and organizational hurdles that have to be overcome?

  • Data complexity

    The data model of a multilingual web site will be substantially more complex. All language-dependent columns in each table need to be translated. We need to build tools for translating new data before it gets made available on the web site. It takes longer and costs more to develop and test such a site. Reliability and consistency will likely be lower.

  • User interface

    It is considerably more expensive to design a user interface with pixel-level positioning. The text in different languages will display differently depending on word lengths and character sets. A rule of thumb is that text length can vary by 30 per cent, but in extreme cases it can be 100 per cent.

    A multilingual site must create new versions of any graphics that contain language dependencies. The writers must avoid ambiguity, colloquialisms and use good grammar. Each language has its own syntax and grammar. This can lead to problems with run-time concatenation of text strings in the message catalog in which the final result doesn't make any sense.

  • Performance

    An additional set of processing steps needs to be carried out before the web page is sent to the client. Strings need to be looked up in a message catalog which carries the overhead of a function call and hash table lookup at a minimum. Additionally, retrieving language-dependent columns from the database usually requires a join that would not otherwise have been necessary. The need to cache partially-translated pages further increases complexity.

  • Availability of staff

    The complex needs of a multilingual web site require vastly more staff. Any significant changes made by a programmer will need to be tested by someone fluent in each language that is used on the site. Bug reports may come in a different language to that spoken by the programmers and require translation. There are few programmers with experience on internationalization projects from which to recruit.

  • Retrofitting a site with multilingual features

    It can be as hard to retrofit a web site to make it work in multiple language as to build a new site from scratch. There will be numerous hard-coded elements that need to be tracked down and localized. Many common programming constructs, such as string comparisons, can lead to bugs in a multilingual site. Strings that can be reused in multiple contexts in one language, will not work in the same way in another language.

All of this adds considerably to the cost of developing a multilingual web site, particularly in cases where a lot of structured data needs to be translated. In many cases, the initial set up costs of a multilingual site could easily approach that of two separate sites in different languages, though it is likely that there would be large savings in maintenance costs from having a single site.

More information

Jakob Nielsen's Alertbox on International Usability
The Internationalization of Linux