Translation How-To

From Freeplane - free mind mapping and knowledge management software
Revision as of 18:30, 16 August 2016 by Haaihenkie (talk | contribs) (Freeplane GUI translation and improvement)

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


Freeplane GUI translation and improvement

This section describes the tools and (alternative) processes for Freeplane GUI translation. This translation concerns all the strings displayed in Freeplane program, especially in menus and dialogs.

English is the source language for all translations, so you need to know English to be a translator.

UI designers need to be able to improve the UI by improving the existing source English strings and by adding new tool tips. Since they use the same tools and almost the same processes, these processes are also described here.

Tools: Weblate and (soon to come) Freeplane translation editor

Since version 1.3.x Freeplane uses a new collaborative web based translation tool developed by Michal Čihař. Please note:

  • the translation is done for the "release" branch, currently 1.5.x branch

In order to be a translator you need to register here. If you are faced to bugs on the Weblate tool, you can report them here.

Online translation

Submit your FreePlane translations here.


How to test your Weblate translations:

Offline translation (soon to come)

New tool tips (soon to come)

The translator editor has also functionality for UI Designers to add new tool tips in order to improve the user interface. Translators can recognise these new tool tips by the fact that the entry field in translator editor is disabled or by the fact the Weblate button does not find any entry. A translator can enable the translation of a tool tip by taking over the role of the UI designer. It requires the translator to submit an English source string before the actual translation can start. It also requires an developer to add the new translation key and source string to Weblate, so enabling is not an instant action. Below a detail description of the different processes with regard to new tool tips.

UI designer process

This process is for new tool tips only. If you want to improve the source string of existing tool tips follow the regular process to change source strings.

  1. Check if there is any open "New tool tips" bug report. If so, wait till they are all closed and Weblate is up to date. If not, you might repeat your own work or overwrite your co-designers work.
  2. If the Freeplane language is other than English, change it to English in Preferences
  3. Close Freeplane
  4. Remove <fpuserdir>/1.5.x/UserResources_en.properties to prevent submitting the same new tool tips
  5. Download the English source through menu "Files > Download original translation file (Java Properties(ISO-8859-1))" from https://hosted.weblate.org/projects/freeplane/translation/en/. Save it as <fpuserdir>/1.5.x/viewer-resources/translations/Resources_en.properties. In this way your local source strings are up to date.
  6. Start Freeplane
  7. Hoover over the item you would like to add a tool tip to. If there is already a tool tip, skip the item. If not, press Ctrl+Shift+F10
  8. Enter the text for the tool tip (the bottom field) and press OK.
  9. Repeat the last 2 steps till you have finished what you had planned
  10. Close Freeplane
  11. Create a new [bug report](https://sourceforge.net/p/freeplane/bugs/) titled "New tool tips" and attach <fpuserdir>/1.5.x/UserResources_en.properties
  12. If necessary, change Freeplane back to the original language.

Translator process

If you want to enable translation for a certain tool tip, you should follow the following steps.

  1. Hoover over the item with the disabled tool tip and press Ctrl+Shift+F10.
  2. Press the Weblate button. If the translation key is present in Weblate, you can continue with normal online translation. For the offline translation process continue with that section below. If no translation key is present, continue with the next step
  3. Follow the steps of the UI designer process
  4. When the "New tool tips" bug report is closed, continue with online translation. For offline translation process continue with that section below.

Offline translation process for new tool tips

This is the same as the normal offline translation process, except that you need to update the English source strings to enable the new tool tip fields:

  • Download the English source through menu "Files > Download original translation file (Java Properties(ISO-8859-1))" from https://hosted.weblate.org/projects/freeplane/translation/en/. Save it as <fpuserdir>/1.5.x/viewer-resources/translations/Resources_en.properties. In this way your local source strings are up to date.

Change English source strings

Collaborate to translate to your native language

Communication by comments and review flags in Weblate

Consistent translation by using a glossary

Communication through the Freeplane

If you feel the need to discuss translations to your native tongue you can do so in your native language on the forum. Always search if there is already a thread for your language. Here is is an incomplete list of forum threads and pages related to the translation to different languages.

French / Français

You can have a look at:

Flemish/Dutch / Nederlands/Vlaams

  • Your can post your questions, remarks and requests in this thread

Frequently Asked Questions / Tips for translators

While running Freeplane, why are some 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 strings ending with "[auto]"? 
Translation files can be submitted to an automatic translation tool, then strings of type "<English text> [translate me]" becomes strings of type "<local language text> [auto]". Translators should search and review these strings and then remove "[auto]".
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 keys 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 it here.
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).
Your translation is truncated 
If your translation is truncated when displayed, it may contains a ' (apostrophe) 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 '. Most of the time, ' apostrophe characters should be handled as in the English version (for some strings which are used in format statements put them twice, for other strings put them once).

Translation of Freeplane add-ons

Add-ons manage their translations on their own, i.e. the translations are integrated into the add-on sources. Nevertheless, it's simple to translate an add-on by editing the add-on installation package in Freeplane and modifying the translations therein. If the translations contain non-ASCII characters you have to encode the text using a script, either from the Developer Tools (since version 0.9.16) or from here.

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

  1. Create a working directory myTranslations.
  2. 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.
  3. make a subdirecory structure for images: myTranslations/doc; (if you use these, also myTranslations/mouse and myTranslations/key).
  4. Copy images you reuse or put new images you use in myTranslations.doc (possibly also myTranslations/mouse and myTranslations/key).
  5. Edit your translation. Drag your images from the defined subdirectories into your translation (assuming URI's are relative).
  6. Test the translation, in particular the images.
  7. Zip directory myTranslations.
  8. 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

  1. Download the latest version of freeplane.mm and FP_MenuReference.mm (or an already existing versions in your language) from the 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/