http://wiki.logicaldoc.com/wiki/index.php?title=Translate_LogicalDOC&feed=atom&action=historyTranslate LogicalDOC - Revision history2024-03-28T19:43:48ZRevision history for this page on the wikiMediaWiki 1.32.2http://wiki.logicaldoc.com/wiki/index.php?title=Translate_LogicalDOC&diff=2941&oldid=prevCar031: /* Main Translation Program */2020-04-28T06:15:59Z<p><span dir="auto"><span class="autocomment">Main Translation Program</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 06:15, 28 April 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== <del class="diffchange diffchange-inline">Main </del>Translation Program<br> ===</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== <ins class="diffchange diffchange-inline">LogicalDOC </ins>Translation Program<br> ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>LogicalDOC makes use of the Launchpad online service to maintain the translations in the various languages. Launchpad at the same time (so called the translation software) allows us to visually check the progress of translation by monitoring the situation also on the various package, and thanks to its suggestion interfaces it can speed-up the translation that can also be done in parallel by several people.<br>Moreover Launchpad provides a review system to verify the most sensitive translations.<br> </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>LogicalDOC makes use of the Launchpad online service to maintain the translations in the various languages. Launchpad at the same time (so called the translation software) allows us to visually check the progress of translation by monitoring the situation also on the various package, and thanks to its suggestion interfaces it can speed-up the translation that can also be done in parallel by several people.<br>Moreover Launchpad provides a review system to verify the most sensitive translations.<br> </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Car031http://wiki.logicaldoc.com/wiki/index.php?title=Translate_LogicalDOC&diff=2639&oldid=prevCar031 at 07:57, 13 April 20182018-04-13T07:57:07Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 07:57, 13 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l21" >Line 21:</td>
<td colspan="2" class="diff-lineno">Line 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Getting the updated version of a translation<br> ====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Getting the updated version of a translation<br> ====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>You can obtain the latest version of a translation directly from <del class="diffchange diffchange-inline">Logical Objects </del>sending a request to the following address: translations@logicaldoc.it or you can wait for the regular localization bundle. The bundle of localization are issued with a frequency of about 2 weeks, 14 days.<br>Otherwise you can do everything from yourself.<br> </div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>You can obtain the latest version of a translation directly from <ins class="diffchange diffchange-inline">LogicalDOC </ins>sending a request to the following address: translations@logicaldoc.it or you can wait for the regular localization bundle. The bundle of localization are issued with a frequency of about 2 weeks, 14 days.<br>Otherwise you can do everything from yourself.<br> </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The only important thing is that Launchpad Rosetta is a system based on [http://en.wikipedia.org/wiki/GNU_gettext Gettext] and then works with files with extensions .pot (template) and .po (translation). <br>Therefore to work with this system you must first convert properties in .po (phase IN) and then convert back the files from .po to Java properties (phase OUT).<br><br>Follow the instructions:<br> </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The only important thing is that Launchpad Rosetta is a system based on [http://en.wikipedia.org/wiki/GNU_gettext Gettext] and then works with files with extensions .pot (template) and .po (translation). <br>Therefore to work with this system you must first convert properties in .po (phase IN) and then convert back the files from .po to Java properties (phase OUT).<br><br>Follow the instructions:<br> </div></td></tr>
</table>Car031http://wiki.logicaldoc.com/wiki/index.php?title=Translate_LogicalDOC&diff=2451&oldid=prevCar031: /* New Translation Program */2016-08-16T16:00:54Z<p><span dir="auto"><span class="autocomment">New Translation Program</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 16:00, 16 August 2016</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== <del class="diffchange diffchange-inline">New </del>Translation Program<br> ===</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== <ins class="diffchange diffchange-inline">Main </ins>Translation Program<br> ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">LogicalDOC makes use </ins>of <ins class="diffchange diffchange-inline">the </ins>Launchpad <ins class="diffchange diffchange-inline">online service </ins>to <ins class="diffchange diffchange-inline">maintain the </ins>translations in the various <ins class="diffchange diffchange-inline">languages</ins>. <ins class="diffchange diffchange-inline">Launchpad </ins>at the same time (so called the translation software) allows us to visually check the progress of translation by monitoring the situation also on the various package, <ins class="diffchange diffchange-inline">and </ins>thanks to its suggestion interfaces <ins class="diffchange diffchange-inline">it </ins>can speed-up the translation that can also be done in parallel by several people.<br>Moreover Launchpad provides a review system to verify the most sensitive translations.<br> </div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Starting from 03 August 2009 there is a new interface for translations </del>of<del class="diffchange diffchange-inline">&nbsp; LogicalDOC on </del>Launchpad<del class="diffchange diffchange-inline">.<br>This new program has been chosen </del>to <del class="diffchange diffchange-inline">help us in keeping aligned </del>translations <del class="diffchange diffchange-inline">of LogicalDOC (scattered </del>in <del class="diffchange diffchange-inline">various plugins) with </del>the various <del class="diffchange diffchange-inline">releases of the program</del>.<del class="diffchange diffchange-inline"><br>Above all we needed a system with a simple interface to do the translations in which even a person who is not expert in Java can make its contribution.<br>Rosetta </del>at the same time (so called the translation software) allows us to visually check the progress of translation by monitoring the situation also on the various package, <del class="diffchange diffchange-inline">not only </del>thanks to its suggestion interfaces <del class="diffchange diffchange-inline">Rosetta </del>can speed-up the translation that can also be done in parallel by several people.<br>Moreover Launchpad <del class="diffchange diffchange-inline">- Rosetta </del>provides a review system to verify the most sensitive translations.<br> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Requirements ====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Requirements ====</div></td></tr>
</table>Car031http://wiki.logicaldoc.com/wiki/index.php?title=Translate_LogicalDOC&diff=2450&oldid=prevCar031 at 15:57, 16 August 20162016-08-16T15:57:51Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 15:57, 16 August 2016</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">As of August 2009 there are two alternative method for translating LogicalDOC,<br>The new Translation Program on LaunchPad and the traditional method based on Java properties.<br> </del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== New Translation Program<br> ===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== New Translation Program<br> ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Car031http://wiki.logicaldoc.com/wiki/index.php?title=Translate_LogicalDOC&diff=1382&oldid=prevBlucecio: /* Getting the updated version of a translation */2010-09-15T07:43:47Z<p><span dir="auto"><span class="autocomment">Getting the updated version of a translation</span></span></p>
<p><b>New page</b></p><div>As of August 2009 there are two alternative method for translating LogicalDOC,<br>The new Translation Program on LaunchPad and the traditional method based on Java properties.<br> <br />
<br />
=== New Translation Program<br> ===<br />
<br />
Starting from 03 August 2009 there is a new interface for translations of&nbsp; LogicalDOC on Launchpad.<br>This new program has been chosen to help us in keeping aligned translations of LogicalDOC (scattered in various plugins) with the various releases of the program.<br>Above all we needed a system with a simple interface to do the translations in which even a person who is not expert in Java can make its contribution.<br>Rosetta at the same time (so called the translation software) allows us to visually check the progress of translation by monitoring the situation also on the various package, not only thanks to its suggestion interfaces Rosetta can speed-up the translation that can also be done in parallel by several people.<br>Moreover Launchpad - Rosetta provides a review system to verify the most sensitive translations.<br> <br />
<br />
==== Requirements ====<br />
<br />
*You must read English well. <br />
*You must write well in your native language. <br />
*You need two hours (estimated) to translate about 500 English words. If someone has started translating this language, there will be less work. If you do not have time to translate all the strings, please first translate those in the appplication template (package). It is OK to translate some strings but not others.<br />
<br />
==== Procedure ====<br />
<br />
Follow this procedure: <br />
<br />
#[https://translations.launchpad.net/logicaldoc/trunk/+translations/+login Create a Launchpad account] if you don't already have one. LogicalDOC (and many other projects) use Launchpad to manage translations. Your Launchpad account name will be given credit for the translation in the LogicalDOC release notes (unless you email me otherwise), so keep this in mind when picking the account name. <br />
#Visit the [https://translations.launchpad.net/logicaldoc/trunk/+translations LogicalDOC translation] page to type translations. <br />
#Click on your language. <br />
#Change '''All items''' to '''Untranslated items''' and click '''Change'''. <br />
#Type and save your translations. <br />
#Change '''Untranslated items''' to '''Items with new suggestions''' and click '''Change''' to browse items marked by others for review.<br><br />
<br />
==== Getting the updated version of a translation<br> ====<br />
<br />
You can obtain the latest version of a translation directly from Logical Objects sending a request to the following address: translations@logicaldoc.it or you can wait for the regular localization bundle. The bundle of localization are issued with a frequency of about 2 weeks, 14 days.<br>Otherwise you can do everything from yourself.<br> <br />
<br />
The only important thing is that Launchpad Rosetta is a system based on [http://en.wikipedia.org/wiki/GNU_gettext Gettext] and then works with files with extensions .pot (template) and .po (translation). <br>Therefore to work with this system you must first convert properties in .po (phase IN) and then convert back the files from .po to Java properties (phase OUT).<br><br>Follow the instructions:<br> <br />
<br />
#From the [https://translations.launchpad.net/logicaldoc/trunk/+translations LogicalDOC translations page], click Download, choose your language, choose selected files, choose PO format, and download. <br />
#Check your email for the link. <br />
#Download the file. <br />
#Rename the file to your your locale code (German is application-de.po, for example). <br />
#Launch the [http://www.logicaldoc.info/wiki/index.php?title=Translate_LogicalDOC#Converting_.po_back_to_.properties conversion program] to convert from the Gettext format (.po files) to properties file (Java ResourceBundle)<br />
<pre>po2prop -t application.properties application-de.po application_de.properties<br />
</pre> <br />
sample command that convert application Po in German back to application_de.properties using the base property file application.properties as template<br> <br> <br />
<br />
#Move the converted .properties files to the 'class' folder of your LogicalDOC installation<br>eg: c:\apache-tomcat-6.0.20\webapps\logicaldoc\WEB-INF\classes\i18n <br />
#Run LogicalDOC.<br />
<br />
<br><br />
<br />
=== Working with translations in Gettext format ===<br />
<br />
This section describes how to convert .properties files into .po files, how to translate them, how to update translation from an old version and how to turn the .po files back to .properties. The means of converting are provided by [http://translate.sourceforge.net/wiki/toolkit/index Translate Toolkit]. <br />
<br />
Detailed documentation can be found at http://translate.sourceforge.net/wiki/toolkit/prop2po . This section will concentrate on applying this in the LogicalDOC translation workflow. <br />
<br />
==== <br>About the Gettext framework ====<br />
<br />
[http://www.gnu.org/software/gettext/manual/gettext.html Gettext] framework uses the .po file format. .po files contain both original (English) strings and corresponding strings in target language. That way, the meaning of once translated string will never change, except that it may not be used in a later version of the translated software. <br />
<br />
Compare this to .properties files, which use ''name=value'' pairs, where the ''name'' identifies the string. The problem with this emerges when updating strings. There's no easy way to tell that the original ''name=value'' in the old version has a different value for the same ''name'' in the new version. <br />
<br />
Po files contain header with information about the translator and format of the .po file. We won't need to use the header in our workflow in any way, so you can safely ignore complaints from your translation tool about headers containing default values. <br />
<br />
Plain .po files without translations are called .pot files (templates). Format is the same as in .po files. <br />
<br />
The benefit of Gettext is that it's widespread in the open source world (thus it's likely that translators are familiar with it) and there are quite a few tools supporting it.<br />
<br />
==== <br>Converting .properties to .po ====<br />
<br />
First, we'll create an empty template (application.pot) from the base (English) .properties file (application.properties): <br />
<pre><br />
prop2po -P application.properties application.pot <br />
</pre><br />
You can safely copy application.pot to application-ja.po (Japanese) and start translating it. Some tools recognize templates by the .pot extension but if you don't use such tool, you can create a .po file right away.<br />
<br />
==== <br>Translating .po files ====<br />
<br />
Editing .po files is described in detail in the [http://www.gnu.org/software/gettext/manual/gettext.html#Editing Gettext manual]. <br />
<br />
.po files are plain text files in a special format, so you may use any text editor to edit them. However if you do, there are two things to pay attention to. First, you will need to specify the encoding used in the header (e.g. "Content-Type: text/plain; charset=UTF-8\n"). Second, you ought to run a check once in a while to see if you didn't break the format: <br />
<pre><br />
msgfmt -c -v application-ja.po &gt; /dev/null <br />
</pre><br />
A simple, lightweight and multiplatform GUI editor for .po files is [http://www.poedit.net/ Poedit] or [http://virtaal.org/ Virtaal].<br />
<br />
==== Reusing old translations ====<br />
<br />
To create a translation of new version while reusing the unchanged strings from the old version, run: <br />
<pre><br />
prop2po --duplicates=msgctxt -t application_ja.properties application_ja-old.properties application-ja.po <br />
</pre><br />
where application_ja.properties is the japanese .properties file (current version), application_ja-old.properties is the old translation in .properties format and it will create application-ja.po, which is the .po file for the new version with the old strings already translated! What remains to do is translate the new and changed ones. There will be even so called "fuzzy" strings - guesses how the string might be translated, which might save you some typing. <br />
<br />
Tip: If you have your old translation in .po format, you can use [http://www.gnu.org/software/gettext/manual/gettext.html#Updating msgmerge] to make the old translation a base for your new version.<br />
<br />
==== <br>Converting .po back to .properties ====<br />
<br />
The last step is to convert your translated .po file to a .properties file in your language. <br />
<pre><br />
po2prop -t application.properties application-ja.po application_ja.properties <br />
</pre><br />
This takes application.properties, which is the original Master .properties file (current version) and application-ja.po, which is your translated .po file as input and produces application_ja.properties, which is the LogicalDOC translation for Japanese. <br />
<br />
Note: The created .properties file is now in ASCII (Unicode characters are represented by escape sequences) just like LogicalDOC requires them. So there's no need to run native2ascii on them! <br />
<br />
<br>Once you're confident with this workflow, remember to look up more tips in the Translate Toolkit's [http://translate.sourceforge.net/wiki/toolkit/prop2po prop2po] page. Other useful tools include: [http://translate.sourceforge.net/wiki/toolkit/pofilter pofilter] - for finding translation errors, [http://translate.sourceforge.net/wiki/toolkit/pogrep pogrep] - searching translations and [http://translate.sourceforge.net/wiki/toolkit/poterminology poterminology] - for building a translation glossary. <br><br />
<br />
=== <br>Traditional Java properties<br> ===<br />
<br />
==== Procedure<br> ====<br />
<br />
#Get the Master Files of the Current Version from LogicalDOC's SourceForge.net site:<br>[http://sourceforge.net/projects/logicaldoc/files/translations/translations-4.5.1/LogicalDOCLanguageMasterPack-4.5.1.zip/download LogicalDOCLanguageMasterPack-xxx.zip]<br><br> <br />
#Translate ore or more of the following property files:<br>application_en.properties (Main localization file)<br> application-email_en.properties (email plugin (import from mailbox))<br> FacesMessageBundle_en.properties (ICEfaces messages (validation form errors))<br><br />
<br />
==== Verifying translations<br> ====<br />
<br />
#Make a Copy of&nbsp; the translated files into the appropriate folder of your logicaldoc web-application<br>eg.: C:\tomcat-6.0.20\webapps\logicaldoc\WEB-INF\classes\i18n<br> <br />
#Use the cmd line utility [http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/native2ascii.html native2asci] over the copy of the translated files, this is needed beacause java reads only ASCII characters from .properties, so native characters needs to be escaped. See my response on the Help forum of LogicalDOC [http://sourceforge.net/forum/forum.php?thread_id=3347162&forum_id=865524 translated character].<br> <br />
#Turn Off and Restart the LogicalDOC web-application or Tomcat. <br />
#Login into LogicalDOC choosing ENGLISH as language<br><br />
<br />
==== <br>Share your work with the Community<br> ====<br />
<br />
Send your translation (specifying the language) to the following address: translations@logicaldoc.it or attach it to an issue in our Issue Tracking system: http://issues.logicaldoc.com <br />
<br />
ASAP, our development team will create a plugin to support the language of which you have submitted the translations. <br>[[Adding new languages to LogicalDOC|Why there is the need to create a plugin?]]<br> <br />
<br />
The LogicalDOC Development Team<br> <br />
<br />
<br></div>Blucecio