Plugin Translations =================== Run from plugin main directory: ant pot ant poimport ant pomerge ant lang Detailed Version ---------------- * To kick off the translation of the plugin it is SVN committed. After a day the translatable strings are visible at Launchpad (https://translations.launchpad.net/josm/trunk/+pots/josm). * After the Java code or the plugin description in build.xml was changed, you need to run "ant pot". That creates/updates the template file po/plugin.pot. * Download the latest translations from Launchpad and copy them into the directory po with "ant poimport". This uses the version that is updated once a day. For a more recent version you need to request a download from https://translations.launchpad.net/josm/trunk/+pots/josm/+export. Then run "ant -Dpoimport.tarball=URL poimport", replace URL with the translation download URL. * Remove all untranslated strings and other translations with "ant pomerge". * Create the language files in the data directory with "ant lang". * SVN commit plugin changes, SVN update plugin directory, run "ant dist" to create a new plugin release, SVN commit new plugin release (../../dist/plugin.jar). "ant dist" will add the translations of the plugin description to the manifest. Additions to plugin build.xml: #. Plugin ${ant.project.name} #: build.xml:1 msgid "${plugin.description}" msgstr "" Local Translation ----------------- To translate the strings locally, e.g. to check that they make sense: * ant pot * LL is a language code, CC is an optional country code * If there is no PO file: msginit --input=po/*.pot --output-file=po/LL_CC.po --locale=LL_CC * If a PO file exists: msgmerge --update po/LL_CC.po po/*.pot Global Run ---------- From the global i18n directory the steps are: ./launchpad bzronly ant -Dplugin=plugin singleplugintrans * The command "launchpad bzronly" exports the latest revision of the Launchpas translations. * "ant singleplugintrans" generates the language files in the plugin data directory. Then it deletes to PO files. * It is not possible to add the translations of the plugin description to the manifest. See Language String Changes --------------------------- To see what language strings changed in data/*.lang run this: svn diff --diff-cmd i18n/diff_lang.pl --force data To see just removed or modified strings: svn diff --diff-cmd i18n/diff_lang.pl --force data | grep ^- | grep -v '^--- data/' To display changes of a single file with tkdiff: svn diff --diff-cmd i18n/diff_lang.pl --extensions --tkdiff --force data/.lang