Translation: Difference between revisions

From FreeMind
Jump to navigationJump to search
 
(107 intermediate revisions by 18 users not shown)
Line 1: Line 1:
<table><tr>
<td width=600>
How to contribute translations to FreeMind follows.
How to contribute translations to FreeMind follows.


==Step-by-step overview==
==Step-by-step overview==


# Get a SourceForge user.
# Choose the editing tool if getting started.
# Get the latest English translation.
# Get the latest English translation.
# Get the latest translation for your language.
# Get the latest translation for your language.
# Find what is missing.
# Find and complete what is missing.
# Complete what is missing.
# Set mnemonics in the translations.
# Convert to Java unicode notation of needed.
# Post to Translations tracker.
# Post to Translations tracker.
# Register yourself as FreeMind translator if you prefer.


==Getting the latest translations==
==Getting a SourceForge user==


Look for a translation into your language present in the development  [http://cvs.sourceforge.net/viewcvs.py/freemind/freemind/?only_with_tag=fm_041017_base_integration branch].  
To get a SourceForge user, visit [http://sourceforge.net/account/registration/ creation page], unless you already have a user. (You need a SourceForge user to post your translation to Translations tracker, as described below.)
If such a translation isn't present, take [http://freemind.cvs.sourceforge.net/freemind/freemind/Resources_en.properties?view=log the latest revision of Resources_en.properties].


==Translating the gaps==
==Getting the latest translations==


Translate the labels in the text at the right side from = to your language.
Look for a translation into your language present in the development  [https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/ branch].
If such a translation is not present, take [https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/Resources_en.properties Resources_en.properties].


==Editing translation files==
==Choosing the editing tool==


Translation files can be edited using variety of tools.
Translation files can be edited using variety of tools.


===Propedit===
===Popeye===
You can directly create and edit any java property file in any language using [http://propedit.sourceforge.jp/index_en.html Propedit].


: This editor can directly edit property files written in Unicode reference characters, and saves the time and effort of converting into Unicode through native2ascii. In addition to the usual functions of an editor, the plugin is integrated with Eclipse and JBuilder. Files can be opened in the IDE and saved in Unicode. It can use by intuitive and simple operation. For details, see [http://sourceforge.jp/projects/propedit Propedit].
[http://popeye.sourceforge.net/ Popeye] <sup>[http://popeye.sourceforge.net/images/ScreenShot-0-4.jpg Screenshot] | [http://sourceforge.net/project/showfiles.php?group_id=136501 Download]</sup> can deal with several language property files at the same time, so you can contrast the original property file data with their translations. Also, the program can highlight all properties that do not have a translation set in one of the selected languages.


===Popeye===
: After a short test, I can recommend Popeye. No installation needed, works fine, looks good, and has a nice web.--[[User:Danielpolansky|Danielpolansky]] 03:26, 2 Jun 2007 (PDT)


[http://popeye.sourceforge.net/ Popeye] can deal with several language property files at the same time, so you can contrast the original property file data with their translations. Also, the program can highlight all properties that do not have a translation set in one of the selected languages.
===Propedit===
[http://propedit.sourceforge.jp/index_en.html Propedit]<sup>[http://propedit.sourceforge.jp/screenshot/eclipse/screenshot_eclipse_en.html Screenshot]</sup> can directly edit property files written in Unicode reference characters, thereby saving the time and effort of converting into Unicode through native2ascii. Its plugin is integrated with Eclipse and JBuilder. Files can be opened in the IDE and saved in Unicode. See also [http://sourceforge.jp/projects/propedit Propedit project page].


===Plain text editor===
===Plain text editor===


You can save your property file in UTF-8 encoding; this is possible e.g. using Microsoft Notepad. In that case, conversion as described in the following section is needed.
A plain text editor is the tool of choice if you are well acquainted with them and prefer them. If so, you already probably have your favorite tool. If not, these tools include Microsoft Notepad, Notepad++, Vim, Emacs and a vast variety of other tools.  
 
Using plain text editor is more tricky in that the language translation files are using Java unicode notatiton, encoding a single non-latin character like <tt>\u4567</tt>, making the file less readable. A workaround is to convert the language file into UTF-8 encoding first, then edit it, and finally convert to Java notation again. The conversion is described in the following section. Once the text is in UTF-8 encoding, tools like Microsoft Notepad can be used, and the non-latin characters are shown as you would see them in a WYSIWYG editor. However, various plain text editors differ in their capability to show UTF-8 characters. Notepad on Windows XP is definitely able to do that.
 
====Converting between Unicode notations====


==Converting between Unicode notations==
To convert a file in UTF-8 into <tt>\uXXXX</tt> Unicode escape notation, you may use [http://java.sun.com/j2se/1.3/docs/tooldocs/win32/native2ascii.html native2ascii] tool included with the Java SDK. Example of use (Resources_cs.properties.txt is before conversion):


To convert a file in UTF-8 into \uXXXX Unicode escape notation, you may use [http://java.sun.com/j2se/1.3/docs/tooldocs/win32/native2ascii.html native2ascii] tool included with the Java SDK. Example of use (Resources_cs.properties.txt is before conversion):
<small><!-- Better in CSS style sheet -->


  cd C:\j2sdk1.4.2\bin>
  cd C:\j2sdk1.4.2\bin>
  native2ascii.exe -encoding UTF8 Resources_cs.properties.utf8.txt Resources_cs.properties
  native2ascii.exe -encoding UTF8 Resources_cs.properties.utf8.txt Resources_cs.properties
</small>


Ideally, your file's name will be ''Resources_xx.properties'', where ''xx'' is the code of the language (e.g. en, de, dk etc.).
Ideally, your file's name will be ''Resources_xx.properties'', where ''xx'' is the code of the language (e.g. en, de, dk etc.).


To convert \uXXXX Unicode encoded file back to UTF-8, use a command similar to the following.
To convert \uXXXX Unicode encoded file back to UTF-8, use a command similar to the following.
<small>


  cd C:\j2sdk1.4.2\bin>
  cd C:\j2sdk1.4.2\bin>
  native2ascii.exe '''-reverse''' -encoding UTF8 Resources_cs.properties Resources_cs.properties.utf8.txt
  native2ascii.exe '''-reverse''' -encoding UTF8 Resources_cs.properties Resources_cs.properties.utf8.txt


==Posting to Translations tracker==
</small>
 
===Translate with PO tools: Virtaal and prop2po===
 
You can also use a traditional PO translation tool such as [http://virtaal.org Virtaal] if you convert the properties file to PO format.
 
To convert from properties to PO, you will need the [http://translate.sourceforge.net/wiki/toolkit/prop2po prop2po] command from the [http://translate.sourceforge.net/wiki/toolkit/index Translate Toolkit]. Assuming your language code is ''xx'', use the following command for the conversion:
 
: <tt>prop2po Resources_en.properties Resources_xx.properties.po</tt>
 
Now open ''Resources_xx.properties.po'' in Virtaal. Set your target language in Virtaal: this ensures that various features like spell checking, translation memory and terminology will be set correctly.
 
Before you submit or test your translation, you will need to convert it back to Java properties format as follows:
 
: <tt>po2prop -t Resources_en.properties Resources_xx.properties.po Resources_xx.properties</tt>
 
This will convert your PO file into a Java properties file using the English properties file as a template. All Java escaping of Unicode will happen automatically. Submit your properties file as usual.
 
==Setting mnemonics==
 
For menu items, you can set mnemonics by putting "&" character before the letter of the mnemonic in the title of the menu item. For instance, "&Edit" means that the title of the menu will read "Edit" and its mnemonic will be "e". Mnemonic is a keyboard shortcut accessible in various ways; in Windows, either by pressing Alt + mnemonic, or by pressing F10, followed by the mnemonic. Mnemonics are there not only for the leading menus, but also for submenus and menu items.
 
==Posting translations==
 
[http://sourceforge.net/tracker/?atid=961129&group_id=7118 Send your translation to Translations tracker]. To be able to do it, you need a SourceForge user, which can be created at [http://sourceforge.net/account/registration/ Account Registration] page at SourceForge.
 
==Registering yourself as FreeMind translator==
 
If you are seriously planning to become a FreeMind translator, and want to receive ''Call for translations'' emails from us, please register yourself as translator by subscribing to  [http://sourceforge.net/mailarchive/forum.php?forum_name=freemind-translator freemind-translator] mailing list. To subscribe, follow [http://lists.sourceforge.net/lists/listinfo/freemind-translator this link], and fill in the form.
 
==When to translate==
 
We send a ''call for translation'' email after publishing the first release candidate of FreeMind, as at that point we can make sure that only few or possibly none new texts to translate will be added.


[http://sourceforge.net/tracker/?atid=961129&group_id=7118 Send your translation to Translations tracker].
A translator can still start creating and posting translations at any point of time, so he or she can distribute the workload in time.


==Using new translation in FreeMind==
==Using new translation in FreeMind==


# Write or download the Resources_xx.properties file.
# Write or [http://sourceforge.net/tracker/?atid=961129&group_id=7118 download] the <tt>Resources_xx.properties</tt> file.
# Unpack the freemind.jar file with 7-Zip or similar into a temp folder.
# Unpack the <tt>freemind.jar</tt> file with 7-Zip or similar into a temp folder.
# Replace or add the Resources_xx.properties with the new one.
# Replace or add the <tt>Resources_xx.properties</tt> with the new one.
# Repack the freemind.jar with the modified content of the temp folder.
# Repack the <tt>freemind.jar</tt> with the modified content of the temp folder.
 
== Menu label checklist ==
{| {{Table style}}
! Menu Label Checklist  || Poor || Good
|-
| In English, use capitalized labels  || Move to root            || Move to Root
|-
| Menu items leading to a dialog should end with ... .    || Open <br> Close ...      || Open... <br> Close
|-
| Do not repeat the verb already used in the menu heading || Export > Export to PNG <br> Insert > Insert Hyperlink  || Export > As PNG <br> Insert > Hyperlink
|}


==State of translation==
==State of translation==


Currently, we have the following languages translated.
Currently, we have the following languages translated. The table below is out of date, mapping roughly the state at 0.8.1. It would be very helpful if the translators would update it. Up-to-date information of the state of translation can in any case be [http://freemind.git.sourceforge.net/git/gitweb.cgi?p=freemind/freemind;a=summary found in GIT] and in [http://sourceforge.net/tracker/?atid=961129&group_id=7118 Translations tracker].
{| border="1" cellspacing="0" cellpadding="2"
 
! colspan="7" style="background:#fff8f0;" | Already Translated Languages
{| {{Table style}}
|-------------------------------------------------
|+ Already Translated Languages
! | Language || Language   || Short || If released || Translator || Reviewer || Capitalized Titles
! | Language || Language || Code || GIT || Translator || Last version patch || Last up-to-date version  || Capitalized titles || Translated help map
|-----------------------------------------------------------------
|-
| Czech    || Česky      || cs || not released || Radek Švarz || Daniel Polansky ||No
| Arabic    ||            || ar    || {{Translation CVS|ar}} || {{SF user|nasser_almesad|Nasser Almesad}} || || || ||
|-----------------------------------------------------------------
|-
| Chinese    || trad.chinese || zh|| [http://sourceforge.net/tracker/index.php?func=detail&aid=1179121&group_id=7118&atid=307118 released] || [http://java.fromtw.com william chen] || &nbsp; || &nbsp;
| Basque    || Euskara    || eu    || {{Translation CVS|eu}} || {{SF user|azkentximinoa|Mikel Iturbe Urretxa}} || || 0.9.0 || No || No
|-----------------------------------------------------------------
|-
| Chinese    || simp.chinese || zh_CN|| [http://sourceforge.net/tracker/index.php?func=detail&aid=1179573&group_id=7118&atid=307118 not released] || [http://java.fromtw.com william chen] || &nbsp;  || &nbsp;
| Bulgarian ||            || bg    || {{Translation CVS|bg}} || {{SF user|vel_|Velislav Ivanov}} || || 0.9.0 || No || No
|-----------------------------------------------------------------
|-
| Danish  || Dansk      || dk || released    ||             ||                 ||   
| Catalan  ||           || ca    || {{Translation CVS|ca}} || {{SF user|albertalcaine|Albert Alcaine}} || || || ||
|-----------------------------------------------------------------
|-
| Dutch    || Nederlands  || nl || [http://sourceforge.net/tracker/index.php?func=detail&aid=1157653&group_id=7118&atid=307118 released] || Koen Roggemans ||             ||No
| Croatian  ||            || hr    || {{Translation CVS|hr}} || || || || ||
|-----------------------------------------------------------------
|-
| English  || English    || en || released    || N/A        ||                 || Yes
| Czech    || Česky      || cs    || {{Translation CVS|cs}}    || {{SF user|allitaice|Radek Švarz}} || || || No ||
|-----------------------------------------------------------------
|-
| Finnish || Suomi      || fi  || not released || Matti Lassila ||     ||
| Chinese, Traditional  ||  || zh_TW || {{Translation CVS|zh_TW}} || {{SF user|willyann|William Chen}} || || 0.8.1? || &nbsp; ||
|-----------------------------------------------------------------
|-
| French  || Francais    || fr || released    ||             ||                 ||
| Chinese, Simplified  ||  || zh_CN || {{Translation CVS|zh_CN}} || {{SF user|willyann|William Chen}} || ||  || &nbsp;||
|-----------------------------------------------------------------
|-
| German  || Deutsch    || de || released    || Christian Foltin ||                 ||
| Danish    || Dansk      || da || {{Translation CVS|da}} ||                || || 0.8.1? ||  ||
|-----------------------------------------------------------------
|-
| Hungarian ||           || || not released || [http://documan.sourceforge.net/ documan] ||     ||
| Dutch    || Nederlands || nl || {{Translation CVS|nl}} || {{SF user|koenr|Koen Roggemans}} ||[https://sourceforge.net/tracker/index.php?func=detail&aid=3604108&group_id=7118&atid=961129 10rc1] || 0.9 || No || No
|-----------------------------------------------------------------
|-
| Italian  || Italiano    || it || released    || Bob Alexander ||      ||
| English  || English    || en || {{Translation CVS|en}} || N/A            || || 0.8.1? || Yes || Yes
|-----------------------------------------------------------------
|-
| Japanese || Nihongo    || ja || released    || Kohichi Aoki ||        ||
| Estonian  || Eesti      || et || {{Translation CVS|et}} || {{SF user|elaugasson|Edmund Laugasson}} || [https://sourceforge.net/tracker/index.php?func=detail&aid=2020147&group_id=7118&atid=961129 0.9.0.beta18] [https://sourceforge.net/tracker/index.php?func=detail&aid=2505768&group_id=7118&atid=961129 0.9.0 RC1] || 0.8.1?  || Yes || Yes
|-----------------------------------------------------------------
<!--
| Korean  || Hangeul      || kr || [http://sourceforge.net/tracker/index.php?func=detail&aid=1236421&group_id=7118&atid=307118 released(rc5)]    || Kim Jong Woo ||        ||
Finnish is not available.
|-----------------------------------------------------------------
|-
| Polish  || Polski      || pl || not released || Rafal Kraik      ||  || No
| Finnish  || Suomi      || fi || {{Translation CVS|fi}} || ||  || ''Not in CVS'' ||
|-----------------------------------------------------------------
-->
| Portuguese || Português || pt || not released || Luis Ferreira      ||  ||
|-
|-----------------------------------------------------------------
| French  || Francais    || fr || {{Translation CVS|fr}} || {{SF user|sgamel|Sylvain Gamel}}, {{SF user|ewl|Eric Lavarde}}, {{SF user|srombauts|Sebastien Rombauts}}, Daniel Berthereau  || || 0.8.1?    || || Yes
| Brazilian Portuguese || Português brasileiro || pt_BR || not released || [http://sourceforge.net/sendmessage.php?touser=1492544 Rodrigo Rizzi Starr]  ||  ||
|-
|-----------------------------------------------------------------
| Galician ||            || gl || {{Translation CVS|gl}} ||  || || || ||
| Russian  || Pусский    || ru || not released || Prokudin Alexander ||    ||
|-
|-----------------------------------------------------------------
| German  || Deutsch    || de || {{Translation CVS|de}} || {{SF user|christianfoltin|Christian Foltin}} || || 0.8.1?     || || Yes
| Slovenian  ||      || sl || released    ||  Martin Srebotnjak - filmsi      ||    || No?
|-
|-----------------------------------------------------------------
| Greek  || Ελληνικά    || el || {{Translation CVS|el}} || {{SF user|sarikoudis}}, Yannis Kaskamanidis || || 0.9.0 RC4  || ||
| Spanish  || Espanol    || es || released    || Hugo Gayosso      ||    || Yes
|-
|-----------------------------------------------------------------
| Hungarian ||            || hu || {{Translation CVS|hu}} || {{SF user|documan}} || ||  ||      ||
| Turkish  || Türkçe      || tr || [https://sourceforge.net/tracker/download.php?group_id=7118&atid=307118&file_id=186544&aid=1530176 not released] || Uğur Çetin        ||   || Yes
|-
| Indonesian ||          || id || {{Translation CVS|id}} || {{SF user|permataharahap|Perry Harahap}} || || || ||
|-
| Italian  || Italiano    || it || {{Translation CVS|it}} || {{SF user|bobalex|Bob Alexander}}, {{SF user|valtermura|Valter Mura}} || || 0.8.1? || ||
|-
| Japanese || Nihongo    || ja || {{Translation CVS|ja}} || {{SF user|drikin|Kohichi Aoki}}, {{SF user|tomophy|Tomohiro Sembongi}} || || 0.8.1? / 0.9.0 || ||
|-
| Korean  || Hangeul      || ko || {{Translation CVS|ko}} || {{SF user|goliathz|Kim Jong Woo}}, {{SF user|lyg73|Yang gyu, Lee}} || || 0.8.1? ||      ||
|-
| Lithuanian ||          || lt || {{Translation CVS|lt}} || {{SF user|oxiris}} || || || ||
|-
| Norwegian Bokmål ||    || nb || {{Translation CVS|nb}} || {{SF user|larslem}} || || || ||
|-
| Norwegian Nynorsk ||    || nn || {{Translation CVS|nn}} || {{SF user|yjlandro|Y J Landro}} || || || ||
|-
| Polish  || Polski      || pl || {{Translation CVS|pl}} || Rafal Kraik, {{SF user|kfoltman}} || || || No ||
|-
| Portuguese || Português || pt_PT || {{Translation CVS|pt_PT}} || Luis Ferreira, {{SF user|alvalente|Luis Valente}} || || || ||
|-
| Brazilian Portuguese || Português brasileiro || pt_BR || {{Translation CVS|pt_BR}} || {{SF user|nonducor|Rodrigo Rizzi Starr}}, {{SF user|echofloripa|Emerson Cargnin}} || || ||  ||
|-
| Romanian || Română      || ro || {{Translation CVS|ro}} || {{SF user|nicoleta_negut|Nicoleta Negut}} ||  ||  ||  ||
|-
| Russian  || Pусский    || ru || {{Translation CVS|ru}} || {{SF user|dpolivaev|Dimitry Polivaev}}, {{SF user|sergeykotkin|Sergey Kotkin}} || || 1.0.0 Beta1||  || Yes
|-
| Slovak  || Slovenský  || sk || {{Translation CVS|sk}} || {{SF user|viliambur|Viliam Bur}} || || || ||
|-
| Slovenian ||            || sl || {{Translation CVS|sl}} || {{SF user|filmsi|Martin Srebotnjak}} || || 0.8.1? ||    || No?
|-
| Spanish  || Espanol    || es || {{Translation CVS|es}} || {{SF user|hgayosso|Hugo Gayosso}}, {{SF user|sergist|Sergio González}}  || || 0.8.1? || Yes || Yes
|-
| Swedish  || Svenska    || se || {{Translation CVS|se}} || {{SF user|andber|Anders B.}}, {{SF user|gustavsson|Hans Gustavsson}} || || 0.9.0 || No? ||
|-
| Turkish  || Türkçe      || tr || {{Translation CVS|tr}} || {{SF user|jnmbk|Uğur Çetin}} || || ||   || Yes
|-
| Ukrainian ||            || uk_UA || {{Translation CVS|uk_UA}} || {{SF user|dubyk|Serhij Dubyk}} || || || ||
|-
| Vietnamese ||          || vi || {{Translation CVS|vi}} || {{SF user|dinhtrung|Nguyen Dinh Trung}} || || || ||
|}
|}
Columns:
* ''Last version patch:'' enter a link to the latest existing patch with the FreeMind version it concerns as text.
* ''Last up-to-date version:'' enter the newest released version of FreeMind with up-to-date translation; consider beta versions as well.
* ''Capitalized titles:'' Whether the titles use title case such as "Mind Mapping" rather than "Mind mapping", as is the case with English.
The ISO 639-1 language codes can be found in [http://en.wiktionary.org/wiki/Appendix:ISO_639-1_language_codes Wiktionary].
==Translating the documentation==
The freemind.mm file, which is documentation in mindmap format, is a simple XML file.  It can be found in your FreeMind installation (eg in Microsoft Windows XP, you'll find it in ''C:\Program Files\FreeMind\doc'').  Open the file in a Unicode enabled text editor, and then simply translate everything in the TEXT attribute.  For example:
  <node COLOR="#000000" CREATED="1124560950701" MODIFIED="1124560950701"
  TEXT="You can install the applet at your website so that other users can
  browse your mind maps.">
===Using Swordfish===
If you want to use translation memory or a CAT tool, you can now use [http://www.maxprograms.com/products/swordfish.html Swordfish] to translate MM files.  Swordfish is not free software.
First, create a file named config_map.xml and put the following code in it:
  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE ini-file PUBLIC "-//Maxprograms//Converters 2.0.0//EN" "configuration.dtd" >
  <ini-file><tag attributes="TEXT" hard-break="segment" keep-format="yes">node</tag></ini-file>
Then copy this file into the /ini folder of your Swordfish installation (there may be a file by that name already; if so, rename it temporarily).
Run Swordfish and go File -> Convert file to XLIFF format.  Remember to select the file type as "XML (Generic)" and the encoding as "UTF8".  If you select "Embed skeleton", you may be able to recreate the MM file with a third-party XLIFF editor.
==Feedback==
Do you find this page difficult to understand? Are you missing some key information? [http://freemind.sourceforge.net/wiki/index.php?title=Talk:Translation&action=edit Tell us].
[[Category:Development]]
</table>

Latest revision as of 19:13, 12 April 2013

How to contribute translations to FreeMind follows.

Step-by-step overview

  1. Get a SourceForge user.
  2. Choose the editing tool if getting started.
  3. Get the latest English translation.
  4. Get the latest translation for your language.
  5. Find and complete what is missing.
  6. Set mnemonics in the translations.
  7. Post to Translations tracker.
  8. Register yourself as FreeMind translator if you prefer.

Getting a SourceForge user

To get a SourceForge user, visit creation page, unless you already have a user. (You need a SourceForge user to post your translation to Translations tracker, as described below.)

Getting the latest translations

Look for a translation into your language present in the development branch. If such a translation is not present, take Resources_en.properties.

Choosing the editing tool

Translation files can be edited using variety of tools.

Popeye

Popeye Screenshot | Download can deal with several language property files at the same time, so you can contrast the original property file data with their translations. Also, the program can highlight all properties that do not have a translation set in one of the selected languages.

After a short test, I can recommend Popeye. No installation needed, works fine, looks good, and has a nice web.--Danielpolansky 03:26, 2 Jun 2007 (PDT)

Propedit

PropeditScreenshot can directly edit property files written in Unicode reference characters, thereby saving the time and effort of converting into Unicode through native2ascii. Its plugin is integrated with Eclipse and JBuilder. Files can be opened in the IDE and saved in Unicode. See also Propedit project page.

Plain text editor

A plain text editor is the tool of choice if you are well acquainted with them and prefer them. If so, you already probably have your favorite tool. If not, these tools include Microsoft Notepad, Notepad++, Vim, Emacs and a vast variety of other tools.

Using plain text editor is more tricky in that the language translation files are using Java unicode notatiton, encoding a single non-latin character like \u4567, making the file less readable. A workaround is to convert the language file into UTF-8 encoding first, then edit it, and finally convert to Java notation again. The conversion is described in the following section. Once the text is in UTF-8 encoding, tools like Microsoft Notepad can be used, and the non-latin characters are shown as you would see them in a WYSIWYG editor. However, various plain text editors differ in their capability to show UTF-8 characters. Notepad on Windows XP is definitely able to do that.

Converting between Unicode notations

To convert a file in UTF-8 into \uXXXX Unicode escape notation, you may use native2ascii tool included with the Java SDK. Example of use (Resources_cs.properties.txt is before conversion):

cd C:\j2sdk1.4.2\bin>
native2ascii.exe -encoding UTF8 Resources_cs.properties.utf8.txt Resources_cs.properties

Ideally, your file's name will be Resources_xx.properties, where xx is the code of the language (e.g. en, de, dk etc.).

To convert \uXXXX Unicode encoded file back to UTF-8, use a command similar to the following.

cd C:\j2sdk1.4.2\bin>
native2ascii.exe -reverse -encoding UTF8 Resources_cs.properties Resources_cs.properties.utf8.txt

Translate with PO tools: Virtaal and prop2po

You can also use a traditional PO translation tool such as Virtaal if you convert the properties file to PO format.

To convert from properties to PO, you will need the prop2po command from the Translate Toolkit. Assuming your language code is xx, use the following command for the conversion:

prop2po Resources_en.properties Resources_xx.properties.po

Now open Resources_xx.properties.po in Virtaal. Set your target language in Virtaal: this ensures that various features like spell checking, translation memory and terminology will be set correctly.

Before you submit or test your translation, you will need to convert it back to Java properties format as follows:

po2prop -t Resources_en.properties Resources_xx.properties.po Resources_xx.properties

This will convert your PO file into a Java properties file using the English properties file as a template. All Java escaping of Unicode will happen automatically. Submit your properties file as usual.

Setting mnemonics

For menu items, you can set mnemonics by putting "&" character before the letter of the mnemonic in the title of the menu item. For instance, "&Edit" means that the title of the menu will read "Edit" and its mnemonic will be "e". Mnemonic is a keyboard shortcut accessible in various ways; in Windows, either by pressing Alt + mnemonic, or by pressing F10, followed by the mnemonic. Mnemonics are there not only for the leading menus, but also for submenus and menu items.

Posting translations

Send your translation to Translations tracker. To be able to do it, you need a SourceForge user, which can be created at Account Registration page at SourceForge.

Registering yourself as FreeMind translator

If you are seriously planning to become a FreeMind translator, and want to receive Call for translations emails from us, please register yourself as translator by subscribing to freemind-translator mailing list. To subscribe, follow this link, and fill in the form.

When to translate

We send a call for translation email after publishing the first release candidate of FreeMind, as at that point we can make sure that only few or possibly none new texts to translate will be added.

A translator can still start creating and posting translations at any point of time, so he or she can distribute the workload in time.

Using new translation in FreeMind

  1. Write or download the Resources_xx.properties file.
  2. Unpack the freemind.jar file with 7-Zip or similar into a temp folder.
  3. Replace or add the Resources_xx.properties with the new one.
  4. Repack the freemind.jar with the modified content of the temp folder.

Menu label checklist

Menu Label Checklist Poor Good
In English, use capitalized labels Move to root Move to Root
Menu items leading to a dialog should end with ... . Open
Close ...
Open...
Close
Do not repeat the verb already used in the menu heading Export > Export to PNG
Insert > Insert Hyperlink
Export > As PNG
Insert > Hyperlink

State of translation

Currently, we have the following languages translated. The table below is out of date, mapping roughly the state at 0.8.1. It would be very helpful if the translators would update it. Up-to-date information of the state of translation can in any case be found in GIT and in Translations tracker.

Already Translated Languages
Language Language Code GIT Translator Last version patch Last up-to-date version Capitalized titles Translated help map
Arabic ar GIT nasser_almesad
Basque Euskara eu GIT azkentximinoa 0.9.0 No No
Bulgarian bg GIT vel_ 0.9.0 No No
Catalan ca GIT albertalcaine
Croatian hr GIT
Czech Česky cs GIT allitaice No
Chinese, Traditional zh_TW GIT willyann 0.8.1?  
Chinese, Simplified zh_CN GIT willyann  
Danish Dansk da GIT 0.8.1?
Dutch Nederlands nl GIT koenr 10rc1 0.9 No No
English English en GIT N/A 0.8.1? Yes Yes
Estonian Eesti et GIT elaugasson 0.9.0.beta18 0.9.0 RC1 0.8.1? Yes Yes
French Francais fr GIT sgamel, ewl, srombauts, Daniel Berthereau 0.8.1? Yes
Galician gl GIT
German Deutsch de GIT christianfoltin 0.8.1? Yes
Greek Ελληνικά el GIT sarikoudis, Yannis Kaskamanidis 0.9.0 RC4
Hungarian hu GIT documan
Indonesian id GIT permataharahap
Italian Italiano it GIT bobalex, valtermura 0.8.1?
Japanese Nihongo ja GIT drikin, tomophy 0.8.1? / 0.9.0
Korean Hangeul ko GIT goliathz, lyg73 0.8.1?
Lithuanian lt GIT oxiris
Norwegian Bokmål nb GIT larslem
Norwegian Nynorsk nn GIT yjlandro
Polish Polski pl GIT Rafal Kraik, kfoltman No
Portuguese Português pt_PT GIT Luis Ferreira, alvalente
Brazilian Portuguese Português brasileiro pt_BR GIT nonducor, echofloripa
Romanian Română ro GIT nicoleta_negut
Russian Pусский ru GIT dpolivaev, sergeykotkin 1.0.0 Beta1 Yes
Slovak Slovenský sk GIT viliambur
Slovenian sl GIT filmsi 0.8.1? No?
Spanish Espanol es GIT hgayosso, sergist 0.8.1? Yes Yes
Swedish Svenska se GIT andber, gustavsson 0.9.0 No?
Turkish Türkçe tr GIT jnmbk Yes
Ukrainian uk_UA GIT dubyk
Vietnamese vi GIT dinhtrung

Columns:

  • Last version patch: enter a link to the latest existing patch with the FreeMind version it concerns as text.
  • Last up-to-date version: enter the newest released version of FreeMind with up-to-date translation; consider beta versions as well.
  • Capitalized titles: Whether the titles use title case such as "Mind Mapping" rather than "Mind mapping", as is the case with English.

The ISO 639-1 language codes can be found in Wiktionary.

Translating the documentation

The freemind.mm file, which is documentation in mindmap format, is a simple XML file. It can be found in your FreeMind installation (eg in Microsoft Windows XP, you'll find it in C:\Program Files\FreeMind\doc). Open the file in a Unicode enabled text editor, and then simply translate everything in the TEXT attribute. For example:

 <node COLOR="#000000" CREATED="1124560950701" MODIFIED="1124560950701"
 TEXT="You can install the applet at your website so that other users can
 browse your mind maps.">

Using Swordfish

If you want to use translation memory or a CAT tool, you can now use Swordfish to translate MM files. Swordfish is not free software.

First, create a file named config_map.xml and put the following code in it:

 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE ini-file PUBLIC "-//Maxprograms//Converters 2.0.0//EN" "configuration.dtd" >
 <ini-file><tag attributes="TEXT" hard-break="segment" keep-format="yes">node</tag></ini-file>

Then copy this file into the /ini folder of your Swordfish installation (there may be a file by that name already; if so, rename it temporarily).

Run Swordfish and go File -> Convert file to XLIFF format. Remember to select the file type as "XML (Generic)" and the encoding as "UTF8". If you select "Embed skeleton", you may be able to recreate the MM file with a third-party XLIFF editor.


Feedback

Do you find this page difficult to understand? Are you missing some key information? Tell us.