wiki:Translations

Version 54 (modified by Klumbumbus, 4 years ago) (diff)

A few plugins are translated at transifex instead (as of January 2018: Mapillary, geojson and scripting).

Translations

This page provides detailed information about JOSM translation.

StartupPage translation

The translation of JOSM start messages can be changed at StartupPageSource.

This page has a special format:

  • Each line "en:" starts a new translatable line.
  • Each line with another language 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!

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, so the translation is still available, but disabled.

Please sort the entries by the language abbreviation!

When you press preview or submit new revision, then the page has multiple sections containing the individual languages. Lines marked with EN show untranslated lines, lines marked with X show lines, which have been removed due to changed texts.

The table below shows translation status:

  • Yellow: Translations need update
  • Green: Everything up-to-date
  • The numbers are:
    • first: number of untranslated lines
    • second: number of outdated translations

arastbebgcaca@valenciacsdadeelenen_AUen_GBeseteufafifrhrhuisitjakoltmsnbnlplptpt_BRrusksr@latinsvukvizh_CNzh_TW
8 + 04 + 04 + 010 + 04 + 022 + 04 + 04 + 00 + 04 + 00 + 022 + 022 + 00 + 01 + 013 + 122 + 05 + 00 + 012 + 20 + 011 + 30 + 02 + 00 + 00 + 04 + 44 + 00 + 00 + 09 + 04 + 00 + 00 + 01 + 011 + 10 + 021 + 00 + 00 + 0

VersionHistory translation

The translation of older JOSM start messages can be changed at the page of VersionHistorySource for the current year, or for the past years, from 2008 on upto last year, on the page for the year (e.g. VersionHistorySource/2011).

The format is the same as above.

VersionHistorySource

astbebgcacsdadeelenesetfifrhuitjakoltmsnbnlplpt_BRrusksr@latinsvukzh_CNzh_TW
11 + 011 + 013 + 011 + 010 + 010 + 00 + 011 + 00 + 00 + 08 + 010 + 00 + 00 + 00 + 010 + 01 + 01 + 011 + 311 + 00 + 00 + 010 + 00 + 00 + 00 + 013 + 00 + 00 + 00 + 0

VersionHistorySource/2020

astbecacsdadeelenesetfifrhuitjakoltmsnbnlplpt_BRrusksr@latinukzh_CNzh_TW
17 + 026 + 026 + 015 + 026 + 00 + 026 + 00 + 00 + 026 + 026 + 00 + 00 + 05 + 03 + 00 + 00 + 024 + 719 + 00 + 02 + 026 + 00 + 00 + 00 + 00 + 00 + 00 + 0

VersionHistorySource/2019

astbecacsdadeelenesetfifrhuitjakoltnbnlplptpt_BRrusksr@latinukzh_CNzh_TW
4 + 013 + 015 + 00 + 013 + 00 + 013 + 00 + 00 + 013 + 013 + 00 + 00 + 010 + 010 + 00 + 00 + 010 + 00 + 012 + 022 + 011 + 00 + 00 + 00 + 00 + 00 + 00 + 0

VersionHistorySource/2018

astcsdadeelenesetfifrhuitjakoltnbnlplpt_BRruskukzh_CNzh_TW
13 + 00 + 023 + 00 + 023 + 00 + 00 + 023 + 016 + 00 + 00 + 010 + 00 + 00 + 00 + 031 + 00 + 06 + 023 + 00 + 00 + 00 + 00 + 00 + 0

VersionHistorySource/2017

astcsdadeelenesetfrhuitjakoltnlplpt_BRruskukzh_CNzh_TW
2 + 00 + 024 + 00 + 029 + 00 + 00 + 029 + 08 + 00 + 07 + 027 + 038 + 00 + 00 + 00 + 029 + 00 + 00 + 02 + 00 + 00 + 0

VersionHistorySource/2016

