| 5 | | The translation of JOSM start messages can be changed at the page of [wiki:StartupPageSource]. |
| | 6 | [[PageOutline(2-10,Table of Contents)]] |
| | 7 | |
| | 8 | The state of the translation over time is shown on [wikitr:/Translations/Statistics]. |
| | 9 | |
| | 10 | |
| | 11 | == Wiki and Online help == |
| | 12 | A good start for you to contribute is this Wiki. It serves as [wikitr:/Help Online Help] for JOSM, too. Please see the details on [wikitr:/Translations/Wiki]. You can start working right now — like on every good wiki. |
| | 13 | |
| | 14 | Some [#Languagespecificnotes English specific notes] are on the bottom of this page. |
| | 15 | |
| | 16 | A list of all currently known online help pages can be found at the [wiki:/DevelopersGuide/HelpSystem/HelpTopicsList List of help topics]. This list is created automatically, but may be incomplete. |
| | 17 | |
| | 18 | Note: Some of the plugins used in this wiki (e.g. the Spam filter) are, like JOSM, translated at [https://translations.launchpad.net/tracplugins/trunk/ Launchpad]. |
| | 19 | |
| | 20 | == StartupPage ==#StartupPage |
| | 21 | The translation of [wikitr:/StartupPage JOSM start messages] can be changed at [wiki:StartupPageSource]. |
| 34 | | The translation of older JOSM start messages can be changed at the page of [wiki:VersionHistorySource]. |
| | 46 | The Java translation has some specialties which must be remembered when translating: |
| | 47 | * The `'` sign [https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/MessageFormat.html is a special character]. It must be escaped by another `'`, so `''` means a single quote in resulting display. |
| | 48 | * For languages with heavy usage of this character the typographic `’` may be used instead of the escaping (looks better when translating, in the final software a user will hardly see the difference). |
| | 49 | * This character is U+2019 named RIGHT SINGLE QUOTATION MARK |
| | 50 | * Under Linux this character is available with ''`<ALT-GR>+<SHIFT>+<N>`'' |
| | 51 | * Under Windows the character is available by pressing ''`<ALT>`'' and typing `0146` on keypad |
| | 52 | * Don't use the message formatting brackets `{}`, or when, then escape each with single quotes like `'{'` or `'}'`. |
| 36 | | The format is the same as above. |
| | 54 | All strings have a reference to the place in source code where they appear. That can help to find proper translation. You find the sources here: |
| | 55 | * [source:josm/trunk/src/org/openstreetmap/josm main JOSM source] or [source:josm/trunk complete JOSM source] |
| | 56 | * [source:osm/applications/editors/josm/plugins JOSM plugins] |
| | 57 | * sources starting with **trans_** are converted from data files |
| | 58 | * trans_maps.java: [/maps our list of background imagery] |
| | 59 | * trans_plugins.java: [/plugin description texts of plugins] |
| | 60 | * trans_presets.java: [source:josm/trunk/resources/data/defaultpresets.xml internal preset] |
| | 61 | * trans_surveyor.java: [source:osm/applications/editors/josm/plugins/surveyor/resources/surveyor.xml surveyor plugin setup file] |
| 40 | | = Software translation = |
| | 65 | A short description how to add new language support for test purposes, when 2000 strings limit is not yet reached: |
| | 66 | * Create the language files and store them in the plugin file (or JOSM core): |
| | 67 | * Language files are stored in directory "data" of JOSM and named with the lowercase language code with extension **.lang**. |
| | 68 | * These files are always a set. The English base file and the translation files must be created together or they will not work correctly. |
| | 69 | * The Perl script [source:osm/applications/editors/josm/i18n/i18n.pl i18n.pl] must be called with a destination directory and the **.po** files to create translation data. |
| | 70 | * Add the new language in init() function of [source:trunk/src/org/openstreetmap/josm/tools/I18n.java I18n.java]: |
| | 71 | * A proper code for the plural mode of the language needs to specified. |
| | 72 | * A description of the plural calculations can be found in the **.po** file downloaded from Launchpad. |
| | 73 | * If none of the existing modes matches the language, a new one needs to be added in the PluralMode enumeration and in pluralEval() function. |
| | 74 | * For some special languages it is necessary to add workaround code in [source:trunk/src/org/openstreetmap/josm/tools/LanguageInfo.java LanguageInfo.java] to translate between Java language code and the newer codes used on Launchpad |
| 44 | | = JOSM online help = |
| 45 | | |
| 46 | | A list of all currently known online help pages can be found at [wiki:DevelopersGuide/HelpSystem/HelpTopicsList Help Topics List]. This list is automatically created, but may be incomplete nevertheless. |
| 47 | | See next section how translation works. |
| 48 | | |
| 49 | | = Page translation = |
| 50 | | |
| 51 | | The JOSM pages follow the simple method to add the language code in front of page name. You can find (and add) the language codes at the page [wiki:TracLanguages]. |
| 52 | | |
| 53 | | Each English base page contains the macro {{{[[}}}{{{TranslatedPages]]}}} at the top of the page. This macro creates a small menu containing all available languages. |
| 54 | | |
| 55 | | Each translated page has the same macro, but containing the revision of the base page like in following picture: |
| 56 | | |
| 57 | | [[Image(revision.png)]] |
| 58 | | |
| 59 | | When the revision of the base page is newer than the translated revision (someone updated English page), then below the language links in menu an new menu point |
| 60 | | appears showing the translated revisions and newest one. When clicking on that link, the differences between that revision are displayed. |
| 61 | | These can then be used to update the translation. During updating the revision in the translated page needs to be increased to the newest one and the |
| 62 | | additional links disappears. |
| 63 | | |
| 64 | | [[Image(diff.png)]] |
| 65 | | |
| 66 | | Some notes: |
| 67 | | * It is possible to access image from English base page (or any other page) also in translated page by using the page in the link: [[Image(wiki:Styles:Mappaint_deprecated.png)]] |
| 68 | | * Links inside the texts should go to translated pages or to English page when not yet translated (marked with (En) or something alike) |
| 69 | | * Pages should be consistent, so when adding new stuff, update the English base page also (except for language specific things) |
| 70 | | |
| 71 | | The following are automatically generated statistics showing errors in the {{{[[}}}{{{TranslatedPages]]}}} macro or outdated and missing pages. |
| 72 | | |
| 73 | | == Status table == |
| 74 | | |
| 75 | | * Red: There is an error with this page (see error list below) |
| 76 | | * Yellow: Page needs update |
| 77 | | * Green: Everything up-to-date |
| 78 | | * Grey: Page is missing |
| 79 | | |
| 80 | | {{{ |
| 81 | | #!comment |
| 82 | | When translating this page, don't copy the macro as is, but use [[TranslatedPages(showstatus,lang=De)]] (for German), so only the relevant information for your language is printed. |
| 83 | | }}} |
| 84 | | [[TranslatedPages(showstatus)]] |
| 85 | | |
| 86 | | [[TranslatedPages(showproblems)]] |
| | 77 | == Language specific notes ==#Languagespecificnotes |
| | 78 | Please see the [wikitr:/Glossary]. |