Translation How-To
This page will give you all the information you need to translate Freeplane into your own language.
Contents
Freeplane translation (ie translation of the Graphical User Interface -GUI- )
These are all the strings displayed in Freeplane, especially in menus and dialogs.
Instructions
- Download Popeye translation tool
- Get the latest translation file from Freeplane source code repository both for the reference language (en) and for your language.
- In Popeye : create a project and do the translation, see this Flash tutorial
- 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.
- 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
- 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.
Automatic translation tools
The Translation add-on has two functions a) for the automatic translation of whole maps or branches of it and b) for checking and completing a language resource. The scripts have quite some limitations (e.g. text size is limited to 1000 characters per node, non-intuitive GUI). Download it from the add-on page.
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.
Translation of Tutorial or Documentation maps
These are the mind maps you get when you press Help → Tutorial (freeplaneTutorial.mm) and Help → Documentation (freeplane.mm).
Basic steps
- Create a working directory myTranslations.
- Copy the most recent English documentation from http://freeplane.sourceforge.net/mapsOnline. For this choose Help > Documentation Maps Online and select the map of your choice; or copy your last translation.
- make a subdirecory structure for images: myTranslations/doc; (if you use these, also myTranslations/mouse and myTranslations/key).
- Copy images you reuse or put new images you use in myTranslations.doc (possibly also myTranslations/mouse and myTranslations/key).
- Edit your translation. Drag your images from the defined subdirectories into your translation (assuming URI's are relative).
- Test the translation, in particular the images.
- Zip directory myTranslations.
- Select Help > report a bug, select new report of type translation and upload the zip file.
Note Check Help > Documentation Maps Online > indexMap > Images/doc for the images used in the present doc mind maps.
Old
- Download the latest version of freeplane.mm and FP_MenuReference.mm (or an already existing versions in your language) from the Bazaar repository.
- The current link is http://freeplane.bzr.sourceforge.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/files/head%3A/freeplane/resources/doc/ (but check if it's not an outdated link)
- 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.
- 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.
- 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/