astcsdeelenesetfrhuitjaltnlplpt_BRruskukzh_CNzh_TW
8 + 00 + 00 + 016 + 00 + 00 + 09 + 05 + 00 + 00 + 016 + 00 + 00 + 03 + 019 + 00 + 00 + 00 + 00 + 00 + 0

VersionHistorySource/2015

astbebgcsdadeelenesetfrhuitjaltnlplptpt_BRruskukzh_CNzh_TW
0 + 014 + 016 + 00 + 020 + 00 + 015 + 00 + 00 + 016 + 00 + 00 + 00 + 01 + 00 + 00 + 00 + 016 + 012 + 00 + 00 + 00 + 00 + 00 + 0

VersionHistorySource/2014

astbebgcacsdadeelenesetfrhuitjaltnlplptpt_BRruskukzh_CNzh_TW
19 + 026 + 019 + 019 + 00 + 00 + 00 + 022 + 00 + 00 + 00 + 00 + 00 + 00 + 07 + 022 + 00 + 00 + 022 + 00 + 07 + 00 + 00 + 00 + 00 + 0

VersionHistorySource/2013

bgcacsdadeenesetfrhuitjanlplruskukzh_CNzh_TW
37 + 026 + 00 + 00 + 00 + 00 + 00 + 012 + 00 + 00 + 00 + 00 + 00 + 016 + 30 + 122 + 00 + 037 + 036 + 0

VersionHistorySource/2012

bgcsdadeelenesetfifrhuitjanlplptrusksvukzh_TW
35 + 00 + 00 + 00 + 030 + 00 + 00 + 010 + 027 + 00 + 01 + 00 + 00 + 00 + 010 + 07 + 00 + 015 + 032 + 00 + 010 + 0

VersionHistorySource/2011

arbgcsdadeelenesetfifritjanlplptrusksvukzh_CNzh_TW
38 + 030 + 10 + 00 + 00 + 023 + 00 + 00 + 025 + 132 + 00 + 011 + 00 + 00 + 018 + 038 + 00 + 030 + 038 + 00 + 014 + 027 + 0

VersionHistorySource/2010

bgcsdadeenesetfifritjanlplptrusvukzh_CNzh_TW
13 + 00 + 018 + 00 + 00 + 00 + 05 + 00 + 00 + 00 + 015 + 00 + 011 + 01 + 00 + 019 + 00 + 07 + 010 + 0

VersionHistorySource/2009

bgcsdeenesetfifrhrisitjanlplptrusv
25 + 00 + 00 + 00 + 00 + 020 + 01 + 00 + 024 + 024 + 03 + 018 + 00 + 024 + 024 + 00 + 09 + 0

VersionHistorySource/2008

csdeenesfritjanlplrusv
0 + 00 + 00 + 00 + 00 + 011 + 09 + 00 + 011 + 00 + 010 + 0

Software translation

Translation of the program texts including plugins is done at Launchpad. A few plugins are translated at 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 <ALT-GR>+<SHIFT>+<N>
    • Under Windows the character is available by pressing <ALT> 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:

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 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 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

