Support » Requests and Feedback » New I18n approach

  • OC2PS


    I have recently discovered WP, and think that it is the emperor of all opensource software – easy to use, powerful, flexible, with tons of extensions, and vibrant community. Things like one-click installs/updates set the standard for everyone else.

    The one thing that I find needs some improvement is I18n/languages. Languages implemented via .po files means:
    – Customizing specific fields is not easy for most
    – Updates can break internationalizations
    – Modules can be hard to internationalize
    – One needs to depend of original translator to do it right
    – One needs to wait for original translator to update translation before one can update the software

    I have found that Gallery 3 (, while inferior in many ways, has an excellent approach that leverages the wisdom of the entire community.
    Localizing Gallery 3
    Gallery 3 is internationalized. Instead of containing language specific text messages, it tracks text in a special way so that it can be extracted and translated into other languages. Users will see a version of the text that has been converted into their own language.
    In order for the users to see a localized version of Gallery’s text, somebody must first translate the text messages that Gallery is going to display. This process is called “localization”.
    Gallery 3 has a built-in user interface to add your translations. To translate in Gallery 3, do the following:
    Browse to “Admin” > “Settings” > “Language” and activate the language you want to translate to.
    If the target translation isn’t the default language for your Gallery, go to your user settings and make the new language your account’s preferred language.
    Now enable the translation mode at the very bottom of the page “Admin” > “Settings” > “Language” by clicking on “Start translating”
    At the bottom right, click on “Translate” to show the translation interface
    Now you can browse around in your Gallery, select a message in the lower left and enter the translation in the lower right.
    To translate messages like “Start translating” and “Login”, i.e. messages that are never shown when you are in the translation mode, click in the translation UI on “Show all.” Also, note that you first have to click on “Get updates” to index all messages of your Gallery before “Show all” really shows all messages.

    Sharing Your Translations

    Translating is a lot of work. Luckily you don’t have to do it all yourself. If we all share our own translations, we all only have to do a fraction of the work. Please share your translations! To share (= upload) your translations, do the following:
    As a one time configuration step, “Admin” > “Settings” > “Language” and follow the instructions at the bottom of the page to get a translation API key.
    Once configured, all you have to do is click the “Share” button on the same page to upload your translations to the translation server.


    All your translations are stored in a single database table (“outgoing_translations”) on your own Gallery server.
    It’s recommended that you create a backup of this table if you’ve spent a lot of time adding your own translations. Else all the work might be gone if something bad happens to the server or to the Gallery installation.
    The translation server is a database to share translations with other Gallery users, and it’s located at
    There are multiple reasons why your translation submission to the translation server might not be accepted immediately
    If there is an existing translation for the same message and the same language, and you submit a new (better?) translation, the newer translation wins. But if the existing translation received more votes, it’s still the default translation for this message.
    If your translation contains HTML elements (e.g. Click me), then it is only immediately activated if the HTML is part of the small subset of valid HTML that is allowed in Gallery 3 translation messages.

  • The topic ‘New I18n approach’ is closed to new replies.