Translation How-To

From Freeplane - free mind mapping and knowledge management software
Revision as of 20:57, 12 April 2012 by Ldmpub (talk | contribs) (Instructions)

This page will give you all the information you need to translate Freeplane into your own language.


Freeplane translation (ie translation of the Graphical User Interface -GUI- )

These are all the strings displayed in Freeplane, especially in menus and dialogs.

Instructions

  1. Download Popeye translation tool
  2. Get the latest translation file from Freeplane source code repository both for the reference language (en) and for your language.
  3. In Popeye : create a project and do the translation, see this Flash tutorial
  4. Check the completeness of your translation file using TransCheck. However this check sometimes does not reflect the last development state because it is updated manually and not regularly.
  5. You can now add the new translation on your current Freeplane installation for test : in your Freeplane installation directory, create subfolders resources/translations and put your translation file there (if you are running Freeplane Portable version, subfolders to create are App\Freeplane\resources\translations). Start Freeplane and check your translation while running Freeplane
  6. When translation is ok, submit your file: go to the Mantis Bug Tracker (requires Sourceforge log-in) then
  • click on "Report Issue"
  • set project to "Translations"
  • upload your new translation file.

You're done! The development team will add your translation to the next release.

Current translation state

You can find the list of supported languages in the Freeplane translation table. This table also indicates the level of translation reached for each language. Notes :

  • this page is updated manually (see the date in bold on the 2d line)
  • this page is not relevant for Freeplane stable version but for the current preview / unstable / under development version of Freeplane.

Frequently Asked Questions

Why are translation strings ending with "[translate me]" ? 
As long as a key is missing in a translation Freeplane automatically uses "<English text> [translate me]" as translation. Translators should translate these strings in priority and then remove "[translate me]".
Why are translation strings ending with "[auto]" ? 
Translation files can be submitted to an automatic translation tool like Google translate, then strings of type "<English text> [translate me]" becomes strings of type "<local language text> [auto]". After a Translation Check, these strings appears in the category "Keys to be checked". Translators should search and review these strings and then remove "[auto]". However Freeplane does not use Google Translate for translating of program user interface because of its terms of use.
Why is there sometimes space before values ? 
spaces before values are ignored, don't care.
Why is there & character before some values (sometimes "in" the words) ? 
the ampersand (&) is used to mark keys in the menu (i.e. open the menu, press the key/letter to activate the menu entry) - while translating, you need to make sure that each letter is only used once per menu.
Some values begins by <html> with no </html> at the end ? 
Java accepts unclosed tags - don't care.
Some key are not used / displayed in the software 
you should stay aligned with the English version to be on the safe side, but if keys are not used, it's a bug you can report.
When testing Freeplane with my translation file, some menus are missing or some buttons have no label, why ? 
If you leave any empty keys in the file, Freeplane assumes they are valid translations and displays nothing. There are differences between "empty key in the translation file" which displays nothing and "missing key in the translation file" which displays "<English text> [translate me]" (see above). Note that saving your translation file with Popeye translation tool automaticaly adds empty values in the translation file for new key.

Tips for translators

Your translation is truncated 
If your translation is truncated when displayed, it may contains a ' character (e.g. Freeplane displays "Copier l" instead of "Copier l'identifiant"), you may simply enter the ' character twice (ie "Copier l"identifiant") as translation where " is twice the character '.

Translation of third party tool used in Freeplane

JOrtho spell checker

For spell check Freeplane relies on JOrtho project. JOrtho translation file contains very few strings and only 5 are used in Freeplane but if you want to translate this file too, you can get it at its current location.


Documentation map translation

This is the map mind you get when you press the <F1> key or use the menu point Help → Documentation.

Instructions

  1. Download the latest version of freeplane.mm and FP_MenuReference.mm (or an already existing versions in your language) from the Bazaar repository.
  2. Visit pages http://freeplane.sourceforge.net/doc/freeplane_all_languages.html and http://freeplane.sourceforge.net/doc/FP_MenuReference_all_languages.html to see how the documentation is automaticly translated by Google Translate.
  3. Using the latest development version of Freeplane, just create a map in your language (or complete the one already existing).
    • As it's almost impossible to track differences between maps and ensure an exact one to one relationship between the languages, we don't expect this from translators.
    • To track changes of freeplane.mm filters can be useful: Open the file in normal mindmap mode (not via F1) and apply a "Date filter" with the modification time set to the last time you have edited the translated map.
    • Just make sure that the map is consistent with the current version of Freeplane, as complete as possible and helpful to users.
  4. Go to the tracker (requires Sourceforge log-in) and upload your map (the Project should be set to Translations).


Keys Mapping translation

TBD


Java Help translation

TBD (the current version doesn't allow for localization). Hint for later: http://jhelpdev.sourceforge.net/