Go back to start page


All translations are up to date.

How to translate

First steps

We want this website to be available in as many languages as possible. For this to happen, we need your help. Helping out with translation of the content (or just parts of it) is nothing more remarkable than reading it in English and writing it in your language.

The code and content is organized in a repository on GitHub. If that confuses you, do not worry, we will be able to walk you through the translation work even if you know nothing about building websites. If you know your way around code, you should be able to just start reading the instructions below.

On the other hand, if you do not want to be near the ins and outs of the website, just send an email or post a message in our discussion group. Let us know what language you want to translate to and we will help you out. It may turn out others have already posted their interest in the same language, then you can work in a team and get it done much faster.

Creating a new translation

  1. Create a new directory in the site root and name it with an IETF language code, for example sv-SE.
  2. Copy index.html from the site root to the new directory.
  3. Translate the variables in the top section of the new index.html:
    • title
    • description
    • localized_language_name
    • read_in_another_language
    • translate_to_your_language
    • download_as_ebook
    • for_ios_and_others
    • for_kindle
  4. Translate the rest of the document, leaving all HTML as is. Internal links (starting with #) should be translated as well, and be based on the title of the linked question. These “slugs” are constructed by lowercasing the title, replacing all spaces with dashes, and converting all special character to ASCII. An easy way is to use an online slug generator, like this one.
  5. If you are on GitHub, push your translation to a new branch and open a pull request. More info on how this works is in the GitHub documentation.
  6. If not, just zip your new translation directory and send it to [email protected].

Updating an existing translation

On the top of this page there will be a list of translations that need updating, and a link to a diff showing what has changed since that language was last updated. With this information, you can make the necessary changes in the translation:

  1. Make sure you have the latest version of the website, by syncing your local copy with the main repository.
  2. Edit index.html in the language directory, updating it according to the latest version of the original.
  3. Open _config.yml and copy the value of latest_commit.
  4. Change the value of the based_on_commit variable in your translation by pasting the copied value from the previous step.
  5. Open a pull request for your update, or send it by email.

As soon as your updated translation makes it to the live site, the “update needed” notice on the top of this page will go away.

Go back to start page

Mesh pattern