Mahogany Translator's Guide

Working from the Mahogany source tree
The prefered method is to work from CVS. You won't need to compile the program, although you should periodically re-pull the sources so that you are working with the most-current strings. You will need write access to the locale directory in the install tree.

  1. Run configure and set the --prefix=PREFIX option to reflect the installed location.
  2. Create an empty .po file in M/locale using the two-letter country code (e.g. M/locale/it.po for Italian). If it's a dialect, the file name should look like xx_XX where XX is the dialect.
  3. Run make mergecat in the main M directory or the M/locale directory. This will create a file M/messages.po containing all the messages and merge them into all the xx.po files.
  4. The xx.po files will have all new (or modified) entries marked as "fuzzy". The quickest way to update them is to search for fuzzy in the file and check those strings.
    Tip: Use Vaclav Slavik's poedit to edit the files. It provides an easy-to-use GUI interface.
    Tip: If you can't use poedit for some reason, be sure to remove the fuzzy comment from entries that are correct, so later you can find entries that still need to be revised.
  5. A make install in M/locale will install the .mo files in the right location, which is below the PREFIX/share/Mahogany/locale directory (with PREFIX being, e.g. /usr/local). This is not the standard system location for .mo files!
    There is no need to tell the Makefile about your new xx.po file; it will be found automatically!
  6. Once you are satisfied with the translated strings, check the file into CVS so that everybody can use it.

Working with a simple text file
If you don't want to get involved with the procedure above, you can just work with a simple text file containing the text to be translated. This you can easily translate without any knowledge of how it actually will be used.

  1. Try to use this file as a starting point for the translations. (Rename it as suggested above.) If that link fails, ask us to send you a .po file.
  2. Notify the developers list that you wish to do the translation so that we can coordinate translations for a given language.
  3. Edit the file as discussed above.
  4. Please check that there are no syntax errors in the file by running msgfmt -v on it.
  5. To send the file to us, submit the translations file as a patch to the SourceForge patch manager and someone will incorporate it.

Existing translations
This table summarizes the state of the current translations as of Feb 3, 2003:

Language[Note]StatusLast updateFileLast Translator
German97%current 0.642003-01-27 de.po Martin Jost
Spanish22%current 0.632001-06-12 es.po Leandro Lucarella
Finnish20%current 0.212000-10-02 fi.po Lauri Jutila
French21%current 0.22a2001-01-19 fr.po Vadim Zeitlin
Italian49%current 0.22a2000-10-02 it.po Luca Ferraro
Dutch31%current 0.222000-01-30 nl.po Arthur Muller
Portuguese52%current 0.642001-10-28 pt.po Jorge Resende
Brazilian Portuguese27%current 0.212000-10-02 pt_BR.po Carlos Henrique Bauer
[Note] percentage of strings with translations, not including fuzzy translations

Volunteers for some other languages have contacted us, but not contributed translations yet. These translations will be included in the latest release as they become available.

How to use translations
Under both Unix and Windows the translation for the user's default current language should be used automatically, however if this doesn't happen for whatever reason (please let us know about it!) or if you want to use a different language than the default one, please do the following:

  1. Get the translations for your language. Note that you need to have the compiled message catalog (e.g. de.mo) and not a source message catalog (de.po). The translations are included in the Windows installer and under Unix they can be built using the standard msgfmt tool: "msgfmt -o de.mo de.po".
  2. After this you need to install the .mo file:
    • Under Unix, copy the file to /usr/share/locale/de/LC_MESSAGES/M.mo (where you should replace de with the short form of your language)
    • Under Windows, the simplest solution if you only plan to use one language is to copy the file to M.mo in the same directory as M.exe itself. Alternatively, you can put the message catalog file in a subdirectory of that directory named according to a long name of your language (see below)
  3. Start Mahogany using --lang=language option. The valid language names unfortunately depend on the system and you should use short names under Unix such as "de" or "fr" while the long ones such as "German" or "French" under Windows (but the latest versions of Mahogany should understand both short and long options under both systems).

    Note that there is a special value which may be given instead of the language: --lang=none will never use the translations. This may be handy if the translations for your language exist but are so incomplete that it is better to use the English strings instead.

These pages are maintained and (C) 1997-2006 by Vadim Zeitlin. Any suggestions or comments welcome.
This page last changed Sun Dec 25 21:17:58 UTC 2011 .