Simple Guide for Translators


TOC: Intro Install Use Publish


Barry Kauler, the Puppy Linux creator, has developed a unique tool for the internationalization of Puppy. It’s called MoManager and is available from the menu, under “Utilities”. It allows anybody to start translating one or more applications, or even the whole Puppy. Somewhere in 2013, L18L forked MoManager and created a faster and more translator-friendly version. Today he is the official MoManager developer/maintainer.

Barry’s vision was that people translating everything become “maintainers” for that language, while occasional translators can send their work to the maintainer of that language, so that it can be added to the language pack.

The beauty of MoManager is that it frees the translator from the technically more difficult aspects of software translation. E.g. each time MoManager is started, it builds a list of all translatable files on the system and divides them into two categories:

  1. translated (with indication showing which files are up-to-date and which might need updating)
  2. untranslated

The moment a translator selects a file to translate, MoManager creates a fresh ".pot file" ('Portable Object Template') internally and then presents a ".po file" ('Portable Object') to the translator, either in Geany or, if installed and selected, in Poedit. When the translation is finished and saved, that ".po file" is processed and creates a ".mo file" ('Machine Object'), which MoManager then automatically adds to the correct translations directory for that language.

Sounds complicated? Don't worry, this is just a bit of background info. Remember, MoManager will take care of all this, allowing you to just concentrate on the actual translating.

Another huge MoManager benefit is that everything you need to get started is already available in Puppy: MoManager and Geany, the text editor.


However, there are two things to explain here:

1. Up until now (March 2015), MoManager needs the "Devx" file to be installed. (This is the collection of apps and libraries needed by developers.) So most Puppies at this moment in time need this.

But again, Barry is leading the pack: in his most recent puplets (Quirky 6 and +), he includes everything needed by MoManager within the distro. This effectively means neither the Devx, nor anything else needs to be downloaded and installed to start translating! That will hopefully become standard practice in all Puppies in the near future.

2. Geany is a really nice editor and it's pre-installed, but many experienced translators prefer to use Poedit, the specialized translation editor. It is a stable and reliable tool,  just a download away...your choice!

(tip: if you choose Geany, change the font in Geany - Preferences to e.g. 'Sans' right away, your eyes will be grateful ;))

Possible Poedit downloads:

poedit-1.5.4-1  (PET)
poedit-1.5.4-1  (SFS)

Now, let's open MoManager.
(you will be prompted to download the Devx file, different for each version of Puppy)


After installing the Devx, start MoManager and you will see this screen: momanager window

mm-version You can now check the MoManager version (which is simply the date (y-m-d) of the last update) ...

... and have a look in the forum,
to see if newer versions are available.

mm-preferencesWhen you first open MoManager it's a good idea to take a moment and set up your preferences.
There's a button for that at the bottom.

Most important preferences are transLANG and MOMADIR.

On the left side the already translated files, the right side ones still to be translated: mm-translated/untranslated

An example in Geany: mm-geany exampleWhen the translation is complete, save it and close Geany ...

... and the same example in Poedit: mm-poedit example

When the translation is finished, save it and close Poedit.

mm-post-edit Closing the editor
- Poedit or Geany-
will open this message box.

Select 'OK' to continue.
The window also shows the locations where the files will be saved.

mm-message box Still selecting 'OK' activates the translation system.

All .mo files are located in: /usr/share/locale/it/LC_MESSAGES (it for Italian, just for the example of the image)

If you decide not to save the translation, just click ‘Cancel’ in the yellow message box and you will get this:

mm-aborted In this case nothing will be changed.

If you want to eliminate the translation simply delete it from LC_MESSAGES.


Single translations

Not a complete language pack but single translations are stored in the directory MOMADIR (see preferences). These files in tgz format can easily be distributed to be checked and/or used by others.

Building the langpack

Sooner or later there comes a time there's nothing left to translate ...or at least you feel enough has been translated to warrant creating a language pack.
The most glorious moment has arrived: letting MoManager create the language pack!

To do so, just click the green button in the bottom right corner mm-yes button
( or the PET button in older versions of MoManager mm-pet button )

MoManager...putting the fun back into translating :)

Simple Guide for Translators, version 0.2.3(2015-03-06)
Concept: xanad
contributors: xanad, Bert, L18L.
© Puppy Translators Team