WordPress Translators Handbook

Table of Contents

  1. Starting a new translation
    1. Why would I want to translate WordPress?
    2. What should I know in advance?
    3. Choosing locale name
    4. Requesting a new locale
    5. Adding more users to a repository
  2. Translating
    1. General guidelines
    2. Building a glossary for your language
    3. Message types
    4. Placeholders
    5. Translator comments
    6. Contexts
    7. Source-file references
  3. Translations repository
    1. General guidelines
    2. Building a glossary for your language
    3. Message types
    4. Placeholders
    5. Translator comments
    6. Contexts
    7. Source-file references
  4. Translation Tools
    1. Gettext overview
    2. Gettext command-line tools
    3. poEdit
    4. Pootle
  5. Local sites at <locale>.wordpress.org
    1. Requesting a new site
    2. Translating the site interface
    3. Requesting translations deploy
    4. Editing content
    5. Building local packages
    6. Releasing new versions
    7. Adding users
    8. Editing the main menu
    9. Showcase
  6. Local forums at <locale>.forums.wordpress.org
    1. Requesting a new forum
    2. Translating the forums interface
    3. Requesting translations deploy
    4. Adding moderators
  7. translate.wordpress.org

Starting a new translation

...

Why would I want to translate WordPress?

WordPress is a free software project. What this means is that everybody can contribute to it, and is encouraged to, in order for it to develop. That's why every free software project needs volunteers — people who are willing to contribute their free time to development of a particular piece of software, either by helping write code, design graphics, or… translate it. That's where you come in.

There are numerous ways your community could benefit from your translation. The most obvious one is probably enabling people who don't speak English to use WordPress at all. The lack of a translation could prove to be a difficult barrier for many to pass, so a translation is necessary for them to make use of WordPress. Many people also simply prefer to have their software translated, and would grab your translation just because of that.

Every translation can get a local website, which can contain static pages, a blog, a download section, where people can download all the releases of your translation, and an automatic update feature for all WordPress sites in your language! This means that every time a new version of your translation is released, its users are offered an upgrade on the dashboards of their own websites.

If your country has a great number of WordPress users, or gains one thanks to your translation, you may find that a place to provide each other with help could be nice. If you have been translating WordPress for some time and your translation is well established, you can request the creation of local forums. Other than providing each other with help, users of your translation could also exchange their views on WordPress and suggest changes that could be applied to your translation in one place hosted on the official WordPress servers.

Oh, and did I mention you get to work with a lot of great people?

Local sites at <locale>.wordpress.org

Requesting a new site

If there isn't a WordPress.org subdomain site in your language, you can request it at wppolyglots.wordpress.com. For details, please read the International WordPress Sites article on Codex.

Building local packages

When you are ready to build a package for testing or releasing a new version of WordPress in your language, you can use the package build tool located in your local site. The tool is located at "Tools → Translations for <locale>" (where <locale> is your locale code).

Preperation

  1. Check in all updated files into the current branch directory.
  2. If you are using the GlotPress translations, make sure everything is translated at translate.wordpress.org.
  3. Copy the current branch directory and created a new tag directory under locale/tags/X.X.X

Building a Package

  1. Select where you want to get your translations from (.po/.mo files under /messages svn folder or GlotPress).
  2. Locale Branch: This determines the location where your language-specific files are taken from. If you don't see the branch/tag, you will have to create one in the SVN repository and give it a few minutes. Alternatively, you can build from the trunk for some occasions.
  3. WordPress Branch: This determines where rest of the files are taken from.
  4. WordPress Revision Number: This is used when no tag is specified as WordPress Branch above.
  5. WordPress Version: The version number you would like to use as a part of the package file name. It can be a version number (e.g. 3.0 or 3.0.1) or a combination of a number and type of the release (e.g. 3.0-RC1 or 3.0-beta1).

Once all options are filled out, click the "Build" button at the bottom. The tool will check for errors, and the package will show up at the top of the list on this page if it is sucessfully built.

Releasing new versions

After building a new package, you can share the download URL among your translation team for testing. You can find the URLs under "Link" column on the Translations for <locale> page, in zip or tar.gz format.

If testing goes well and you're ready to release the final version to the public, simply click the version's "Release" link under "Action" column. This will mark the official release of that version. Users will be prompted for upgrade of their language package on their dashboard, and download information on your locale site will be updated.