/development/add a localization

Add a New Language (Localization) to MojoMojo


MojoMojo uses .po files to stores words, phrases and sentences of a language. For example, the base language file is en.po for English. The .po files are found in:



Let's say I want to add català as a language that MojoMojo supports. Here are the steps:

Make Edits

  • Copy en.po to ca.po
  • Edit the ca.po by adding Catalan text on the msgstr line which is equivalent to the English text on the msgid line.

For example:

msgid "Upload"
msgstr "Carregar"

There is also script, which can create new or update existing po file. Simply run:

script/ ca

Enable the new Language

In order for the new language to show up as an option1, one must add the base name of the file (ca in this example) to the Template file:



When editing a new language there will be lines that take variables (indicated with %1, %2 etc). One can use the comments above msgid to see exactly what the variable is and which file contains the phrase in order to make the best translation.

For example, when translating:

 #. (page.path)
 #: root/base/page/ root/base/page/ root/base/page/
 msgid "Recent changes in x"
 msgstr "Recent changes in %1"

The value that will come into %1 (and x) is page.path. One could also look into root/base/page/ at line 8 to see the full context:

loc('Recent changes in x', page.path)


  1. The language choices are currently at the bottom of MojoMojo pages - February 18, 2009. ↩