languagenormal stringsplural numberplural stringscomplete plural setstotal
en English 9778 2338 (338)169100.01000
fr français 9778 2338 (338)168100.01000
es español 9775 2338 (338)16999.91000
ru русский 9768 3507 (507)16999.91000
uk українська 9771 3507 (507)16999.91000
nl Nederlands 9766 2338 (338)16999.91000
de Deutsch 9763 2338 (338)16999.91000
cs čeština 9748 3507 (507)16999.71000
en_GB British 9597 2338 (338)16298.2982
bg български 9400 2335 (338)16796.2964
pt_BR português brasileiro 9386 2338 (338)16996.1964
be беларуская 9307 3507 (507)16995.4955
hu magyar 8784 2322 (338)16190.09010
it italiano 8770 2336 (338)16890.09010
sk slovenčina 8647 3507 (507)16989.08911
en_AU Australian 8595 2328 (338)15788.28812
ar العربية 8523 6928 (1014)15487.68812
pl polski 8518 3481 (507)15887.58713
da dansk 8481 2324 (338)16287.08713
nb norsk bokmål 8330 2337 (338)16885.78614
zh_TW 正體中文 8019 1160 (169)16082.28218
ja 日本語 7834 1165 (169)16580.48020
pt português 7683 2300 (338)15078.97921
zh_CN 简体中文 7596 1157 (169)15777.97822
id Bahasa Indonesia 7458 1147 (169)14776.57624
ko 한국어 6976 1143 (169)14371.67228
ca català 6317 2290 (338)14465.36535
lt lietuvių 5750 3453 (507)15160.36040
vi Tiếng Việt 5766 1136 (169)13659.35941
ast asturianu 5582 2278 (338)13957.95842
sv svenska 5330 2302 (338)15155.75644
gl galego 5272 2249 (338)12454.65545
fi suomi 5224 2252 (338)12654.15446
el Ελληνικά 5122 2298 (338)14953.65446
ca@valencia valencià 4520 2214 (338)10746.84753
fa فارسی 4287 172 (169)7243.84456
sr@latin srpski 3671 3339 (507)11339.03961
km ភាសាខ្មែរ 3520 1132 (169)13236.73763
mr मराठी 3313 2144 (338)7234.23466
is Íslenska 2477 296 (338)4825.42575
et eesti 2448 2124 (338)6225.42575

languagenormal stringsplural numberplural stringscomplete plural setstotal
en English 111 20 (0)0100.01000
de Deutsch 111 00 (0)0100.01000
en_GB British 111 00 (0)0100.01000
es español 111 00 (0)0100.01000
fr français 111 00 (0)0100.01000
nl Nederlands 111 00 (0)0100.01000
ru русский 111 00 (0)0100.01000
uk українська 111 00 (0)0100.01000
be беларуская 110 00 (0)099.1991
bg български 110 00 (0)099.1991
cs čeština 110 00 (0)099.1991
sk slovenčina 110 00 (0)099.1991
da dansk 109 00 (0)098.2982
pl polski 108 00 (0)097.3973
ar العربية 107 00 (0)096.4964
en_AU Australian 107 00 (0)096.4964
hu magyar 105 00 (0)094.6955
id Bahasa Indonesia 102 00 (0)091.9928
it italiano 100 00 (0)090.19010
zh_CN 简体中文 96 00 (0)086.58614
pt_BR português brasileiro 87 00 (0)078.47822
ja 日本語 83 00 (0)074.87525
ca català 82 00 (0)073.97426
pt português 81 00 (0)073.07327
vi Tiếng Việt 74 00 (0)066.76733
ast asturianu 70 00 (0)063.16337
ca@valencia valencià 67 00 (0)060.46040
zh_TW 正體中文 67 00 (0)060.46040
nb norsk bokmål 62 00 (0)055.95644
km ភាសាខ្មែរ 54 00 (0)048.64951
ko 한국어 33 00 (0)029.73070
fi suomi 32 00 (0)028.82971
gl galego 32 00 (0)028.82971
lt lietuvių 24 00 (0)021.62278
sr@latin srpski 21 00 (0)018.91981
et eesti 16 00 (0)014.41486
sv svenska 13 00 (0)011.71288
el Ελληνικά 9 00 (0)08.1892
fa فارسی 8 00 (0)07.2793
is Íslenska 2 00 (0)01.8298
mr मराठी 1 00 (0)00.9199

JOSM online help

A list of all currently known online help pages can be found at Help Topics List. This list is automatically created, but may be incomplete nevertheless. See next section how translation works.

Page translation

See Translations/Wiki for detailed information and statistics about translations of JOSM wiki pages.

Language specific translation notes

Each language has specific rules how the terms and texts of JOSM and OpenStreetMap needs to be translated.

Attachments (2)

Download all attachments as: .zip