Changes between Version 49 and Version 75 of Translations


Ignore:
Timestamp:
(multiple changes)
Author:
(multiple changes)
Comment:
(multiple changes)

Legend:

Unmodified
Added
Removed
Modified
  • Translations

    v49 v75  
    22
    33= Translations =
     4Translation is a whole divided into three parts, one of which is seen on every [#StartupPage startup] in JOSM, another by the [#Software Software] user interface and OSM data, and a third called [wikitr:Translations/Wiki Wiki] for Online help.
    45
    5 [[PageOutline(2-4,,inline)]]
     6[[PageOutline(2-10,Table of Contents)]]
    67
    7 == [wiki:StartupPage] translation ==
     8The state of the translation over time is shown on [wikitr:/Translations/Statistics].
    89
    9 The translation of JOSM start messages can be changed at the page of [wiki:StartupPageSource].
     10
     11== Wiki and Online help ==
     12A 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
     14Some [#Languagespecificnotes English specific notes] are on the bottom of this page.
     15
     16
     17== StartupPage ==#StartupPage
     18The translation of [wikitr:/StartupPage JOSM start messages] can be changed at [wiki:StartupPageSource].
    1019
    1120This page has a special format:
    1221 * Each line "en:" starts a new translatable line.
    13  * Each line with another language translates the previous English line.
     22 * Each line with another [TracLanguages language abbreviation] translates the previous English line.
    1423 * Each line without specifics is taken as is.
    1524 * Lines starting with "#" are ignored.
    1625
    17 NOTE: There aren't always empty lines between the different sets. Be careful not to mix translations or forget some!
     26NOTE: There aren't always empty lines between the different sets. Be careful not to mix translations or forget some! Please sort the entries in each set by the lowercase language abbreviation, but keep "en:" first.
    1827
    19 When changing English text please keep in mind that translations also need to be adapted. If you are not able to do
    20 so, then add an "x" in front of the language, so the translation is still available, but disabled.
     28When changing English text please keep in mind that translations also need to be adapted. If you are not able to do so, then add an "x" in front of the language abbreviation, so the translation is still available as a draft, but disabled.
    2129
    22 Please sort the entries by the language abbreviation!
     30The previewed or saved page shows multiple sections sorted by language.
     31Lines marked with **EN** show untranslated lines.
     32Lines marked with **X** have been marked as draft line.
     33Lines marked with **BASE** are missing in a nationalized translation and have been overridden with the language based translation (i.e. "ca" used instead of missing "ca@valencia").
    2334
    24 When you press preview or submit new revision, then the page has multiple sections containing the individual languages.
    25 Lines marked with '''EN''' show untranslated lines, lines marked with '''X''' show lines, which have been removed due to changed texts.
     35The translation of older [wikitr:/VersionHistory JOSM start messages] can be changed at [wiki:VersionHistorySource] for the current year. For each former year a separate page exists (e.g. [wiki:VersionHistorySource/2021]) back to 2008. The line format is the same as above.
    2636
    27 The table below shows translation status:
    28  * Yellow: Translations need update
    29  * Green: Everything up-to-date
    30  * The numbers are:
    31   * first: number of untranslated lines
    32   * second: number of outdated translations
    3337
    34 [[MOTD(status|StartupPageSource)]]
     38== Software ==#Software
     39Translation of the program texts including plugins is done at [https://translations.launchpad.net/josm/trunk/ Launchpad]. A few plugins are translated at [https://www.transifex.com/josm/josm/dashboard/ Transifex] instead (as of January 2018 Mapillary, geojson and scripting). See #8645 for plans about what platform to use.
    3540
    36 == [wiki:VersionHistory] translation ==
     41The templates at Launchpad for translation are updated each night together with the new [/latest] build. The translated strings are imported into JOSM before each new [/tested] version is released (which is usually at the end of every month, see [/roadmap]) or more often when needed).
    3742
    38 The translation of older JOSM start messages can be changed at the page of [wiki:VersionHistorySource] for the current year, or for the past years, from 2008 on upto last year, on the page for the year (e.g. [wiki:VersionHistorySource/2011]).
    39 
    40 The format is the same as above.
    41 
    42 [[VersionHistoryIndex(status)]]
    43 
    44 == Software translation ==
    45 
    46 Translation of the program texts is done at [https://translations.launchpad.net/josm/trunk/ Launchpad].
    47 
    48 The templates at Launchpad are updated each night together with the new latest build. Translations are imported before each new release (or more often when needed).
    49 
    50 The Java translation has some specialities which must be remembered when translating:
    51  * The ' sign is a special character. It must be escaped by another ', so !'' means a single quote in resulting display.
    52  * 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).
     43The Java translation has some specialties which must be remembered when translating:
     44 * 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.
     45 * 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).
    5346  * This character is U+2019 named RIGHT SINGLE QUOTATION MARK
    54   * Under Linux this character is available with <ALT-GR>+<SHIFT>+<N>
    55   * Under Windows the character is available by pressing <ALT> and typing 0146 on keypad
    56  * Don't use the message formating brackets {}, or when, then escape each with single quotes like '{' or '}'.
     47  * Under Linux this character is available with ''`<ALT-GR>+<SHIFT>+<N>`''
     48  * Under Windows the character is available by pressing ''`<ALT>`'' and typing `0146` on keypad
     49 * Don't use the message formatting brackets `{}`, or when, then escape each with single quotes like `'{'` or `'}'`.
    5750
    5851All 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:
    5952* [source:josm/trunk/src/org/openstreetmap/josm main JOSM source] or [source:josm/trunk complete JOSM source]
    60 * [osm:source:applications/editors/josm/plugins JOSM plugins]
     53* [source:osm/applications/editors/josm/plugins JOSM plugins]
    6154* sources starting with **trans_** are converted from data files
    6255 * trans_maps.java: [/maps our list of background imagery]
    6356 * trans_plugins.java: [/plugin description texts of plugins]
    64  * trans_presets.java: [source:josm/trunk/data/defaultpresets.xml internal preset]
    65  * trans_surveyor.java: [osm:source:applications/editors/josm/plugins/surveyor/resources/surveyor.xml surveyor plugin setup file]
     57 * trans_presets.java: [source:josm/trunk/resources/data/defaultpresets.xml internal preset]
     58 * trans_surveyor.java: [source:osm/applications/editors/josm/plugins/surveyor/resources/surveyor.xml surveyor plugin setup file]
    6659
    67 Changes made in Launchpad will be imported into JOSM for all languages which are already in JOSM. Usually the JOSM team updates the text data once or twice just before the release of a new tested version (which is usually at the end of every month, see [/roadmap]).
    68 
    69 New languages will be added to JOSM when there are at least 2000 translated strings. Please start with main user interface to reach best results.
     60New languages can be started at Launchpad at any time. They will be added to the JOSM binary when there are at least 2000 translated strings. Please start with main user interface to reach best results.
    7061
    7162A short description how to add new language support for test purposes, when 2000 strings limit is not yet reached:
    7263* Create the language files and store them in the plugin file (or JOSM core):
    73  * Language files are stored in directory "data" of JOSM and named with the lowercase language code with extension '''.lang'''.
     64 * Language files are stored in directory "data" of JOSM and named with the lowercase language code with extension **.lang**.
    7465 * These files are always a set. The English base file and the translation files must be created together or they will not work correctly.
    75  * The Perl script [osm:source:applications/editors/josm/i18n/i18n.pl i18n.pl] must be called with a destination directory and the '''.po''' files to create translation data.
     66 * 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.
    7667* Add the new language in init() function of [source:trunk/src/org/openstreetmap/josm/tools/I18n.java I18n.java]:
    7768 * A proper code for the plural mode of the language needs to specified.
    78  * A description of the plural calculations can be found in the '''.po''' file downloaded from Launchpad.
     69 * A description of the plural calculations can be found in the **.po** file downloaded from Launchpad.
    7970 * If none of the existing modes matches the language, add new one needs to be added in the PluralMode enumeration and in pluralEval() function.
    8071 * 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
    8172
    82 Current JOSM translation status active in the software (only JOSM core and server, no plugins) is shown in following table.
    8373
    84 ||=JOSM core=|| ||=JOSM server data=||
    85 || [[JOSMTranslation(||||=language=||=normal strings=||=plural number=||=plural strings=||=complete plural sets=||||=total=||)]] || || [[JOSMTranslation(||||=language=||=normal strings=||=plural number=||=plural strings=||=complete plural sets=||||=total=||,typedata)]] ||
    86 
    87 {{{
    88 #!comment
    89 NOTE: This table misses all strings, which are not translated in at least 1 single additional language. This means it will be a bit too optimistic in case of newly added texts.
    90 }}}
    91 
    92 == JOSM online help ==
    93 
    94 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.
    95 See next section how translation works.
    96 
    97 == Page translation ==
    98 
    99 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].
    100 
    101 Each English base page contains the macro {{{[[}}}{{{TranslatedPages]]}}} at the top of the page. This macro creates a small menu containing all available languages.
    102 
    103 Each translated page has the same macro, but containing the revision of the base page like in following picture:
    104 
    105 [[Image(revision.png)]]
    106 
    107 When the revision of the base page is newer than the translated revision (someone updated English page), then below the language links in menu a new menu point
    108 appears showing the translated revisions and newest one. When clicking on that link, the differences between these revisions are displayed.
    109 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
    110 additional links disappears.
    111 
    112 [[Image(diff.png)]]
    113 
    114 Some notes:
    115 * 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)]]}}} [[Image(wiki:Styles:Mappaint_deprecated.png)]]
    116  * It is nice if screenshots are offered in the native language although the English version is also accepted and less work.
    117 * Links inside the texts should go to translated pages or to English page when not yet translated (marked with (En) or something alike)
    118 * Pages should be consistent, so when adding new stuff, update the English base page also (except for language specific things)
    119 
    120 See the [WikiMacros#TranslatedPages-macro macro description] for more information about this macro.
    121 
    122 Pages can be marked as incomplete or old when the parameter '''outdated''' is added to the translation macro (separated by a comma from other parameters). Behind the parameter a text describing the reason must be appended with an equal sign. Commas must be escaped with a backslash.
    123 
    124 Example:
    125 {{{[[}}}{{{TranslatedPages(revision=12,outdated=Translation is incomplete\, last part missing.]]}}}
    126 
    127 Outdated messages from the English base page can be copied in translation, but probably it is better to have them at base page only. This allows to separate translation related issues (translated pages) from content related issues (base page).
    128 
    129 The [wiki:OutdatedPages list of outdated pages] shows all outdated pages and the related comments.
    130 
    131 The following are automatically generated statistics showing errors in the {{{[[}}}{{{TranslatedPages]]}}} macro or outdated and missing pages.
    132 
    133 === Language codes ===
    134 
    135 Language codes in JOSM follow the method used by launchpad and many other open source translations. These are:
    136 * Two letter codes from ISO 639-1 in lower case (i.e. **de**)
    137 * Three letter codes from ISO 639-2 in lower case when there is no two letter code (i.e. **ast**)
    138 * Above language code followed by an underscore and upper case country code according to ISO 3166-1 (i.e. **pt_BR**)
    139 * Above language code followed by an at sign and lower case dialect (i.e. **ca@valencia**)
    140 * List of ISO-codes: https://www.loc.gov/standards/iso639-2/php/English_list.php
    141 
    142 The codes are slightly modified in different places:
    143 * For use in Java manifest and XML file keys the "@" sign is replaced by a "-" (i.e. **ca-valencia**).
    144 * For use in Wiki page titles, the first letter (also after signs) is upper case (i.e. **Pt_BR** or **Ca-Valencia**)
    145 
    146 === Status table ===
    147 
    148  * Red: There is an error with this page (see error list below)
    149  * Yellow: Page needs update
    150  * Green: Everything up-to-date
    151  * Grey: Page is missing
    152 
    153 {{{
    154 #!comment
    155 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.
    156 }}}
    157 [[TranslatedPages(showstatus)]]
    158 
    159 [[TranslatedPages(showproblems,silent)]]
    160 
    161 == Language specific translation notes ==
    162 
    163 Each language has specific rules how the terms and texts of JOSM and OpenStreetMap needs to be translated.
    164 
    165 {{{
    166 #!comment
    167 NOTE to translators: Add translation notes, and every language specific information in the translated pages. See e.g. German page for examples.
    168 }}}
     74== Language specific notes ==#Languagespecificnotes
     75Please see the [wikitr:/Glossary].