Internationalization Quick Tips for the Web



The following 'Quick Tips' summarize key concepts of international Web design. These tips are not complete guidelines, they are only a handful of concepts described at the W3C's Internationalization Activity subsite.

This page lists the tips in very terse statements that also appear on the business-card size reference cards, followed by text that provides more detail and explanations. Then we link to information on the W3C Internationalization subsite, when available, where you can read further.

This page will be updated from time to time.

Quick tips

Encoding. Use the UTF-8 (Unicode) character encoding for content, databases, etc. Always declare the encoding.




Give me more background
So, how do I do this?
HTML & CSS authorsSpec developersServer setup

Escapes such as Numeric Character References (NCRs), and entities are ways of representing any Unicode character in markup using only ASCII characters. For example, you can represent the character á in HTML as &#xE1; or &#225; or &aacute;.


Give me more background
Using character escapes in markup and CSS provides additional information about the use of escapes in markup languages. In particular, note that entities (such as &aacute;) should be used with caution.
So, how do I do this?
HTML & CSS authorsSpec developersSVG authors
Language. Declare the language of documents and indicate internal language changes.



Give me more background
So, how do I do this?
HTML & CSS authorsSVG authorsXML authorsServer setup
Presentation vs. content. Use style sheets for presentational information. Restrict markup to semantics.


This principle is particularly useful for localization, since different scripts have different typographic needs. For example, due to the complexity of Japanese characters, it may be preferable to show emphasis in Japanese HTML pages in other ways than bolding or italicisation. It is much easier to apply such changes if the presentation is described using CSS, and markup is much cleaner and more manageable if text is correctly and unambiguously labelled as 'emphasized' rather than just 'bold'.


Give me more background
Images, animations & examples. Check for translatability and inappropriate cultural bias.



Give me more background
Forms. Use UTF-8 on both form and server. Support local formats of names/addresses, times/dates, etc.



The simplest way to enable this is to use the Unicode character encoding UTF-8 for both pages containing forms and all back-end processing and storage. In such a scenario the user can fill in data in whatever language and script they need to.



So, how do I do this?
HTML & CSS authors




So, how do I do this?
HTML & CSS authors

Where you have versions of a page or site in a different language, or for a different country or region, you should provide a way for the user to view the version they prefer. This should be available from any page on your site where an alternative exists.

When providing links to pages in other languages, use the name of the target language in the native language and script. Don't assume that the user can read English. For example, in a link to a French page, 'French' would be written 'français'. This also applies if you are guiding the user to a country- or region-specific page or site, eg. 'Germany' would be 'Deutschland'.

So, how do I do this?
HTML & CSS authors
Right-to-left text. For HTML, add dir="rtl" to the html tag. Only re-use it to change the base direction.




Give me more background
Unicode Bidirectional Algorithm basics provides a gentle introduction to the basics of how the Unicode Bidirectional Algorithm works, and where it needs help from markup.
Creating HTML Pages in Arabic, Hebrew and Other Right-to-left Scripts provides a gentle introduction to the basics of handling right-to-left text in HTML. The principles are similar for other markup languages.
Inline markup and bidirectional text in HTML provides another gentle introduction, this time to the basics of handling inline bidirectional text.
So, how do I do this?
HTML & CSS authorsSVG authorsXML authorsSchema developers
Check your work. Validate! Use techniques, tutorials, and articles at
Try the W3C Internationalization Checker.

Other introductory materials

There is a Getting Started page to help you find information on the site. The Getting Started page points to articles that provide newcomers with a gentle introduction to key internationalization topics and point to basic information on the site to get you going.