[[TranslatedPages]] {{{#!comment Dear translators! JOSM appreciates your work. Some languages are completely translated. But a lot of languages are not so lucky. Feel free to give us some hints: * About your first steps here and the things which hindered you most. * For ideas to get translators in unsuccessful languages. * To increase your productivity and your fun by optimizing the tools we offer Please post on https://josm.openstreetmap.de/ticket/15872 with your opinion. Probably your hints will lead to structural changes of this page and of the translation process itself. }}} = Translations = JOSM translation is a whole divided into three parts, one of which is seen on every [wiki:Translations#StartupPage startup], another by the [wiki:Translations#Software Software], and a third by [wiki:Translations/Wiki Wiki] or online help users. All these use different methods for translation. [[PageOutline(2-10,Table of Contents)]] == StartupPage ==#StartupPage The translation of [wiki:StartupPage JOSM start messages] can be changed at [wiki:StartupPageSource]. This page has a special format: * Each line "en:" starts a new translatable line. * Each line with another [TracLanguages language abbreviation] translates the previous English line. * Each line without specifics is taken as is. * Lines starting with "#" are ignored. NOTE: 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. When 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. The previewed or saved page shows multiple sections sorted by language. Lines marked with '''EN''' show untranslated lines. Lines marked with '''X''' have been marked as draft line. Lines 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"). The table below shows translation status of the Startup Page: * Background: ''Yellow'' = Translations need update and ''Green'' = Everything up-to-date * Numbers: First = untranslated lines, '+' separator and Second = draft lines. [[MOTD(status|StartupPageSource)]] == Version history ==#Versionhistory The translation of older [wiki: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/2016]) back to 2008. The line format is the same as above. The [wiki:Translations#VersionHistorytranslationstatus translation status] of the VersionHistory is at the bottom of the English version of this page. == Software ==#Software Translation 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). 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). The Java translation has some specialities which must be remembered when translating: * The ' sign is a special character. It must be escaped by another ', so !'' means a single quote in resulting display. * 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). * This character is U+2019 named RIGHT SINGLE QUOTATION MARK * Under Linux this character is available with ++ * Under Windows the character is available by pressing and typing 0146 on keypad * Don't use the message formating brackets {}, or when, then escape each with single quotes like '{' or '}'. 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: * [source:josm/trunk/src/org/openstreetmap/josm main JOSM source] or [source:josm/trunk complete JOSM source] * [osm:source:applications/editors/josm/plugins JOSM plugins] * sources starting with **trans_** are converted from data files * trans_maps.java: [/maps our list of background imagery] * trans_plugins.java: [/plugin description texts of plugins] * trans_presets.java: [source:josm/trunk/data/defaultpresets.xml internal preset] * trans_surveyor.java: [osm:source:applications/editors/josm/plugins/surveyor/resources/surveyor.xml surveyor plugin setup file] 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]). 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. A short description how to add new language support for test purposes, when 2000 strings limit is not yet reached: * Create the language files and store them in the plugin file (or JOSM core): * Language files are stored in directory "data" of JOSM and named with the lowercase language code with extension '''.lang'''. * These files are always a set. The English base file and the translation files must be created together or they will not work correctly. * 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. * Add the new language in init() function of [source:trunk/src/org/openstreetmap/josm/tools/I18n.java I18n.java]: * A proper code for the plural mode of the language needs to specified. * A description of the plural calculations can be found in the '''.po''' file downloaded from Launchpad. * If none of the existing modes matches the language, add new one needs to be added in the PluralMode enumeration and in pluralEval() function. * 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 Current JOSM translation status active in the software (only JOSM core and server, no plugins) is shown in following table. ||=JOSM core=|| ||=JOSM server data=|| || [[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)]] || {{{ #!comment 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. }}} == Online help and Wiki pages == The JOSM online help is based on this websites Wiki. See [[Translations/Wiki]] for detailed information. 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. == Language specific notes ==#Languagespecificnotes Here is a list of the rules and recommendations how the terms and texts of JOSM and OpenStreetMap should be translated. {{{ #!comment NOTE to translators: Add translation notes and all language specific information in the translated version of this page. See e.g. German page for examples. The following VersionHistory translation status should be deleted on translated pages to give room for the language specific notes. }}} == Version history translation status == The translation status of the Version history is shown in the following tables. Please see [wiki:Translations#Versionhistory Version history] for details. [[VersionHistoryIndex(status)]]