Translation instructions

For ideas on what to translate, take look at the list of Articles, best practices & tutorials, select your language at the top right, and look for links that are still in English after the page has refreshed.

W3C Specifications

To find out how to translate a W3C specification in the space, see Contributing to W3C Translations. If you want to translate an article or tutorial in the space, read the rest of this page.

Internationalization pages

To translate a tutorial or article from the site, please follow the instructions on this page, and confirm that you agree:

  1. to the redistribution terms of the W3C document copyright notice. Consequently, your translation may be republished by the W3C or other entities if it is done in compliance with the notice's terms.
  2. that the W3C may rescind your right to publish or distribute the derivative work if the W3C finds that it leads to confusion regarding the original document's status or integrity. (Source.)
  3. that any links you add to the document must follow the rules in the section entitled 'Links' below.

You need to write to (archive) before starting and copy We'll check that the file isn't currently being translated by someone else, and that it isn't about to be updated. You should also indicate that you agree to the conditions on this page.

Do not translate the source text of pages displayed on the Web. It may be out of date, in the middle of an update, or already out for translation, or we may need to update the template or source text before sending to you.

Finding a page that needs translation

To find articles that need translation, go to the list of articles and in the top right of the page click on the language you are interested in.

The page will reload. Look down the list for titles that are still in English – these have not been translated.

You may also be able to help where content has been updated and we need to adjust the translations. These are listed in the left-most column of the translation radar page.

(As mentioned above, before you start you need to also check that the document is really appropriate for translation and get the right source code by contacting

Getting the source text

You'll want access not only to the text you are intending to translate but also to other files that provide boilerplate text, styling, and scripting transformations to the page.

If you are familiar with GitHub, by far the easiest way to proceed is to fork this repository. This will give you access to all the files you need. (See Github guidelines for working with i18n documents.)

Otherwise, we'll send by email a zipped package containing a subset of the files.

We use boilerplate text that will be incorporated into the displayed page. This approach will speed up your work, improve consistency, and help ensure that non-visible text is translated. If the boilerplate text hasn't yet been translated into your language, you will be asked to also send a translation of that.

Guidelines for doing the translation

If you feel you need to change any markup or style sheet rules, please contact us. We are open to suggestions, but want to check there are no unintentional side effects. Please inform us also if you plan to adapt, rather than just translate, the content during translation.

Do not change any of the JavaScript code, other than the variable values. There are comments in the text to help you identify what to change. Please don't translate the comments either.

Sometimes an element will have translate="no" on it. In principle, the content of these elements should not be translated, except for any subelements with translate="yes" on them.

Don't forget to translate hidden text such as the meta description element, alt text, and so forth.

Don't forget to change the value of the lang attribute on the html tag, and as part of the boilerplate-xx.js filename a little lower down.

Links to pages below /International should not end with .html (this is to facilitate language negotiation). Please check that all links work before sending the file for publication.

Links (Important)

As a courtesy, we allow you to provide a link from your name to a page that gives information about you as an individual. The link may also be about your organization but if, and only if, it specializes in translation services. We added these restrictions because we found that some people were more interested in linking to commercial pages than providing quality translations.

Such links will have a rel attribute set to nofollow.

For an individual, this should be a personal blog, personal home page, or a bio page.

For a translation vendor organization, this could be their home or about page.

We will not accept links to pages that, in our view, are overly heavy with links to, or information about, products that are not related to translation. The purpose of the link should be to provide information to readers of the article about the person or organization doing the translation. Using a link to any other type of page or site is not acceptable.

Pre-final checks

Before returning the translated files, please check the following:

The file is saved in the utf-8 character encoding.

Links to files under start with /International.

Links to html files on the W3C don't include extensions (ie. no .html).

img src= attributes link to images in the <filename>-data directory.

The content of elements that have translate="no" is not translated.

Variable values have been provided in the javascript at the top of the page for thisVersion, contributors, and translators.

The value of the lang attribute in the html tag, and as part of the boilerplate-xx.js filename, lower down, has been changed.

The content attribute of the meta description element is translated.

There is no remaining invisible text, especially alt and title attribute text.

The file validates as HTML5.

Send back the translation

Before sending us the translated text, please use the translation checklist to check your text.

Please ensure that your translation is valid HTML5 and uses the UTF-8 character encoding before telling us that the translation is ready.

If you are using GitHub, submit a pull request.

Otherwise, send just the changed files, individually as attachments to an email, to for hosting on the W3C site (where we will use language negotiation). No need to send any of the files supplied to you if they weren't changed.

We will check the file before publication, and get back to you if changes are needed.

What happens next?

After we received the translation, with any requested modifications, we'll post it to our GitHub staging site, where you can check it. When all is good, we'll publish to the main W3C site and send out an announcement.

If you are translating more than one article, we'll usually wait for the whole batch to be ready before publishing to the W3C site and announcing.

Updating pages

If the English version of a page is updated, a note will be sent to the list with information about what changed, and a request for the translator to update their translation.

If the changes are only small additions, such as a new paragraph or a new short section, the English may be added to the translation while awaiting an update. The page will have a banner added to it that says it is out of date, and will point to the English original.

If the changes involve substantive or extensive changes, the translation will be removed until an updated version is provided.

Benefits of participating in translation

  • Improve your English proficiency and online collaboration skills
  • Make your name appear in W3C Internationalization documents
  • Get to know participants of the W3C community and discuss the future of the Web together