[josm] 01/04: Imported Upstream version 0.0.svn10327+dfsg

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Mon Jun 6 18:18:24 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository josm.

commit 319352e8b1d736ac5a55b70cb53e21713e3ee144
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Mon Jun 6 19:54:14 2016 +0200

    Imported Upstream version 0.0.svn10327+dfsg
---
 REVISION                                           |   8 +-
 data/defaultpresets.xml                            |  36 +--
 data/validator/combinations.mapcss                 |   6 +
 i18n/po/af.po                                      |  77 ++++--
 i18n/po/am.po                                      |  77 ++++--
 i18n/po/ar.po                                      |  81 ++++--
 i18n/po/ast.po                                     |  91 +++++--
 i18n/po/az.po                                      |  77 ++++--
 i18n/po/be.po                                      |  91 +++++--
 i18n/po/bg.po                                      |  91 +++++--
 i18n/po/bn.po                                      |  77 ++++--
 i18n/po/br.po                                      |  77 ++++--
 i18n/po/bs.po                                      |  77 ++++--
 i18n/po/ca.po                                      |  91 +++++--
 i18n/po/ca at valencia.po                             |  91 +++++--
 i18n/po/cs.po                                      | 103 ++++++--
 i18n/po/cy.po                                      |  77 ++++--
 i18n/po/da.po                                      |  93 +++++--
 i18n/po/de.po                                      | 101 +++++--
 i18n/po/de_DE.po                                   |  77 ++++--
 i18n/po/el.po                                      |  91 +++++--
 i18n/po/en_AU.po                                   |  91 +++++--
 i18n/po/en_CA.po                                   |  77 ++++--
 i18n/po/en_GB.po                                   | 103 ++++++--
 i18n/po/eo.po                                      |  77 ++++--
 i18n/po/es.po                                      | 111 +++++---
 i18n/po/et.po                                      |  91 +++++--
 i18n/po/eu.po                                      |  91 +++++--
 i18n/po/fa.po                                      |  77 ++++--
 i18n/po/fi.po                                      |  89 +++++--
 i18n/po/fil.po                                     |  77 ++++--
 i18n/po/fo.po                                      |  77 ++++--
 i18n/po/fr.po                                      |  91 +++++--
 i18n/po/ga.po                                      |  77 ++++--
 i18n/po/gl.po                                      |  91 +++++--
 i18n/po/he.po                                      |  85 ++++--
 i18n/po/hi.po                                      |  77 ++++--
 i18n/po/hr.po                                      |  87 ++++--
 i18n/po/ht.po                                      |  77 ++++--
 i18n/po/hu.po                                      | 293 ++++++++++++---------
 i18n/po/hy.po                                      |  77 ++++--
 i18n/po/ia.po                                      |  77 ++++--
 i18n/po/id.po                                      |  91 +++++--
 i18n/po/is.po                                      |  81 ++++--
 i18n/po/it.po                                      |  91 +++++--
 i18n/po/ja.po                                      |  91 +++++--
 i18n/po/ka.po                                      |  77 ++++--
 i18n/po/km.po                                      |  77 ++++--
 i18n/po/ko.po                                      |  77 ++++--
 i18n/po/ky.po                                      |  77 ++++--
 i18n/po/lb.po                                      |  77 ++++--
 i18n/po/lo.po                                      |  77 ++++--
 i18n/po/lt.po                                      |  89 +++++--
 i18n/po/lv.po                                      |  77 ++++--
 i18n/po/mk.po                                      |  77 ++++--
 i18n/po/mr.po                                      |  77 ++++--
 i18n/po/ms.po                                      |  77 ++++--
 i18n/po/nb.po                                      |  87 ++++--
 i18n/po/nds.po                                     |  77 ++++--
 i18n/po/nl.po                                      |  91 +++++--
 i18n/po/nn.po                                      |  77 ++++--
 i18n/po/oc.po                                      |  79 ++++--
 i18n/po/pa.po                                      |  77 ++++--
 i18n/po/pl.po                                      | 198 +++++++++-----
 i18n/po/pt.po                                      |  91 +++++--
 i18n/po/pt_BR.po                                   | 107 +++++---
 i18n/po/rm.po                                      |  77 ++++--
 i18n/po/ro.po                                      |  77 ++++--
 i18n/po/ru.po                                      | 100 +++++--
 i18n/po/sk.po                                      | 103 ++++++--
 i18n/po/sl.po                                      |  77 ++++--
 i18n/po/sq.po                                      |  77 ++++--
 i18n/po/sr.po                                      |  77 ++++--
 i18n/po/sv.po                                      |  91 +++++--
 i18n/po/ta.po                                      |  77 ++++--
 i18n/po/te.po                                      |  77 ++++--
 i18n/po/th.po                                      |  77 ++++--
 i18n/po/tr.po                                      |  87 ++++--
 i18n/po/ug.po                                      |  77 ++++--
 i18n/po/uk.po                                      | 113 +++++---
 i18n/po/ur.po                                      |  77 ++++--
 i18n/po/vi.po                                      |  91 +++++--
 i18n/po/wae.po                                     |  77 ++++--
 i18n/po/zh_CN.po                                   |  91 +++++--
 i18n/po/zh_TW.po                                   | 173 +++++++-----
 .../josm/actions/AddImageryLayerAction.java        |   4 +-
 .../josm/actions/AlignInCircleAction.java          |   2 +-
 .../josm/actions/AlignInLineAction.java            |   4 +-
 .../josm/actions/AutoScaleAction.java              |   4 +-
 .../josm/actions/DeleteLayerAction.java            |   6 +-
 .../josm/actions/DownloadNotesInViewAction.java    |   3 +-
 .../josm/actions/GpxExportAction.java              |   4 +-
 .../josm/actions/JoinAreasAction.java              |   9 +-
 .../josm/actions/MapRectifierWMSmenuAction.java    |   2 +-
 .../josm/actions/MergeLayerAction.java             |   2 +-
 .../openstreetmap/josm/actions/SaveActionBase.java |  18 +-
 .../josm/actions/SessionLoadAction.java            |   2 +-
 .../josm/actions/SessionSaveAsAction.java          |   4 +-
 .../josm/actions/UploadNotesAction.java            |  15 +-
 .../openstreetmap/josm/actions/ZoomInAction.java   |   5 +-
 .../openstreetmap/josm/actions/ZoomOutAction.java  |   5 +-
 .../downloadtasks/AbstractDownloadTask.java        |   5 +-
 .../actions/downloadtasks/DownloadGpsTask.java     |  10 +-
 .../actions/downloadtasks/DownloadNotesTask.java   |   7 +-
 .../downloadtasks/DownloadOsmChangeTask.java       |   2 +-
 .../actions/downloadtasks/DownloadOsmTask.java     |  19 +-
 .../downloadtasks/DownloadReferrersTask.java       |   6 +-
 .../actions/downloadtasks/DownloadTaskList.java    |   2 +-
 .../josm/actions/mapmode/DrawAction.java           |   6 +-
 .../josm/actions/mapmode/ExtrudeAction.java        |   1 -
 .../josm/actions/mapmode/SelectAction.java         |   3 +-
 .../josm/actions/search/SearchCompiler.java        |   2 +-
 .../josm/command/ChangePropertyCommand.java        |   2 +-
 .../openstreetmap/josm/corrector/TagCorrector.java |   2 +-
 src/org/openstreetmap/josm/data/Preferences.java   |   7 +-
 .../josm/data/cache/JCSCacheManager.java           |  50 +++-
 .../josm/data/cache/JCSCachedTileLoaderJob.java    |   2 +-
 src/org/openstreetmap/josm/data/osm/DataSet.java   |  11 +-
 .../openstreetmap/josm/data/osm/DataSetMerger.java |   2 +-
 .../openstreetmap/josm/data/osm/FilterWorker.java  |   5 +-
 .../josm/data/osm/event/DatasetEventManager.java   |   2 +-
 .../osm/visitor/paint/AbstractMapRenderer.java     |   8 +-
 .../data/osm/visitor/paint/StyledMapRenderer.java  |   8 +-
 .../osm/visitor/paint/WireframeMapRenderer.java    |   4 +-
 .../osm/visitor/paint/relations/Multipolygon.java  | 185 ++++++++-----
 .../visitor/paint/relations/MultipolygonCache.java |   6 +-
 .../josm/data/preferences/PreferencesReader.java   |   4 +-
 .../data/projection/datum/NTV2GridShiftFile.java   |   9 +-
 .../josm/data/projection/datum/NTV2SubGrid.java    |   9 +-
 .../josm/data/projection/datum/NTV2Util.java       |   9 +-
 .../data/projection/proj/SwissObliqueMercator.java |   3 +-
 .../data/validation/routines/DomainValidator.java  |   8 +-
 .../data/validation/tests/RelationChecker.java     |   2 +-
 .../josm/gui/DefaultNameFormatter.java             |   2 +-
 src/org/openstreetmap/josm/gui/ExtendedDialog.java |   2 +-
 src/org/openstreetmap/josm/gui/MapView.java        |   2 +-
 .../josm/gui/conflict/pair/PairTable.java          |   8 +
 .../conflict/pair/nodes/NodeListColumnModel.java   |  20 +-
 .../gui/conflict/pair/nodes/NodeListTable.java     |   7 +
 .../pair/nodes/NodeListTableCellRenderer.java      |   6 +-
 .../relation/RelationMemberListColumnModel.java    |  18 +-
 .../pair/relation/RelationMemberTable.java         |   7 +
 .../josm/gui/conflict/pair/tags/TagMerger.java     |   2 +-
 .../RelationMemberConflictResolverColumnModel.java |   4 +-
 .../DeleteFromRelationConfirmationDialog.java      |   3 +-
 .../josm/gui/dialogs/DialogsPanel.java             |  54 +++-
 .../josm/gui/dialogs/InspectPrimitiveDialog.java   |   8 +-
 .../josm/gui/dialogs/RelationListDialog.java       |   2 +-
 .../josm/gui/dialogs/ToggleDialog.java             |  29 +-
 .../ChangesetContentTableColumnModel.java          |  19 +-
 .../ChangesetDiscussionTableColumnModel.java       |  17 +-
 .../gui/dialogs/layer/LayerVisibilityAction.java   |   2 +-
 .../josm/gui/dialogs/properties/TagEditHelper.java |   2 +-
 .../relation/MemberTableLinkedCellRenderer.java    |   4 +-
 .../gui/dialogs/relation/RelationTreeModel.java    |  26 +-
 .../relation/sort/WayConnectionTypeCalculator.java |   2 +-
 .../josm/gui/history/HistoryBrowserModel.java      |   8 +-
 .../gui/history/NodeListTableCellRenderer.java     |   3 +-
 .../josm/gui/history/NodeListTableColumnModel.java |  19 +-
 .../history/RelationMemberTableColumnModel.java    |  17 +-
 .../josm/gui/history/TagTableColumnModel.java      |  20 +-
 .../josm/gui/history/VersionTableColumnModel.java  |  19 +-
 .../josm/gui/io/ActionFlagsTableCell.java          |  14 +-
 .../josm/gui/io/LayerNameAndFilePathTableCell.java |  13 +-
 .../josm/gui/io/SaveLayersTableColumnModel.java    |   4 +-
 .../openstreetmap/josm/gui/layer/ImageryLayer.java |   8 +-
 .../openstreetmap/josm/gui/layer/LayerManager.java |   2 +-
 .../josm/gui/layer/NativeScaleLayer.java           |  17 +-
 .../openstreetmap/josm/gui/layer/NoteLayer.java    |   2 +-
 .../gui/layer/geoimage/CorrelateGpxWithImages.java |   4 +-
 .../josm/gui/layer/geoimage/ImageEntry.java        |   6 +-
 .../josm/gui/layer/gpx/GpxDrawHelper.java          |   4 +-
 .../openstreetmap/josm/gui/mappaint/Cascade.java   |  14 +-
 .../josm/gui/mappaint/ElemStyles.java              |   2 +-
 .../josm/gui/mappaint/mapcss/Instruction.java      |   4 +-
 .../gui/mappaint/styleelement/NodeElement.java     |   7 +-
 .../projection/ProjectionPreference.java           |   6 +-
 .../server/OverpassServerPreference.java           |   2 +-
 .../gui/tagging/ac/AutoCompletingComboBox.java     |   2 +-
 .../josm/gui/widgets/MultiSplitLayout.java         |   4 +-
 src/org/openstreetmap/josm/io/AbstractReader.java  |   4 +-
 src/org/openstreetmap/josm/io/NMEAImporter.java    |   4 +-
 src/org/openstreetmap/josm/io/OsmConnection.java   |   6 +-
 src/org/openstreetmap/josm/io/OsmReader.java       |   4 +-
 .../josm/io/OsmServerLocationReader.java           |   4 +-
 .../josm/io/ProgressOutputStream.java              |  16 +-
 .../josm/io/auth/AbstractCredentialsAgent.java     |   2 +-
 .../josm/io/remotecontrol/AddTagsDialog.java       |   4 +-
 .../io/remotecontrol/RemoteControlHttpsServer.java |   7 +-
 src/org/openstreetmap/josm/tools/AudioPlayer.java  |   3 +-
 src/org/openstreetmap/josm/tools/CopyList.java     |  15 +-
 src/org/openstreetmap/josm/tools/Diff.java         |  15 +-
 .../openstreetmap/josm/tools/GeoPropertyIndex.java |   2 +-
 src/org/openstreetmap/josm/tools/HttpClient.java   |  14 +-
 .../openstreetmap/josm/tools/ImageProvider.java    |   8 +-
 .../josm/tools/PlatformHookUnixoid.java            |   2 +-
 .../openstreetmap/josm/tools/TextTagParser.java    |   3 +-
 src/org/openstreetmap/josm/tools/Utils.java        |   6 +-
 .../josm/tools/bugreport/DebugTextDisplay.java     |   2 +-
 .../josm/tools/bugreport/ReportedException.java    |  10 +-
 .../template_engine/SearchExpressionCondition.java |   2 +-
 .../openstreetmap/josm/tools/HttpClientTest.java   |   2 +
 .../josm/gui/layer/NativeScaleLayerTest.java       |   1 -
 .../preferences/map/MapPaintPreferenceTestIT.java  |   3 +-
 .../map/TaggingPresetPreferenceTestIT.java         |   3 +-
 .../josm/io/CertificateAmendmentTest.java          |   3 +-
 206 files changed, 6061 insertions(+), 2397 deletions(-)

diff --git a/REVISION b/REVISION
index d4f11e3..9851573 100644
--- a/REVISION
+++ b/REVISION
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <info>
 <entry
-   kind="dir"
    path="trunk"
-   revision="10301">
+   revision="10327"
+   kind="dir">
 <url>https://josm.openstreetmap.de/svn/trunk</url>
 <relative-url>^/trunk</relative-url>
 <repository>
@@ -11,9 +11,9 @@
 <uuid>0c6e7542-c601-0410-84e7-c038aed88b3b</uuid>
 </repository>
 <commit
-   revision="10301">
+   revision="10327">
 <author>Don-vip</author>
-<date>2016-05-30T00:06:54.804264Z</date>
+<date>2016-06-04T15:28:58.601880Z</date>
 </commit>
 </entry>
 </info>
diff --git a/data/defaultpresets.xml b/data/defaultpresets.xml
index 345454f..98984e2 100644
--- a/data/defaultpresets.xml
+++ b/data/defaultpresets.xml
@@ -13,7 +13,7 @@
 
     <!-- Item chunks -->
     <chunk id="surface">
-        <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,metal,wood,paving_stones,cobblestone,gravel,pebblestone,compacted,grass_paver,grass,sand,ground,sett" />
+        <combo key="surface" text="Surface" values="paved,unpaved,asphalt,concrete,concrete:plates,concrete:lanes,paving_stones,sett,cobblestone,grass_paver,compacted,fine_gravel,gravel,pebblestone,ground,mud,sand,grass,wood,metal" />
     </chunk>
     <chunk id="surface_smoothness">
         <reference ref="surface" />
@@ -230,6 +230,8 @@
         <text key="website" text="Website" />
     </chunk>
     <chunk id="route_hikebike_optionals">
+        <text key="ref" text="Reference" />
+        <text key="operator" text="Operator" />
         <text key="distance" text="Distance (km)"/>
         <text key="ascent" text="Ascent (m)"/>
         <text key="descent" text="Descent (m)"/>
@@ -5463,6 +5465,7 @@
             <key key="leisure" value="track" />
             <text key="name" text="Name" />
             <combo key="sport" text="Sport" values="athletics,cycling,dog_racing,equestrian,horse_racing,running,roller_skating,ice_skating" values_context="sport" />
+            <combo key="surface" text="Surface" values="artificial_turf,asphalt,clay,concrete,decoturf,grass,sand,tartan,ground" />
         </item> <!-- Racetrack -->
         <group name="Golf" icon="styles/standard/sport/golf/golf.svg">
                 <item name="Golf Course" icon="styles/standard/sport/golf/golf.svg" type="node,closedway,multipolygon" preset_name_label="true">
@@ -9854,8 +9857,8 @@
                 <space/>
                 <key key="type" value="route"/>
                 <key key="route" value="bicycle"/>
-                <combo key="network" text="Network" values="icn,ncn,rcn,lcn" match="keyvalue!" />
-                <reference ref="name_ref_operator"/>
+                <text key="name" text="Name" />
+                <combo key="network" text="Network" values="icn,ncn,rcn,lcn" />
                 <optional>
                     <reference ref="route_hikebike_optionals" />
                 </optional>
@@ -9878,7 +9881,7 @@
                 <space/>
                 <key key="type" value="route"/>
                 <key key="route" value="mtb"/>
-                <reference ref="name_ref_operator"/>
+                <text key="name" text="Name" />
                 <optional>
                     <reference ref="route_hikebike_optionals" />
                 </optional>
@@ -9901,8 +9904,8 @@
                 <space/>
                 <key key="type" value="route"/>
                 <key key="route" value="hiking"/>
-                <combo key="network" text="Network" values="iwn,nwn,rwn,lwn" match="keyvalue!" />
-                <reference ref="name_ref_operator"/>
+                <text key="name" text="Name" />
+                <combo key="network" text="Network" values="iwn,nwn,rwn,lwn" />
                 <optional>
                     <reference ref="route_hikebike_optionals" />
                 </optional>
@@ -9917,8 +9920,8 @@
                 <space/>
                 <key key="type" value="route"/>
                 <key key="route" value="foot"/>
-                <combo key="network" text="Network" values="rwn,lwn" match="keyvalue!" />
-                <reference ref="name_ref_operator"/>
+                <text key="name" text="Name" />
+                <combo key="network" text="Network" values="rwn,lwn" />
                 <optional>
                     <reference ref="route_hikebike_optionals" />
                 </optional>
@@ -9933,8 +9936,8 @@
                 <space/>
                 <key key="type" value="route"/>
                 <key key="route" value="horse"/>
-                <combo key="network" text="Network" values="ihn,nhn,rhn,lhn" match="keyvalue!" />
-                <reference ref="name_ref_operator"/>
+                <text key="name" text="Name" />
+                <combo key="network" text="Network" values="ihn,nhn,rhn,lhn" />
                 <optional>
                     <reference ref="route_hikebike_optionals" />
                 </optional>
@@ -9951,8 +9954,8 @@
                 <space/>
                 <key key="type" value="route"/>
                 <key key="route" value="piste"/>
-                <combo key="piste:type" text="Piste type" values="downhill,nordic,skitour,snow_park" match="keyvalue!" />
-                <reference ref="name_ref_operator"/>
+                <text key="name" text="Name" />
+                <combo key="piste:type" text="Piste type" values="downhill,nordic,skitour,snow_park" />
                 <optional>
                     <reference ref="route_hikebike_optionals" />
                 </optional>
@@ -9971,9 +9974,9 @@
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:route=ski" />
                 <space/>
                 <key key="type" value="route"/>
-                <key key="route" value="piste"/>
-                <combo key="piste:type" text="Piste type" values="nordic,alpine" match="keyvalue!" />
-                <reference ref="name_ref_operator"/>
+                <key key="route" value="ski"/>
+                <text key="name" text="Name" />
+                <combo key="piste:type" text="Piste type" values="nordic,alpine" />
                 <optional>
                     <reference ref="route_hikebike_optionals" />
                 </optional>
@@ -9994,8 +9997,9 @@
                 <space/>
                 <key key="type" value="route"/>
                 <key key="route" value="detour"/>
-                <reference ref="name_ref_operator"/>
+                <reference ref="name_ref"/>
                 <optional>
+                    <text key="operator" text="Operator" />
                     <text key="destination" text="Destination"/>
                     <text key="detour" text="Ref of the way this is a detour to"/>
                 </optional>
diff --git a/data/validator/combinations.mapcss b/data/validator/combinations.mapcss
index c9a0939..1e5c726 100644
--- a/data/validator/combinations.mapcss
+++ b/data/validator/combinations.mapcss
@@ -117,6 +117,12 @@ way[junction                   ][!highway][junction!=yes],
 }
 
 /* {0.tag} without {1.key} (warning level) */
+relation[route=bicycle][!network][type=route],
+relation[route=hiking][!network][type=route],
+relation[route=foot][!network][type=route],
+relation[route=horse][!network][type=route],
+relation[route=piste][!piste:type][type=route],
+relation[route=ski][!piste:type][type=route],
 *[tourism=information][!information],
 *[aeroway=terminal][!building],
 *[power=generator][!generator:source],
diff --git a/i18n/po/af.po b/i18n/po/af.po
index 77ed79f..0d54c09 100644
--- a/i18n/po/af.po
+++ b/i18n/po/af.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-10-13 02:39+0000\n"
 "Last-Translator: Grant Slater <Unknown>\n"
 "Language-Team: Afrikaans <af at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:31+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:31+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: af\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/am.po b/i18n/po/am.po
index e7e5cb5..9c94966 100644
--- a/i18n/po/am.po
+++ b/i18n/po/am.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2010-03-30 12:09+0000\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: Amharic <am at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:32+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:32+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: am\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ar.po b/i18n/po/ar.po
index 512ba06..0e1abc7 100644
--- a/i18n/po/ar.po
+++ b/i18n/po/ar.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-10-08 23:09+0000\n"
 "Last-Translator: mourad101ee <mourad101ee at gmail.com>\n"
 "Language-Team: Arabic <ar at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
 "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:32+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:32+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ar\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14765,6 +14765,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16013,6 +16016,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16168,40 +16176,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
-msgstr "غابة/حرش"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
-msgid "cobblestone"
+msgid "sett"
 msgstr ""
 
-msgid "gravel"
+msgid "cobblestone"
 msgstr ""
 
-msgid "pebblestone"
+msgid "grass_paver"
 msgstr ""
 
 msgid "compacted"
 msgstr ""
 
-msgid "grass_paver"
+msgid "fine_gravel"
 msgstr ""
 
-msgid "grass"
+msgid "gravel"
 msgstr ""
 
-msgid "sand"
+msgid "pebblestone"
 msgstr ""
 
 msgid "ground"
 msgstr ""
 
-msgid "sett"
+msgid "mud"
+msgstr "طين"
+
+msgid "sand"
+msgstr ""
+
+msgid "grass"
+msgstr ""
+
+msgid "wood"
+msgstr "غابة/حرش"
+
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16277,12 +16297,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "طين"
-
 msgid "Lanes"
 msgstr ""
 
@@ -29241,6 +29255,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ast.po b/i18n/po/ast.po
index c120bf2..2392190 100644
--- a/i18n/po/ast.po
+++ b/i18n/po/ast.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-01-23 20:31+0000\n"
 "Last-Translator: Xuacu Saturio <xuacusk8 at gmail.com>\n"
 "Language-Team: Asturian <ast at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:33+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:33+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ast\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16307,6 +16307,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -17642,6 +17645,11 @@ msgstr ""
 "Amiesta nueves proyecciones xeográfiques por aciu la biblioteca Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Esti componente simplifica''l cartografiáu y edición de rutes de tresportes "
@@ -17831,41 +17839,53 @@ msgstr "asfaltu"
 msgid "concrete"
 msgstr "formigón"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "maera"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "pavimentu empedriáu"
 
+msgid "sett"
+msgstr "empedriáu"
+
 msgid "cobblestone"
 msgstr "adoquináu"
 
+msgid "grass_paver"
+msgstr "pavimentu vexetal (de celosía)"
+
+msgid "compacted"
+msgstr "amaceráu"
+
+msgid "fine_gravel"
+msgstr "grava fina"
+
 msgid "gravel"
 msgstr "grava"
 
 msgid "pebblestone"
 msgstr "grixu"
 
-msgid "compacted"
-msgstr "amaceráu"
-
-msgid "grass_paver"
-msgstr "pavimentu vexetal (de celosía)"
+msgid "ground"
+msgstr "tierra"
 
-msgid "grass"
-msgstr "yerba"
+msgid "mud"
+msgstr "barru"
 
 msgid "sand"
 msgstr "areña, sable"
 
-msgid "ground"
-msgstr "tierra"
+msgid "grass"
+msgstr "yerba"
 
-msgid "sett"
-msgstr "empedriáu"
+msgid "wood"
+msgstr "maera"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr ""
@@ -17940,12 +17960,6 @@ msgstr "arciella"
 msgid "dirt"
 msgstr "suelu natural"
 
-msgid "fine_gravel"
-msgstr "grava fina"
-
-msgid "mud"
-msgstr "barru"
-
 msgid "Lanes"
 msgstr "Carriles"
 
@@ -31387,6 +31401,35 @@ msgstr "Complementu Proj4J"
 msgid "Code"
 msgstr "Códigu"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Non puede interpretase una hora con esta cadena de calteres."
 
diff --git a/i18n/po/az.po b/i18n/po/az.po
index c101944..6411b83 100644
--- a/i18n/po/az.po
+++ b/i18n/po/az.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2013-01-12 17:56+0000\n"
 "Last-Translator: iAZISS <iss-sash at mail.ru>\n"
 "Language-Team: Azerbaijani <az at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:34+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:33+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -14712,6 +14712,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15960,6 +15963,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16115,40 +16123,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16224,12 +16244,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29188,6 +29202,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/be.po b/i18n/po/be.po
index a8d831f..415d3d7 100644
--- a/i18n/po/be.po
+++ b/i18n/po/be.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-20 17:19+0000\n"
 "Last-Translator: Viktar Palstsiuk <Unknown>\n"
 "Language-Team: Belarusian <i18n at mova.org>\n"
@@ -19,8 +19,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:35+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:34+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: be\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16426,6 +16426,9 @@ msgstr "SPW(allonie) 2009-2010 аэрафотаздымка"
 msgid "TEC bus lines (2014)"
 msgstr "TEC аўтобусныя маршруты (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Карта гарадскіх раёнаў"
 
@@ -17766,6 +17769,11 @@ msgid "adds projections from Proj4J"
 msgstr "Дадае праекцыі з Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Гэты модуль спрашчае картаграфаванне і праўку маршрутаў грамадскага "
@@ -17964,41 +17972,53 @@ msgstr "асфальт"
 msgid "concrete"
 msgstr "бетон"
 
-msgid "metal"
-msgstr "метал"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "дрэва"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "ходнікавая плітка"
 
+msgid "sett"
+msgstr "брукаванка"
+
 msgid "cobblestone"
 msgstr "брук"
 
+msgid "grass_paver"
+msgstr "экагазон"
+
+msgid "compacted"
+msgstr "ушчыльненае"
+
+msgid "fine_gravel"
+msgstr "дробны жвір"
+
 msgid "gravel"
 msgstr "жвір"
 
 msgid "pebblestone"
 msgstr "галька"
 
-msgid "compacted"
-msgstr "ушчыльненае"
-
-msgid "grass_paver"
-msgstr "экагазон"
+msgid "ground"
+msgstr "грунт"
 
-msgid "grass"
-msgstr "трава"
+msgid "mud"
+msgstr "бруд"
 
 msgid "sand"
 msgstr "пясок"
 
-msgid "ground"
-msgstr "грунт"
+msgid "grass"
+msgstr "трава"
 
-msgid "sett"
-msgstr "брукаванка"
+msgid "wood"
+msgstr "дрэва"
+
+msgid "metal"
+msgstr "метал"
 
 msgid "Smoothness"
 msgstr "Праходнасць"
@@ -18073,12 +18093,6 @@ msgstr "гліна"
 msgid "dirt"
 msgstr "грунт"
 
-msgid "fine_gravel"
-msgstr "дробны жвір"
-
-msgid "mud"
-msgstr "бруд"
-
 msgid "Lanes"
 msgstr "Колькасць палос"
 
@@ -31523,6 +31537,35 @@ msgstr "Модуль Proj4J"
 msgid "Code"
 msgstr "Код"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Немагчыма разабраць час з гэтай паслядоўнасці."
 
diff --git a/i18n/po/bg.po b/i18n/po/bg.po
index 13966ed..649503a 100644
--- a/i18n/po/bg.po
+++ b/i18n/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-28 11:14+0000\n"
 "Last-Translator: pl <Unknown>\n"
 "Language-Team: Bulgarian <bg at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:37+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:36+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: bg\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14997,6 +14997,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -16262,6 +16265,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16417,41 +16425,53 @@ msgstr "асфалт"
 msgid "concrete"
 msgstr "бетон"
 
-msgid "metal"
-msgstr "метал"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "дърво (гора)"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "павета"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "павиран път"
 
+msgid "grass_paver"
+msgstr "бетонна решетка"
+
+msgid "compacted"
+msgstr "сбито"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "чакъл"
 
 msgid "pebblestone"
 msgstr "чакъл"
 
-msgid "compacted"
-msgstr "сбито"
-
-msgid "grass_paver"
-msgstr "бетонна решетка"
+msgid "ground"
+msgstr "земя"
 
-msgid "grass"
-msgstr "трева"
+msgid "mud"
+msgstr "кал"
 
 msgid "sand"
 msgstr "пясък"
 
-msgid "ground"
-msgstr "земя"
+msgid "grass"
+msgstr "трева"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "дърво (гора)"
+
+msgid "metal"
+msgstr "метал"
 
 msgid "Smoothness"
 msgstr ""
@@ -16526,12 +16546,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "кал"
-
 msgid "Lanes"
 msgstr "Брой платна"
 
@@ -29542,6 +29556,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/bn.po b/i18n/po/bn.po
index 326f84b..3e19843 100644
--- a/i18n/po/bn.po
+++ b/i18n/po/bn.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-04-03 09:24+0000\n"
 "Last-Translator: Md Alamgir <alamgircu at hotmail.com>\n"
 "Language-Team: Bengali <bn at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:35+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:35+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: bn\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14716,6 +14716,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15964,6 +15967,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16119,40 +16127,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16228,12 +16248,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29192,6 +29206,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/br.po b/i18n/po/br.po
index 6529e4b..81ed018 100644
--- a/i18n/po/br.po
+++ b/i18n/po/br.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-10-17 12:11+0000\n"
 "Last-Translator: Fulup <Unknown>\n"
 "Language-Team: Breton <br at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:36+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:36+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: br\n"
 
 msgid "License"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/bs.po b/i18n/po/bs.po
index 58b2fdb..4517a02 100644
--- a/i18n/po/bs.po
+++ b/i18n/po/bs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2012-11-03 23:07+0000\n"
 "Last-Translator: Alen Mahovic <eyeofthestorm at windowslive.com>\n"
 "Language-Team: Bosnian <bs at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:36+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:35+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: bs\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14716,6 +14716,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15964,6 +15967,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16119,40 +16127,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16228,12 +16248,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29192,6 +29206,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ca.po b/i18n/po/ca.po
index 0b090f8..1e96e0c 100644
--- a/i18n/po/ca.po
+++ b/i18n/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-04-05 12:55+0000\n"
 "Last-Translator: pitort <pitort at eclipso.eu>\n"
 "Language-Team: el_libre - - www.catmidia.cat\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:37+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:37+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ca\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16424,6 +16424,9 @@ msgstr "SPW (Valònia) 2009-2010 imatgeria aèria"
 msgid "TEC bus lines (2014)"
 msgstr "TEC línies d''autobús (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Sectors Urbans"
 
@@ -17767,6 +17770,11 @@ msgid "adds projections from Proj4J"
 msgstr "Afegeix projeccions des de Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Aquest connector simplifica el procés d''afegir i modificar rutes de "
@@ -17966,41 +17974,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "formigó"
 
-msgid "metal"
-msgstr "metall"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "fusta"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "empedrat"
 
+msgid "sett"
+msgstr "empedrat"
+
 msgid "cobblestone"
 msgstr "llambordes"
 
+msgid "grass_paver"
+msgstr "Paviment de gelosia amb gespa"
+
+msgid "compacted"
+msgstr "compactat"
+
+msgid "fine_gravel"
+msgstr "grava fina"
+
 msgid "gravel"
 msgstr "grava"
 
 msgid "pebblestone"
 msgstr "còdols"
 
-msgid "compacted"
-msgstr "compactat"
-
-msgid "grass_paver"
-msgstr "Paviment de gelosia amb gespa"
+msgid "ground"
+msgstr "sòl"
 
-msgid "grass"
-msgstr "herba"
+msgid "mud"
+msgstr "fangar"
 
 msgid "sand"
 msgstr "sorra"
 
-msgid "ground"
-msgstr "sòl"
+msgid "grass"
+msgstr "herba"
 
-msgid "sett"
-msgstr "empedrat"
+msgid "wood"
+msgstr "fusta"
+
+msgid "metal"
+msgstr "metall"
 
 msgid "Smoothness"
 msgstr "Uniformitat de la superfície"
@@ -18075,12 +18095,6 @@ msgstr "argila"
 msgid "dirt"
 msgstr "terra"
 
-msgid "fine_gravel"
-msgstr "grava fina"
-
-msgid "mud"
-msgstr "fangar"
-
 msgid "Lanes"
 msgstr "Carrils"
 
@@ -31602,6 +31616,35 @@ msgstr "Connector Proj4J"
 msgid "Code"
 msgstr "Codi"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "No és possible de llegir la hora d''aquesta cadena de text."
 
diff --git a/i18n/po/ca at valencia.po b/i18n/po/ca at valencia.po
index f7e0925..dda62d7 100644
--- a/i18n/po/ca at valencia.po
+++ b/i18n/po/ca at valencia.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-04-25 18:52+0000\n"
 "Last-Translator: Dirk Stöcker <launchpad at dstoecker.de>\n"
 "Language-Team: el_libre - - www.catmidia.cat\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:12+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:12+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ca at valencia\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16201,6 +16201,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -17516,6 +17519,11 @@ msgid "adds projections from Proj4J"
 msgstr "Afig projeccions des de Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Este connector simplifica el procés d''afegir i modificar rutes de transport "
@@ -17698,41 +17706,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "formigó"
 
-msgid "metal"
-msgstr "metall"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "fusta"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "empedrat"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "llambordes"
 
+msgid "grass_paver"
+msgstr "Paviment de gelosia amb gespa"
+
+msgid "compacted"
+msgstr "compactat"
+
+msgid "fine_gravel"
+msgstr "grava fina"
+
 msgid "gravel"
 msgstr "grava"
 
 msgid "pebblestone"
 msgstr "còdols"
 
-msgid "compacted"
-msgstr "compactat"
-
-msgid "grass_paver"
-msgstr "Paviment de gelosia amb gespa"
+msgid "ground"
+msgstr "sòl"
 
-msgid "grass"
-msgstr "herba"
+msgid "mud"
+msgstr "fangar"
 
 msgid "sand"
 msgstr "sorra"
 
-msgid "ground"
-msgstr "sòl"
+msgid "grass"
+msgstr "herba"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "fusta"
+
+msgid "metal"
+msgstr "metall"
 
 msgid "Smoothness"
 msgstr ""
@@ -17807,12 +17827,6 @@ msgstr "argila"
 msgid "dirt"
 msgstr "terra"
 
-msgid "fine_gravel"
-msgstr "grava fina"
-
-msgid "mud"
-msgstr "fangar"
-
 msgid "Lanes"
 msgstr "Carrils"
 
@@ -31217,6 +31231,35 @@ msgstr "Connector Proj4J"
 msgid "Code"
 msgstr "Codi"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "No és possible de llegir la hora d''esta cadena de text."
 
diff --git a/i18n/po/cs.po b/i18n/po/cs.po
index ba752e1..50dff5f 100644
--- a/i18n/po/cs.po
+++ b/i18n/po/cs.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-25 06:28+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-03 10:22+0000\n"
 "Last-Translator: Dalibor Jelínek <launchpad.net at dalibor.cz>\n"
 "Language-Team: Czech <kde-i18n-doc at kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:38+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:37+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: cs\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -7816,7 +7816,7 @@ msgid "Edit Tags"
 msgstr "Upravit značky"
 
 msgid "Go to OSM wiki for tag help"
-msgstr "Přejít na nápovědu ke znččce na OSM wiki"
+msgstr "Přejít na nápovědu ke značce na OSM wiki"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr "Spustit prohlížeč s nápovědou z Wiki k vybranému objektu"
@@ -16248,6 +16248,9 @@ msgstr "SPW(allonie) 2009-2010 aerial imagery"
 msgid "TEC bus lines (2014)"
 msgstr "TEC bus lines (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -16327,7 +16330,7 @@ msgid "BD Carthage"
 msgstr "BD Carthage"
 
 msgid "BD Ortho"
-msgstr ""
+msgstr "BD Ortho"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -17471,7 +17474,7 @@ msgstr ""
 "tímto doplňkem vytvářet, uzavírat, zneplatňovat, znovu otevírat a komentovat."
 
 msgid "Allows the user to work with pictures hosted at mapillary.com"
-msgstr ""
+msgstr "Dovoluje uživateli pracovat s obrázky uloženými na mapillary.com"
 
 msgid ""
 "Provide a measurement dialog and a layer to measure length and angle of "
@@ -17582,6 +17585,13 @@ msgid "adds projections from Proj4J"
 msgstr "přidá projekce z Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+"Poskytuje kontrolu a opravy tras veřejné dopravy podle verze 2 schématu "
+"veřejné dopravy."
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "Tento doplněk zjednodušuje mapování a úpravy tras veřejné dopravy."
 
@@ -17773,41 +17783,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "beton"
 
-msgid "metal"
-msgstr "kov"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "dřevo"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "(zámková) dlažba"
 
+msgid "sett"
+msgstr "dlažební kostky"
+
 msgid "cobblestone"
 msgstr "dlažební kostky"
 
+msgid "grass_paver"
+msgstr "zatravňovací dlažba"
+
+msgid "compacted"
+msgstr "zhutněný (válcovaný)"
+
+msgid "fine_gravel"
+msgstr "jemný štěrk"
+
 msgid "gravel"
 msgstr "štěrk"
 
 msgid "pebblestone"
 msgstr "oblázky"
 
-msgid "compacted"
-msgstr "zhutněný (válcovaný)"
-
-msgid "grass_paver"
-msgstr "zatravňovací dlažba"
+msgid "ground"
+msgstr "země"
 
-msgid "grass"
-msgstr "tráva"
+msgid "mud"
+msgstr "bahno"
 
 msgid "sand"
 msgstr "písek"
 
-msgid "ground"
-msgstr "země"
+msgid "grass"
+msgstr "tráva"
 
-msgid "sett"
-msgstr "dlažební kostky"
+msgid "wood"
+msgstr "dřevo"
+
+msgid "metal"
+msgstr "kov"
 
 msgid "Smoothness"
 msgstr "Hladkost"
@@ -17882,12 +17904,6 @@ msgstr "jíl"
 msgid "dirt"
 msgstr "hlína"
 
-msgid "fine_gravel"
-msgstr "jemný štěrk"
-
-msgid "mud"
-msgstr "bahno"
-
 msgid "Lanes"
 msgstr "Jízdních pruhů"
 
@@ -29799,7 +29815,7 @@ msgid "Move to picture''s location with next/previous buttons"
 msgstr "Přesunout se na umístění obrázku tlačítky další/předchozí"
 
 msgid "Preview images when hovering its icon"
-msgstr ""
+msgstr "Nahlédnout obrázek při ukázání na jeho ikonu"
 
 msgid "Download mode"
 msgstr "Režim stahování"
@@ -31324,6 +31340,35 @@ msgstr "Doplněk Proj4J"
 msgid "Code"
 msgstr "Kód"
 
+msgid "Gaps"
+msgstr "Mezery"
+
+msgid "Checks if there are gaps in the route relation."
+msgstr "Kontroluje, zda jsou v relaci route mezery."
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr "VD: Trasa obsahuje mezeru, kterou lze zcelit seřazením."
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr "Nejprve nástupiště"
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr "Kontroluje, zda nástupiště jsou uvedeny v relaci route před cestami."
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr "VD: relace route v seznamu členů obsahuje cesty před nástupišti"
+
 msgid "Can''t parse a time from this string."
 msgstr "Z tohoto řetězce nemohu načíst čas"
 
diff --git a/i18n/po/cy.po b/i18n/po/cy.po
index c17c172..a4ad47e 100644
--- a/i18n/po/cy.po
+++ b/i18n/po/cy.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2009-07-17 21:45+0000\n"
 "Last-Translator: iggy23 <Unknown>\n"
 "Language-Team: Welsh <cy at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
 "2 : 3;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:07+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:07+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: cy\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14714,6 +14714,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15962,6 +15965,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16117,40 +16125,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16226,12 +16246,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29190,6 +29204,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/da.po b/i18n/po/da.po
index e35eec6..f9435e8 100644
--- a/i18n/po/da.po
+++ b/i18n/po/da.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-29 17:43+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-04 09:51+0000\n"
 "Last-Translator: Jørn <joern.map at gmail.com>\n"
 "Language-Team: Dansk <kde-i18n-doc at kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:38+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:38+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: da_DK\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
@@ -16080,6 +16080,9 @@ msgstr "SPW(allonie) 2009-2010 aerial imagery"
 msgid "TEC bus lines (2014)"
 msgstr "TEC bus lines (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr "Benin:cotonou_pleiade_2016"
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -17424,6 +17427,11 @@ msgid "adds projections from Proj4J"
 msgstr "tilføjer projektioner fra Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Denne udvidelse simplificerer kortlægningen og redigeringen af offentlige "
@@ -17617,41 +17625,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "beton"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "træ"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "fliser"
 
+msgid "sett"
+msgstr "chaussésten"
+
 msgid "cobblestone"
 msgstr "brosten"
 
+msgid "grass_paver"
+msgstr "græsarmeringssten"
+
+msgid "compacted"
+msgstr "komprimeret"
+
+msgid "fine_gravel"
+msgstr "fint grus"
+
 msgid "gravel"
 msgstr "grus"
 
 msgid "pebblestone"
 msgstr "småsten"
 
-msgid "compacted"
-msgstr "komprimeret"
-
-msgid "grass_paver"
-msgstr "græsarmeringssten"
+msgid "ground"
+msgstr "jord"
 
-msgid "grass"
-msgstr "græs"
+msgid "mud"
+msgstr "mudder"
 
 msgid "sand"
 msgstr "sand"
 
-msgid "ground"
-msgstr "jord"
+msgid "grass"
+msgstr "græs"
 
-msgid "sett"
-msgstr "chaussésten"
+msgid "wood"
+msgstr "træ"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr "Glathed"
@@ -17726,12 +17746,6 @@ msgstr "ler"
 msgid "dirt"
 msgstr "snavs"
 
-msgid "fine_gravel"
-msgstr "fint grus"
-
-msgid "mud"
-msgstr "mudder"
-
 msgid "Lanes"
 msgstr "Baner"
 
@@ -31128,6 +31142,35 @@ msgstr "Proj4J udvidelse"
 msgid "Code"
 msgstr "Kode"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Kan ikke udlede en tid fra denne streng."
 
diff --git a/i18n/po/de.po b/i18n/po/de.po
index eab8b06..3d720ae 100644
--- a/i18n/po/de.po
+++ b/i18n/po/de.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-29 18:38+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-05 12:09+0000\n"
 "Last-Translator: Ettore Atalan <atalanttore at googlemail.com>\n"
 "Language-Team: JOSM\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:42+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-06 04:31+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: de\n"
 "X-Poedit-SearchPath-0: .\n"
 "X-Poedit-Basepath: /home/simon/src/josm.all/i18n\n"
@@ -16579,6 +16579,9 @@ msgstr "SPW(allonie) 2009-2010 Luftaufnahmen"
 msgid "TEC bus lines (2014)"
 msgstr "TEC-Buslinien (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Karte der Stadtgebiete"
 
@@ -17932,6 +17935,11 @@ msgid "adds projections from Proj4J"
 msgstr "Ergänzt Projektionen von Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Dies Erweiterung erleichtert das Erfassen und Bearbeiten von Routen des "
@@ -18133,41 +18141,53 @@ msgstr "asphaltiert"
 msgid "concrete"
 msgstr "Beton"
 
-msgid "metal"
-msgstr "Metall"
+msgid "concrete:plates"
+msgstr "Beton:Platten"
 
-msgid "wood"
-msgstr "Holz"
+msgid "concrete:lanes"
+msgstr "Beton:Spurplatten"
 
 msgid "paving_stones"
 msgstr "Gehwegplatte/Pflaster"
 
+msgid "sett"
+msgstr "Pflastersteine"
+
 msgid "cobblestone"
 msgstr "Kopfsteinpflaster"
 
+msgid "grass_paver"
+msgstr "Rasengitterstein"
+
+msgid "compacted"
+msgstr "verdichtet"
+
+msgid "fine_gravel"
+msgstr "feiner Schotter"
+
 msgid "gravel"
 msgstr "Schotter"
 
 msgid "pebblestone"
 msgstr "Kies"
 
-msgid "compacted"
-msgstr "verdichtet"
-
-msgid "grass_paver"
-msgstr "Rasengitterstein"
+msgid "ground"
+msgstr "Erde"
 
-msgid "grass"
-msgstr "Gras"
+msgid "mud"
+msgstr "Schlick & Moor"
 
 msgid "sand"
 msgstr "Sand"
 
-msgid "ground"
-msgstr "Erde"
+msgid "grass"
+msgstr "Gras"
 
-msgid "sett"
-msgstr "Pflastersteine"
+msgid "wood"
+msgstr "Holz"
+
+msgid "metal"
+msgstr "Metall"
 
 msgid "Smoothness"
 msgstr "Ebenheit"
@@ -18242,12 +18262,6 @@ msgstr "Lehm, Asche"
 msgid "dirt"
 msgstr "Unbefestigte Straße"
 
-msgid "fine_gravel"
-msgstr "feiner Schotter"
-
-msgid "mud"
-msgstr "Schlick & Moor"
-
 msgid "Lanes"
 msgstr "Spuren"
 
@@ -26058,7 +26072,7 @@ msgid ""
 "Waterway ends without a connection to another waterway or the direction of "
 "the waterway is wrong."
 msgstr ""
-"Wasserweg endet ohne einer Verbindung zu einem anderen Wasserweg oder die "
+"Wasserweg endet ohne eine Verbindung zu einem anderen Wasserweg oder die "
 "Richtung des Wasserwegs ist falsch."
 
 msgid "abbreviated street name"
@@ -31759,6 +31773,41 @@ msgstr "Proj4J-Erweiterung"
 msgid "Code"
 msgstr "Kode"
 
+msgid "Gaps"
+msgstr "Lücken"
+
+msgid "Checks if there are gaps in the route relation."
+msgstr "Überprüft, ob es Lücken in der Routenrelation gibt."
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+"PT: Route enthält eine Lücke, die durch das Sortieren behoben werden kann."
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+"PT: Route enthält eine Lücke, die nicht durch das Sortieren der Wege behoben "
+"werden kann"
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr "Plattformen zuerst"
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+"Überprüft, ob Plattformen vor Wegen in der Routenrelation aufgeführt sind."
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+"PT: Routenrelation(en) enthält/enthalten Weg(e) vor Plattform(en) in der "
+"Mitgliederliste"
+
 msgid "Can''t parse a time from this string."
 msgstr "Von dieser Zeichenkette konnte keine Uhrzeit geparst werden."
 
diff --git a/i18n/po/de_DE.po b/i18n/po/de_DE.po
index 0348dbf..3da0ce0 100644
--- a/i18n/po/de_DE.po
+++ b/i18n/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-07-10 12:32+0000\n"
 "Last-Translator: ralekuja <Unknown>\n"
 "Language-Team: German (Germany) <de_DE at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:10+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:10+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14725,6 +14725,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15973,6 +15976,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16128,40 +16136,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16237,12 +16257,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29205,6 +29219,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/el.po b/i18n/po/el.po
index da8b3a6..637c176 100644
--- a/i18n/po/el.po
+++ b/i18n/po/el.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-01-25 09:17+0000\n"
 "Last-Translator: Aggelos Arnaoutis <angelosarn at hotmail.com>\n"
 "Language-Team: Greek <el at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:44+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:44+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: el\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -15112,6 +15112,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16360,6 +16363,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16518,41 +16526,53 @@ msgstr "άσφαλτος"
 msgid "concrete"
 msgstr "μπετόν"
 
-msgid "metal"
-msgstr "μέταλλο"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "ξύλο"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "πλακόστρωτο"
 
-msgid "gravel"
-msgstr "χαλίκι"
-
-msgid "pebblestone"
+msgid "grass_paver"
 msgstr ""
 
 msgid "compacted"
 msgstr ""
 
-msgid "grass_paver"
+msgid "fine_gravel"
 msgstr ""
 
-msgid "grass"
-msgstr "χόρτο"
+msgid "gravel"
+msgstr "χαλίκι"
 
-msgid "sand"
-msgstr "άμμος"
+msgid "pebblestone"
+msgstr ""
 
 msgid "ground"
 msgstr "χώμα"
 
-msgid "sett"
-msgstr ""
+msgid "mud"
+msgstr "λάσπη"
+
+msgid "sand"
+msgstr "άμμος"
+
+msgid "grass"
+msgstr "χόρτο"
+
+msgid "wood"
+msgstr "ξύλο"
+
+msgid "metal"
+msgstr "μέταλλο"
 
 msgid "Smoothness"
 msgstr "Ομαλότητα"
@@ -16627,12 +16647,6 @@ msgstr ""
 msgid "dirt"
 msgstr "χώμα"
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "λάσπη"
-
 msgid "Lanes"
 msgstr "Λωρίδες κυκλοφορίας"
 
@@ -29622,6 +29636,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/en_AU.po b/i18n/po/en_AU.po
index 4a3797a..70838d6 100644
--- a/i18n/po/en_AU.po
+++ b/i18n/po/en_AU.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-06-08 12:52+0000\n"
 "Last-Translator: Mark Pulley <mrpulley at lizzy.com.au>\n"
 "Language-Team: English (Australia) <en_AU at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:09+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:08+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -15676,6 +15676,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16945,6 +16948,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "This plug-in simplifies the mapping and editing of public transport routes."
@@ -17109,41 +17117,53 @@ msgstr "asphalt"
 msgid "concrete"
 msgstr "concrete"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "wood"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "paving_stones"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "cobblestone"
 
+msgid "grass_paver"
+msgstr "grass_paver"
+
+msgid "compacted"
+msgstr "compacted"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "gravel"
 
 msgid "pebblestone"
 msgstr "pebblestone"
 
-msgid "compacted"
-msgstr "compacted"
-
-msgid "grass_paver"
-msgstr "grass_paver"
+msgid "ground"
+msgstr "ground"
 
-msgid "grass"
-msgstr "grass"
+msgid "mud"
+msgstr "mud"
 
 msgid "sand"
 msgstr "sand"
 
-msgid "ground"
-msgstr "ground"
+msgid "grass"
+msgstr "grass"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "wood"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr ""
@@ -17218,12 +17238,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "mud"
-
 msgid "Lanes"
 msgstr "Lanes"
 
@@ -30253,6 +30267,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/en_CA.po b/i18n/po/en_CA.po
index 373e747..743b88d 100644
--- a/i18n/po/en_CA.po
+++ b/i18n/po/en_CA.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2010-09-24 17:25+0000\n"
 "Last-Translator: Johann Beda <Unknown>\n"
 "Language-Team: English (Canada) <en_CA at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:11+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:10+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14719,6 +14719,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15967,6 +15970,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16122,40 +16130,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16231,12 +16251,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29195,6 +29209,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/en_GB.po b/i18n/po/en_GB.po
index 9276caf..5cd01e8 100644
--- a/i18n/po/en_GB.po
+++ b/i18n/po/en_GB.po
@@ -10,16 +10,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: JOSM\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-24 13:29+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-02 13:27+0000\n"
 "Last-Translator: Andi Chandler <Unknown>\n"
 "Language-Team: German <josm-dev at openstreetmap.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:08+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:08+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: de\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -15987,6 +15987,9 @@ msgstr "SPW(allonie) 2009-2010 aerial imagery"
 msgid "TEC bus lines (2014)"
 msgstr "TEC bus lines (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -16066,7 +16069,7 @@ msgid "BD Carthage"
 msgstr "BD Carthage"
 
 msgid "BD Ortho"
-msgstr ""
+msgstr "BD Ortho"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -17206,7 +17209,7 @@ msgstr ""
 "plugin."
 
 msgid "Allows the user to work with pictures hosted at mapillary.com"
-msgstr ""
+msgstr "Allows the user to work with pictures hosted at mapillary.com"
 
 msgid ""
 "Provide a measurement dialog and a layer to measure length and angle of "
@@ -17316,6 +17319,13 @@ msgid "adds projections from Proj4J"
 msgstr "adds projections from Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "This plug-in simplifies the mapping and editing of public transport routes."
@@ -17507,41 +17517,53 @@ msgstr "asphalt"
 msgid "concrete"
 msgstr "concrete"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "wood"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "paving_stones"
 
+msgid "sett"
+msgstr "sett"
+
 msgid "cobblestone"
 msgstr "cobblestone"
 
+msgid "grass_paver"
+msgstr "grass_paver"
+
+msgid "compacted"
+msgstr "compacted"
+
+msgid "fine_gravel"
+msgstr "fine_gravel"
+
 msgid "gravel"
 msgstr "gravel"
 
 msgid "pebblestone"
 msgstr "pebblestone"
 
-msgid "compacted"
-msgstr "compacted"
-
-msgid "grass_paver"
-msgstr "grass_paver"
+msgid "ground"
+msgstr "ground"
 
-msgid "grass"
-msgstr "grass"
+msgid "mud"
+msgstr "mud"
 
 msgid "sand"
 msgstr "sand"
 
-msgid "ground"
-msgstr "ground"
+msgid "grass"
+msgstr "grass"
 
-msgid "sett"
-msgstr "sett"
+msgid "wood"
+msgstr "wood"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr "Smoothness"
@@ -17616,12 +17638,6 @@ msgstr "clay"
 msgid "dirt"
 msgstr "dirt"
 
-msgid "fine_gravel"
-msgstr "fine_gravel"
-
-msgid "mud"
-msgstr "mud"
-
 msgid "Lanes"
 msgstr "Lanes"
 
@@ -29494,7 +29510,7 @@ msgid "Move to picture''s location with next/previous buttons"
 msgstr "Move to picture''s location with next/previous buttons"
 
 msgid "Preview images when hovering its icon"
-msgstr ""
+msgstr "Preview images when hovering its icon"
 
 msgid "Download mode"
 msgstr "Download mode"
@@ -31004,6 +31020,37 @@ msgstr "Proj4J Plugin"
 msgid "Code"
 msgstr "Code"
 
+msgid "Gaps"
+msgstr "Gaps"
+
+msgid "Checks if there are gaps in the route relation."
+msgstr "Checks if there are gaps in the route relation."
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr "PT: Route contains a gap that can be fixed by sorting"
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr "Platforms first"
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr "Checks if platforms are listed before ways in the route relation."
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+
 msgid "Can''t parse a time from this string."
 msgstr "Can''t parse a time from this string."
 
diff --git a/i18n/po/eo.po b/i18n/po/eo.po
index dfa74a5..e5bc8c5 100644
--- a/i18n/po/eo.po
+++ b/i18n/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2012-10-03 21:33+0000\n"
 "Last-Translator: Michael Moroni <michael.moroni at openmailbox.org>\n"
 "Language-Team: Esperanto <eo at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:39+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:39+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: eo\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14719,6 +14719,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15967,6 +15970,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16122,40 +16130,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16231,12 +16251,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29195,6 +29209,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/es.po b/i18n/po/es.po
index 744147f..a9c68b5 100644
--- a/i18n/po/es.po
+++ b/i18n/po/es.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-25 09:29+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-04 09:17+0000\n"
 "Last-Translator: Emilio Gomez Fernandez <Unknown>\n"
 "Language-Team: Spanish <es at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:02+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:02+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: es\n"
 "X-Language: es_ES\n"
 "X-Source-Language: C\n"
@@ -3660,7 +3660,7 @@ msgid ""
 "Only square tiles are supported. {0}x{1} returned by server for TileMatrix "
 "identifier {2}"
 msgstr ""
-"Solo teselas cuadradas son soportadas. {0}x{1} devuelto por el servidor por "
+"Solo teselas cuadradas son permitidas. {0}x{1} devuelto por el servidor por "
 "TileMatrix identifier {2}"
 
 msgid "Note"
@@ -3764,7 +3764,7 @@ msgstr[0] "relación"
 msgstr[1] "relaciones"
 
 msgid "closedway"
-msgstr "vía sin salida"
+msgstr "vía cerrada"
 
 msgid "multipolygon"
 msgstr "multipolígono"
@@ -11991,7 +11991,7 @@ msgid "Track date"
 msgstr "Fecha de la traza"
 
 msgid "Single Color (can be customized for named layers)"
-msgstr "Color único (puede ser personalizado para las capas nombradas)"
+msgstr "Color único (puede ser personalizado para las capas seleccionadas)"
 
 msgid "Car"
 msgstr "Automóvil"
@@ -13492,7 +13492,7 @@ msgid "Use preset ''{0}''"
 msgstr "Usar predefinido ''{0}''"
 
 msgid "Elements of type {0} are supported."
-msgstr "Los elementos del tipo {0} son soportados"
+msgstr "Los elementos de tipo {0} están permitidos"
 
 msgid "This preset also sets: {0}"
 msgstr "Esta plantilla también establecer: {0}"
@@ -13631,7 +13631,7 @@ msgid "This corresponds to the key ''{0}''"
 msgstr "Este se corresponde con la clave ''{0}''"
 
 msgid "More information about this feature"
-msgstr "Más información sobre esta característica"
+msgstr "Más información sobre este elemento"
 
 msgid "Optional Attributes:"
 msgstr "Atributos opcionales:"
@@ -16523,6 +16523,9 @@ msgstr "SPW(solitario) 2009-2010 imágenes aéreas"
 msgid "TEC bus lines (2014)"
 msgstr "Líneas de transporte urbano TEC (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Sectores Urbanos"
 
@@ -17889,6 +17892,11 @@ msgid "adds projections from Proj4J"
 msgstr "Agrega nuevas proyecciones geográficas mediante la biblioteca Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Este componente simplifica el cartografiado y edición de rutas de "
@@ -18091,41 +18099,53 @@ msgstr "asfalto"
 msgid "concrete"
 msgstr "hormigón"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "bosque natural"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "pavimento adoquinado"
 
+msgid "sett"
+msgstr "adoquinado"
+
 msgid "cobblestone"
 msgstr "empedrado (adoquinado, encachado, enlosado)"
 
+msgid "grass_paver"
+msgstr "pavimento vegetal (de celosía)"
+
+msgid "compacted"
+msgstr "compactado"
+
+msgid "fine_gravel"
+msgstr "ripiado fino"
+
 msgid "gravel"
 msgstr "grava"
 
 msgid "pebblestone"
 msgstr "grijo"
 
-msgid "compacted"
-msgstr "compactado"
-
-msgid "grass_paver"
-msgstr "pavimento vegetal (de celosía)"
+msgid "ground"
+msgstr "tierra"
 
-msgid "grass"
-msgstr "hierba"
+msgid "mud"
+msgstr "lodazal"
 
 msgid "sand"
 msgstr "arena"
 
-msgid "ground"
-msgstr "tierra"
+msgid "grass"
+msgstr "hierba"
 
-msgid "sett"
-msgstr "adoquinado"
+msgid "wood"
+msgstr "bosque natural"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr "Suavidad"
@@ -18201,12 +18221,6 @@ msgstr "cemento"
 msgid "dirt"
 msgstr "tierra"
 
-msgid "fine_gravel"
-msgstr "ripiado fino"
-
-msgid "mud"
-msgstr "lodazal"
-
 msgid "Lanes"
 msgstr "Carriles"
 
@@ -30202,13 +30216,15 @@ msgid "Reverse buttons position when displaying images."
 msgstr "Invertir la posición de los botones al mostrar las imágenes."
 
 msgid "Display hour when the picture was taken"
-msgstr "Mostrar la hora de cuando la foto fue tomada"
+msgstr "Mostrar la hora de cuando la fotografía fue tomada."
 
 msgid "Use 24 hour format"
-msgstr "Usar formato de 24 horas"
+msgstr "Usar formato de 24 horas."
 
 msgid "Move to picture''s location with next/previous buttons"
-msgstr "Mover a ubicación de imágenes con el botón siguiente/anterior"
+msgstr ""
+"Desplazarse a la ubicación de las imágenes con los botones "
+"siguiente/anterior."
 
 msgid "Preview images when hovering its icon"
 msgstr ""
@@ -31761,6 +31777,35 @@ msgstr "Complemento Proj4J"
 msgid "Code"
 msgstr "Código"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "No se puede interpretar una hora con esta cadena de caracteres."
 
diff --git a/i18n/po/et.po b/i18n/po/et.po
index 5f20b05..767832d 100644
--- a/i18n/po/et.po
+++ b/i18n/po/et.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-01-02 11:25+0000\n"
 "Last-Translator: AivoK <aivo.kuhlberg at hot.ee>\n"
 "Language-Team: Estonian <et at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:40+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:39+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: et\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14964,6 +14964,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16219,6 +16222,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "See plugin lihtsustab ühistranspordiliinide kaardistamist."
 
@@ -16376,41 +16384,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "betoon"
 
-msgid "metal"
-msgstr "metall"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "puit"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "tänavakivid"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "munakivid"
 
+msgid "grass_paver"
+msgstr "murukivi"
+
+msgid "compacted"
+msgstr "rullitud"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "killustik"
 
 msgid "pebblestone"
 msgstr "kruus"
 
-msgid "compacted"
-msgstr "rullitud"
-
-msgid "grass_paver"
-msgstr "murukivi"
+msgid "ground"
+msgstr "pinnas"
 
-msgid "grass"
-msgstr "muru"
+msgid "mud"
+msgstr "muda"
 
 msgid "sand"
 msgstr "liiv"
 
-msgid "ground"
-msgstr "pinnas"
+msgid "grass"
+msgstr "muru"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "puit"
+
+msgid "metal"
+msgstr "metall"
 
 msgid "Smoothness"
 msgstr ""
@@ -16485,12 +16505,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "muda"
-
 msgid "Lanes"
 msgstr "Rajad"
 
@@ -29473,6 +29487,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/eu.po b/i18n/po/eu.po
index 342288c..67ee985 100644
--- a/i18n/po/eu.po
+++ b/i18n/po/eu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-03-09 16:55+0000\n"
 "Last-Translator: Asier Sarasua Garmendia <Unknown>\n"
 "Language-Team: Basque <eu at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:34+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:34+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: eu\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14912,6 +14912,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16177,6 +16180,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Garraio publikoko ibilbideak mapeatu eta editatzea errazagoa egiten du."
@@ -16355,41 +16363,53 @@ msgstr "asfaltua"
 msgid "concrete"
 msgstr "hormigoi"
 
-msgid "metal"
-msgstr "metala"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "egurra"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "galtzada-arri zola"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "galtzada-arria"
 
+msgid "grass_paver"
+msgstr "landare-zolua"
+
+msgid "compacted"
+msgstr "trinkotua"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "hartxintxar"
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
-msgstr "trinkotua"
-
-msgid "grass_paver"
-msgstr "landare-zolua"
+msgid "ground"
+msgstr "lursaila"
 
-msgid "grass"
-msgstr "belarra"
+msgid "mud"
+msgstr "lokatza"
 
 msgid "sand"
 msgstr "hondarra"
 
-msgid "ground"
-msgstr "lursaila"
+msgid "grass"
+msgstr "belarra"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "egurra"
+
+msgid "metal"
+msgstr "metala"
 
 msgid "Smoothness"
 msgstr ""
@@ -16464,12 +16484,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "lokatza"
-
 msgid "Lanes"
 msgstr "Erreiak"
 
@@ -29433,6 +29447,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/fa.po b/i18n/po/fa.po
index 705480d..5ff2d0a 100644
--- a/i18n/po/fa.po
+++ b/i18n/po/fa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2014-03-18 07:32+0000\n"
 "Last-Translator: Saeed Ghazi Joolaee <Unknown>\n"
 "Language-Team: Persian <fa at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:57+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:56+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: fa\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14786,6 +14786,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16034,6 +16037,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16189,40 +16197,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16298,12 +16318,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29262,6 +29276,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/fi.po b/i18n/po/fi.po
index 861c74d..1144067 100644
--- a/i18n/po/fi.po
+++ b/i18n/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-01-19 17:11+0000\n"
 "Last-Translator: Lauri Kytömaa <Unknown>\n"
 "Language-Team: Finnish <fi at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:41+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:41+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: fi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -15600,6 +15600,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16875,6 +16878,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -17042,41 +17050,53 @@ msgstr "asfaltti"
 msgid "concrete"
 msgstr "betoni"
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
-msgstr "puu"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr "nupukivi"
+
 msgid "cobblestone"
 msgstr "mukulakivi"
 
+msgid "grass_paver"
+msgstr "ruohokivi"
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "sora"
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
-msgstr ""
-
-msgid "grass_paver"
-msgstr "ruohokivi"
+msgid "ground"
+msgstr "maa"
 
-msgid "grass"
-msgstr "ruoho"
+msgid "mud"
+msgstr "muta"
 
 msgid "sand"
 msgstr "hiekka"
 
-msgid "ground"
-msgstr "maa"
+msgid "grass"
+msgstr "ruoho"
 
-msgid "sett"
-msgstr "nupukivi"
+msgid "wood"
+msgstr "puu"
+
+msgid "metal"
+msgstr ""
 
 msgid "Smoothness"
 msgstr ""
@@ -17151,12 +17171,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "muta"
-
 msgid "Lanes"
 msgstr "Kaistat"
 
@@ -30207,6 +30221,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/fil.po b/i18n/po/fil.po
index 9d3dc0e..10cecc0 100644
--- a/i18n/po/fil.po
+++ b/i18n/po/fil.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-06-19 14:15+0000\n"
 "Last-Translator: Anthony Balico <Unknown>\n"
 "Language-Team: Filipino <fil at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:11+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:11+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: fil\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/fo.po b/i18n/po/fo.po
index d2da0a9..2341c43 100644
--- a/i18n/po/fo.po
+++ b/i18n/po/fo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-02-28 16:15+0000\n"
 "Last-Translator: LiFo <Unknown>\n"
 "Language-Team: Faroese <fo at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:40+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:40+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr "{0}: valmøguleiki ''{1}'' er tvítýddur"
@@ -14712,6 +14712,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15960,6 +15963,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16115,40 +16123,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16224,12 +16244,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29188,6 +29202,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/fr.po b/i18n/po/fr.po
index 91c2ad6..99b3a36 100644
--- a/i18n/po/fr.po
+++ b/i18n/po/fr.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-13 07:05+0000\n"
 "Last-Translator: Penegal <Unknown>\n"
 "Language-Team: Fr <>\n"
@@ -13,8 +13,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:41+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:41+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: fr\n"
 "X-Poedit-Bookmarks: 1767,-1,-1,2669,-1,-1,-1,-1,-1,-1\n"
 
@@ -16419,6 +16419,9 @@ msgstr "Imagerie aérienne SPW(allonie) 2009-2010"
 msgid "TEC bus lines (2014)"
 msgstr "Lignes du réseau TEC (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Carte des secteurs urbains"
 
@@ -17776,6 +17779,11 @@ msgid "adds projections from Proj4J"
 msgstr "Ajoute des projections de Proj4V"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Facilite la cartographie et l’édition des itinéraires de transport public."
@@ -17972,41 +17980,53 @@ msgstr "bitume"
 msgid "concrete"
 msgstr "béton"
 
-msgid "metal"
-msgstr "métal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "bois"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "pavés"
 
+msgid "sett"
+msgstr "galet"
+
 msgid "cobblestone"
 msgstr "galets"
 
+msgid "grass_paver"
+msgstr "gazon"
+
+msgid "compacted"
+msgstr "compact"
+
+msgid "fine_gravel"
+msgstr "gravillon"
+
 msgid "gravel"
 msgstr "graviers"
 
 msgid "pebblestone"
 msgstr "galets"
 
-msgid "compacted"
-msgstr "compact"
-
-msgid "grass_paver"
-msgstr "gazon"
+msgid "ground"
+msgstr "terre"
 
-msgid "grass"
-msgstr "herbe"
+msgid "mud"
+msgstr "terrain boueux"
 
 msgid "sand"
 msgstr "sable"
 
-msgid "ground"
-msgstr "terre"
+msgid "grass"
+msgstr "herbe"
 
-msgid "sett"
-msgstr "galet"
+msgid "wood"
+msgstr "bois"
+
+msgid "metal"
+msgstr "métal"
 
 msgid "Smoothness"
 msgstr "Lissage"
@@ -18082,12 +18102,6 @@ msgstr "terre battue"
 msgid "dirt"
 msgstr "terre brute"
 
-msgid "fine_gravel"
-msgstr "gravillon"
-
-msgid "mud"
-msgstr "terrain boueux"
-
 msgid "Lanes"
 msgstr "Nombre de voies"
 
@@ -31624,6 +31638,35 @@ msgstr "Proj4J greffon"
 msgid "Code"
 msgstr "Code"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Impossible de lire l’heure depuis cette chaîne."
 
diff --git a/i18n/po/ga.po b/i18n/po/ga.po
index b9d6bfc..63044e4 100644
--- a/i18n/po/ga.po
+++ b/i18n/po/ga.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-05-17 11:43+0000\n"
 "Last-Translator: Thorsten <Unknown>\n"
 "Language-Team: Irish <ga at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:43+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:43+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -14712,6 +14712,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15960,6 +15963,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16115,40 +16123,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16224,12 +16244,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29188,6 +29202,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/gl.po b/i18n/po/gl.po
index 55457b1..a339ba4 100644
--- a/i18n/po/gl.po
+++ b/i18n/po/gl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-01-01 15:11+0000\n"
 "Last-Translator: Marcos Lans <Unknown>\n"
 "Language-Team: Galician <proxecto at trasno.net>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:43+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:43+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: gl\n"
 "X-Poedit-Language: Galician\n"
 
@@ -15245,6 +15245,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16507,6 +16510,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Este complemento simplifica o cartografiado e edición de rutas de transporte "
@@ -16680,41 +16688,53 @@ msgstr "asfalto"
 msgid "concrete"
 msgstr "formigón"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "bosque"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "pavimento de pedra"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "adoquinado"
 
+msgid "grass_paver"
+msgstr "pavimento vexetal"
+
+msgid "compacted"
+msgstr "compactado"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "grava"
 
 msgid "pebblestone"
 msgstr "grijo"
 
-msgid "compacted"
-msgstr "compactado"
-
-msgid "grass_paver"
-msgstr "pavimento vexetal"
+msgid "ground"
+msgstr "terra"
 
-msgid "grass"
-msgstr "herba"
+msgid "mud"
+msgstr "lodazal"
 
 msgid "sand"
 msgstr "area"
 
-msgid "ground"
-msgstr "terra"
+msgid "grass"
+msgstr "herba"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "bosque"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr ""
@@ -16789,12 +16809,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "lodazal"
-
 msgid "Lanes"
 msgstr "Carriles"
 
@@ -29781,6 +29795,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/he.po b/i18n/po/he.po
index 3d13fc8..8a8caf6 100644
--- a/i18n/po/he.po
+++ b/i18n/po/he.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2013-03-30 13:38+0000\n"
 "Last-Translator: Dirk Stöcker <launchpad at dstoecker.de>\n"
 "Language-Team: Hebrew <he at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:45+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:45+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: he\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14754,6 +14754,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16002,6 +16005,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16157,40 +16165,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "אבני ריצוף"
 
-msgid "gravel"
-msgstr "חצץ"
-
-msgid "pebblestone"
+msgid "grass_paver"
 msgstr ""
 
 msgid "compacted"
 msgstr ""
 
-msgid "grass_paver"
+msgid "fine_gravel"
 msgstr ""
 
-msgid "grass"
-msgstr "דשא"
+msgid "gravel"
+msgstr "חצץ"
 
-msgid "sand"
-msgstr "חול"
+msgid "pebblestone"
+msgstr ""
 
 msgid "ground"
 msgstr "אדמה"
 
-msgid "sett"
+msgid "mud"
+msgstr "בוץ"
+
+msgid "sand"
+msgstr "חול"
+
+msgid "grass"
+msgstr "דשא"
+
+msgid "wood"
+msgstr ""
+
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16266,12 +16286,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "בוץ"
-
 msgid "Lanes"
 msgstr "מסלולים"
 
@@ -29234,6 +29248,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/hi.po b/i18n/po/hi.po
index f465c29..99e9324 100644
--- a/i18n/po/hi.po
+++ b/i18n/po/hi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2009-11-14 16:28+0000\n"
 "Last-Translator: nipunreddevil <nipunreddevil at gmail.com>\n"
 "Language-Team: Hindi <hi at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:45+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:45+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: hi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/hr.po b/i18n/po/hr.po
index e4253c3..6ce41a5 100644
--- a/i18n/po/hr.po
+++ b/i18n/po/hr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-01-04 15:56+0000\n"
 "Last-Translator: gogo <trebelnik2 at gmail.com>\n"
 "Language-Team: Croatian <hr at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:00+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:00+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: hr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14863,6 +14863,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16111,6 +16114,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16266,42 +16274,54 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "beton"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "kaldrma"
 
+msgid "grass_paver"
+msgstr "travnate ploče (grass_paver)"
+
+msgid "compacted"
+msgstr "makadam"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "šljunak"
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
-msgstr "makadam"
-
-msgid "grass_paver"
-msgstr "travnate ploče (grass_paver)"
+msgid "ground"
+msgstr ""
 
-msgid "grass"
-msgstr "trava"
+msgid "mud"
+msgstr ""
 
 msgid "sand"
 msgstr "pijesak"
 
-msgid "ground"
-msgstr ""
+msgid "grass"
+msgstr "trava"
 
-msgid "sett"
+msgid "wood"
 msgstr ""
 
+msgid "metal"
+msgstr "metal"
+
 msgid "Smoothness"
 msgstr ""
 
@@ -16375,12 +16395,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr "Broj traka"
 
@@ -29343,6 +29357,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ht.po b/i18n/po/ht.po
index 41b7ba8..d88fef2 100644
--- a/i18n/po/ht.po
+++ b/i18n/po/ht.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2010-03-11 21:17+0000\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: Haitian; Haitian Creole <ht at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:44+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:44+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/hu.po b/i18n/po/hu.po
index 6314276..ff16cd8 100644
--- a/i18n/po/hu.po
+++ b/i18n/po/hu.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-25 19:50+0000\n"
-"Last-Translator: Zoltan Faludi <Unknown>\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-02 22:31+0000\n"
+"Last-Translator: Báthory Péter <bathory86p at gmail.com>\n"
 "Language-Team: Hungarian <kde-l10n-hu at kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:46+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:46+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: hu\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16226,6 +16226,9 @@ msgstr "SPW(allonie) 2009-2010 légifelvétel"
 msgid "TEC bus lines (2014)"
 msgstr "TEC busz útvonalak (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -17464,7 +17467,7 @@ msgstr ""
 "is szólhat a hibajelentésekhez ennek a bővítménynek a használatával."
 
 msgid "Allows the user to work with pictures hosted at mapillary.com"
-msgstr ""
+msgstr "Lehetővé teszi a mapillary.com fotóinak használatát"
 
 msgid ""
 "Provide a measurement dialog and a layer to measure length and angle of "
@@ -17577,6 +17580,11 @@ msgid "adds projections from Proj4J"
 msgstr "Vetületeket ad hozzá a Proj4J-ből"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Ez a bővítmény egyszerűsíti a tömegközlekedési útvonalak térképezését és "
@@ -17765,41 +17773,53 @@ msgstr "aszfalt"
 msgid "concrete"
 msgstr "beton"
 
-msgid "metal"
-msgstr "fém"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "fa"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "térkő (viacolor)"
 
+msgid "sett"
+msgstr "kockakő (macskakő)"
+
 msgid "cobblestone"
 msgstr "kőburkolat (durva kavics)"
 
+msgid "grass_paver"
+msgstr "gyephézagos térkő"
+
+msgid "compacted"
+msgstr "tömörített (makadám)"
+
+msgid "fine_gravel"
+msgstr "kőzúzalék (murva)"
+
 msgid "gravel"
 msgstr "zúzottkő (nagyszemcsés)"
 
 msgid "pebblestone"
 msgstr "kavics"
 
-msgid "compacted"
-msgstr "tömörített (makadám)"
-
-msgid "grass_paver"
-msgstr "gyephézagos térkő"
+msgid "ground"
+msgstr "föld"
 
-msgid "grass"
-msgstr "fű"
+msgid "mud"
+msgstr "mocsár"
 
 msgid "sand"
 msgstr "homok"
 
-msgid "ground"
-msgstr "föld"
+msgid "grass"
+msgstr "fű"
 
-msgid "sett"
-msgstr "kockakő (macskakő)"
+msgid "wood"
+msgstr "fa"
+
+msgid "metal"
+msgstr "fém"
 
 msgid "Smoothness"
 msgstr "Simaság"
@@ -17874,12 +17894,6 @@ msgstr "agyag"
 msgid "dirt"
 msgstr "sár"
 
-msgid "fine_gravel"
-msgstr "kőzúzalék (murva)"
-
-msgid "mud"
-msgstr "mocsár"
-
 msgid "Lanes"
 msgstr "Sávok"
 
@@ -29303,16 +29317,16 @@ msgid "Missing input data"
 msgstr ""
 
 msgid "Mapillary Images"
-msgstr ""
+msgstr "Mapillary képek"
 
 msgid "Mapillary layer"
-msgstr ""
+msgstr "Mapillary réteg"
 
 msgid "Total images:"
-msgstr ""
+msgstr "Összes kép:"
 
 msgid "images"
-msgstr ""
+msgstr "képek"
 
 msgid "Traffic sign font at ''{0}'' has wrong format"
 msgstr ""
@@ -29321,256 +29335,257 @@ msgid "Could not read font-file from ''{0}''"
 msgstr ""
 
 msgid "Mapillary"
-msgstr ""
+msgstr "Mapillary"
 
 msgid "Create Mapillary layer"
-msgstr ""
+msgstr "Mapillary réteg készítése"
 
 msgid "Start Mapillary layer"
-msgstr ""
+msgstr "Mapillary réteg indítása"
 
 msgid "Download Mapillary images in current view"
-msgstr ""
+msgstr "Mapillary képek letöltése a jelenlegi nézeten"
 
 msgid "Export pictures"
-msgstr ""
+msgstr "Képek exportálás"
 
 msgid "Export Mapillary pictures"
-msgstr ""
+msgstr "Mapillary képek exportálása"
 
 msgid "Export images"
-msgstr ""
+msgstr "Képek exportálása"
 
 msgid "Import pictures"
-msgstr ""
+msgstr "Képek importálása"
 
 msgid "Import local pictures"
-msgstr ""
+msgstr "Helyi képek importálása"
 
 msgid "Import pictures into Mapillary layer"
-msgstr ""
+msgstr "Képek importálása a Mapillary rétegre"
 
 msgid "Select pictures"
-msgstr ""
+msgstr "Képek kiválasztása"
 
 msgid "Import pictures into sequence"
-msgstr ""
+msgstr "Képek importálása sorozatba"
 
 msgid "Import pictures into Mapillary layer in a sequence"
-msgstr ""
+msgstr "Képek importálása a Mapillary rétegre egy sorozatba"
 
 msgid "Join mode"
-msgstr ""
+msgstr "Összekapcsolási mód"
 
 msgid "Join/unjoin pictures"
-msgstr ""
+msgstr "Képek össze/szétkapcsolása"
 
 msgid "Join Mapillary pictures"
-msgstr ""
+msgstr "Mapillary képek összekapcsolása"
 
 msgid "Upload pictures"
-msgstr ""
+msgstr "Képek feltöltése"
 
 msgid "Upload Mapillary pictures"
-msgstr ""
+msgstr "Mapillary képek feltöltése"
 
 msgid "Upload pictures."
-msgstr ""
+msgstr "Képek feltöltése."
 
 msgid "Walk mode"
-msgstr ""
+msgstr "Gyalogos mód"
 
 msgid "Start walk mode"
-msgstr ""
+msgstr "Gyalogos mód indítása"
 
 msgid "Zoom to selected image"
-msgstr ""
+msgstr "Nagyítása a kiválasztott képre"
 
 msgid "Zoom to the currently selected Mapillary image"
-msgstr ""
+msgstr "Nagyítása a jelenleg kiválasztott Mapillary képre"
 
 msgid "Uploaded {0} images"
-msgstr ""
+msgstr "{0} kép feltöltve"
 
 msgid "Approve upload on the website"
-msgstr ""
+msgstr "Feltöltés jóváhagyása a weboldalon"
 
 msgid "View in website"
-msgstr ""
+msgstr "Megtekintés a weboldalon"
 
 msgid "Copy key"
-msgstr ""
+msgstr "Kulcs másolása"
 
 msgid "Copy key tag"
-msgstr ""
+msgstr "Kulcs címke másolása"
 
 msgid "Edit on website"
-msgstr ""
+msgstr "Szerkesztés a weboldalon"
 
 msgid "Export all images"
-msgstr ""
+msgstr "Összes kép exportálása"
 
 msgid "Export selected sequence"
-msgstr ""
+msgstr "Kiválasztott sorozat exportálása"
 
 msgid "Export selected images"
-msgstr ""
+msgstr "Kiválasztott képek exportálása"
 
 msgid "Rewrite imported images"
-msgstr ""
+msgstr "Importált képek átírása"
 
 msgid "Select a folder"
-msgstr ""
+msgstr "Könyvtár kiválasztása"
 
 msgid "Explore"
 msgstr ""
 
 msgid "Select a directory"
-msgstr ""
+msgstr "Könyvtár kiválasztása"
 
 msgid "Speed limit"
-msgstr "Sebességkorlát"
+msgstr "Sebességkorlátozás"
 
 msgid "Give way"
-msgstr ""
+msgstr "Elsőbbségadás"
 
 msgid "No entry"
-msgstr ""
+msgstr "Behajtani tilos"
 
 msgid "Intersection danger"
-msgstr ""
+msgstr "Veszélyes útkereszteződés"
 
 msgid "Mandatory direction (any)"
-msgstr ""
+msgstr "Kötelező haladási irány"
 
 msgid "Uneven road"
-msgstr ""
+msgstr "Egyenetlen úttest"
 
 msgid "No parking"
-msgstr ""
+msgstr "Megállni tilos"
 
 msgid "No overtaking"
-msgstr ""
+msgstr "Előzni tilos"
 
 msgid "Pedestrian crossing"
-msgstr ""
+msgstr "Gyalogátkelő"
 
 msgid "No turn"
-msgstr ""
+msgstr "Kanyarodni tilos"
 
 msgid "Years"
-msgstr ""
+msgstr "Év"
 
 msgid "Months"
-msgstr ""
+msgstr "Hónap"
 
 msgid "Days"
-msgstr ""
+msgstr "Nap"
 
 msgid "Imported images"
-msgstr ""
+msgstr "Importált képek"
 
 msgid "Mapillary filter"
-msgstr ""
+msgstr "Mapillary szűrő"
 
 msgid "Open Mapillary filter dialog"
-msgstr ""
+msgstr "Mapillary szűrő ablak megnyitása"
 
 msgid "Not older than: "
-msgstr ""
+msgstr "Nem régebbi mint: "
 
 msgid "Downloaded images"
-msgstr ""
+msgstr "Letöltött képek"
 
 msgid "Only images with signs"
-msgstr ""
+msgstr "Csak jelzőtáblás képek"
 
 msgid "Choose signs"
-msgstr ""
+msgstr "Válassz táblát"
 
 msgid "Mapillary history"
-msgstr ""
+msgstr "Mapillary előzmények"
 
 msgid "Open Mapillary history dialog"
-msgstr ""
+msgstr "Mapillary előzmény ablak megnyitása"
 
 msgid "Mapillary picture"
-msgstr ""
+msgstr "Mapillary kép"
 
 msgid "Open Mapillary window"
-msgstr ""
+msgstr "Mapillary ablak megnyitása"
 
 msgid "Mapillary dialog"
-msgstr ""
+msgstr "Mapillary ablak"
 
 msgid "Open Mapillary main dialog"
-msgstr ""
+msgstr "Fő Mapillary ablak megnyitása"
 
 msgid "Next picture"
-msgstr ""
+msgstr "Következő kép"
 
 msgid "Shows the next picture in the sequence"
-msgstr ""
+msgstr "A sorozat következő képére lép"
 
 msgid "Previous picture"
-msgstr ""
+msgstr "Előző kép"
 
 msgid "Shows the previous picture in the sequence"
-msgstr ""
+msgstr "A sorozat előző képére lép"
 
 msgid "Jump to red"
-msgstr ""
+msgstr "Piroshoz ugrás"
 
 msgid "Jumps to the picture at the other side of the red line"
-msgstr ""
+msgstr "A piros vonal végén lévő képhez ugrik"
 
 msgid "Jump to blue"
-msgstr ""
+msgstr "Kékhez ugrás"
 
 msgid "Jumps to the picture at the other side of the blue line"
-msgstr ""
+msgstr "A kék vonal végén lévő képhez ugrik"
 
 msgid "Stops the walk."
-msgstr ""
+msgstr "Séta megállítása"
 
 msgid "Play"
-msgstr ""
+msgstr "Lejátszás"
 
 msgid "Continues with the paused walk."
-msgstr ""
+msgstr "Folytatja a szüneteltetett sétát."
 
 msgid "Pause"
-msgstr ""
+msgstr "Szünet"
 
 msgid "Pauses the walk."
-msgstr ""
+msgstr "Szünetelteti a sétát."
 
 msgid "Reverse buttons position when displaying images."
-msgstr ""
+msgstr "Gombpozíciók felcserélése kép megjelenítésekor."
 
 msgid "Display hour when the picture was taken"
-msgstr ""
+msgstr "Kép készítési idejének megjelenítése"
 
 msgid "Use 24 hour format"
-msgstr ""
+msgstr "24 órás formátum használata"
 
 msgid "Move to picture''s location with next/previous buttons"
-msgstr ""
+msgstr "Képhez ugrás az előző/következő gomb megnyomásakor"
 
 msgid "Preview images when hovering its icon"
-msgstr ""
+msgstr "Kép előnézete, ha az egér az ikon fölött áll"
 
 msgid "Download mode"
-msgstr ""
+msgstr "Letöltési mód"
 
 msgid "You are logged in as ''{0}''."
-msgstr ""
+msgstr "Be vagy jelentkezve „{0}” néven."
 
 msgid "You are currently not logged in."
-msgstr ""
+msgstr "Jelenleg nem vagy bejelentkezve."
 
 msgid "Go to setting and log in to Mapillary before uploading."
 msgstr ""
+"A feltöltés előtt menj a beállításokba és jelentkezz be a Mapillary fiókodba."
 
 msgid "Upload selected sequence"
 msgstr ""
@@ -31022,6 +31037,35 @@ msgstr "Proj4J bővítmény"
 msgid "Code"
 msgstr "Kód"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Ebből a karakterláncból nem lehet időt bedolgozni."
 
@@ -33643,11 +33687,14 @@ msgstr ""
 
 msgid "Select relation or all ways that forms area boundary"
 msgstr ""
+"Kijelöli a kapcsolatot, vagy az összes vonalat, amik a területhatárt alkotják"
 
 msgid ""
 "Nothing found. Please select way that is a part of some polygon formed by "
 "connected ways"
 msgstr ""
+"Nincs találat. Kérlek, jelölj ki egy vonalat, ami része egy összekötött "
+"vonalakból álló poligonnak"
 
 msgid "Select Highway"
 msgstr "Út kiválasztása"
@@ -33890,27 +33937,27 @@ msgid "Search after waypoint. Click and move the map view to the waypoint."
 msgstr ""
 
 msgid "Fetch Wikidata IDs"
-msgstr ""
+msgstr "Wikidata ID-k lekérése"
 
 msgid "Fetch Wikidata IDs using the ''wikipedia'' tag"
-msgstr ""
+msgstr "Wikidata ID-k lekérése a „wikipedia” címke használatával"
 
 msgid "Fetching Wikidata IDs"
-msgstr ""
+msgstr "Wikidata ID-k lekérése"
 
 msgid "Add Wikidata"
-msgstr ""
+msgstr "Wikidata hozzáadása"
 
 msgid "No Wikidata ID found for: {0}"
-msgstr ""
+msgstr "Nem található Wikidata ID ehhez: {0}"
 
 msgid "Fetching {0} Wikidata ID for language ''{1}''"
 msgid_plural "Fetching {0} Wikidata IDs for language ''{1}''"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} Wikidata ID lekérése a „{1}” nyelvhez"
+msgstr[1] "{0} Wikidata ID lekérése a „{1}” nyelvhez"
 
 msgid "Add Wikidata for language ''{0}''"
-msgstr ""
+msgstr "Wikidata hozzáadása „{0}” nyelvhez"
 
 msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
 msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
@@ -33923,11 +33970,15 @@ msgstr "Nevek hozzáadása a Wikipedia-ról"
 msgid ""
 "Fetches interwiki links from Wikipedia in order to add several name tags"
 msgstr ""
+"Interwiki linkek lekérése a Wikipédiából további név címkék hozzáadása "
+"céljából"
 
 msgid ""
 "Copies the {0} template to the system clipboard instantiated with the "
 "coordinates of the first selected node"
 msgstr ""
+"A vágólapra másolja a(z) {0} sablont, kitöltve az első kiválasztott pont "
+"koordinátáival"
 
 msgid "Copy {0} template"
 msgstr "{0} sablon másolása"
diff --git a/i18n/po/hy.po b/i18n/po/hy.po
index 0332e6c..621730f 100644
--- a/i18n/po/hy.po
+++ b/i18n/po/hy.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-04-13 21:51+0000\n"
 "Last-Translator: Gev777 <Unknown>\n"
 "Language-Team: Armenian <hy at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:33+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:32+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: hy\n"
 
 msgid "Cancel"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ia.po b/i18n/po/ia.po
index bc00119..23bf136 100644
--- a/i18n/po/ia.po
+++ b/i18n/po/ia.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-08-29 01:02+0000\n"
 "Last-Translator: Emilio Sepulveda <Unknown>\n"
 "Language-Team: Interlingua <ia at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:47+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:47+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ia\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/id.po b/i18n/po/id.po
index b4f94cf..c2917d2 100644
--- a/i18n/po/id.po
+++ b/i18n/po/id.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-03-10 03:36+0000\n"
 "Last-Translator: Ezagren <ezagren at gmail.com>\n"
 "Language-Team: Indonesian <id at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:47+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:47+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: id\n"
 "X-Language: id_ID\n"
 
@@ -15727,6 +15727,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -17035,6 +17038,11 @@ msgid "adds projections from Proj4J"
 msgstr "menambahkan proyeksi dari Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "Plugin menyederhanakan peta dan mengedit dari rute transportasi umum"
 
@@ -17214,41 +17222,53 @@ msgstr "Aspal"
 msgid "concrete"
 msgstr "Beton"
 
-msgid "metal"
-msgstr "Metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "Kayu"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "Batu Hampar"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "Batu Bulat"
 
+msgid "grass_paver"
+msgstr "jalan_berumput"
+
+msgid "compacted"
+msgstr "Kompak"
+
+msgid "fine_gravel"
+msgstr "batu_kerikil"
+
 msgid "gravel"
 msgstr "kerikil"
 
 msgid "pebblestone"
 msgstr "Batu Kerikil"
 
-msgid "compacted"
-msgstr "Kompak"
-
-msgid "grass_paver"
-msgstr "jalan_berumput"
+msgid "ground"
+msgstr "permukaan tanah"
 
-msgid "grass"
-msgstr "rumput"
+msgid "mud"
+msgstr "lumpur"
 
 msgid "sand"
 msgstr "pasir"
 
-msgid "ground"
-msgstr "permukaan tanah"
+msgid "grass"
+msgstr "rumput"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "Kayu"
+
+msgid "metal"
+msgstr "Metal"
 
 msgid "Smoothness"
 msgstr ""
@@ -17323,12 +17343,6 @@ msgstr "tanah liat"
 msgid "dirt"
 msgstr "lumpur"
 
-msgid "fine_gravel"
-msgstr "batu_kerikil"
-
-msgid "mud"
-msgstr "lumpur"
-
 msgid "Lanes"
 msgstr "Laju"
 
@@ -30617,6 +30631,35 @@ msgstr "Plugin Proj4J"
 msgid "Code"
 msgstr "Kode"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Tidak bisa mengurai waktu dari string ini"
 
diff --git a/i18n/po/is.po b/i18n/po/is.po
index 3e1b916..92ca1f1 100644
--- a/i18n/po/is.po
+++ b/i18n/po/is.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-11-06 00:32+0000\n"
 "Last-Translator: Stefán Örvar Sigmundsson <stefan.orvar.sigmundsson at emi.is>\n"
 "Language-Team: Icelandic <is at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:46+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:46+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: is\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14764,6 +14764,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16013,6 +16016,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16168,40 +16176,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
-msgstr "skógur"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "götusteinn"
 
-msgid "gravel"
+msgid "grass_paver"
 msgstr ""
 
-msgid "pebblestone"
+msgid "compacted"
 msgstr ""
 
-msgid "compacted"
+msgid "fine_gravel"
 msgstr ""
 
-msgid "grass_paver"
+msgid "gravel"
 msgstr ""
 
-msgid "grass"
+msgid "pebblestone"
 msgstr ""
 
+msgid "ground"
+msgstr ""
+
+msgid "mud"
+msgstr "leðja"
+
 msgid "sand"
 msgstr ""
 
-msgid "ground"
+msgid "grass"
 msgstr ""
 
-msgid "sett"
+msgid "wood"
+msgstr "skógur"
+
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16277,12 +16297,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "leðja"
-
 msgid "Lanes"
 msgstr "Akreinar"
 
@@ -29241,6 +29255,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/it.po b/i18n/po/it.po
index 5362769..aebc381 100644
--- a/i18n/po/it.po
+++ b/i18n/po/it.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm 20081003\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-10 13:53+0000\n"
 "Last-Translator: Don-vip <Unknown>\n"
 "Language-Team: Italian <talk-it at lists.openstreetmap.org>\n"
@@ -12,8 +12,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:48+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:48+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: it\n"
 "X-Language: it_IT\n"
 "X-Source-Language: en\n"
@@ -16627,6 +16627,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mappa dei Settori Urbani"
 
@@ -17971,6 +17974,11 @@ msgid "adds projections from Proj4J"
 msgstr "aggiungi proiezioni da Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Questa estensione semplifica la mappatura e la modifica degli itinerari dei "
@@ -18171,41 +18179,53 @@ msgstr "asfalto"
 msgid "concrete"
 msgstr "calcestruzzo"
 
-msgid "metal"
-msgstr "metallo"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "legno"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "lastricato"
 
+msgid "sett"
+msgstr "sampietrini"
+
 msgid "cobblestone"
 msgstr "ciottoli (pavé)"
 
+msgid "grass_paver"
+msgstr "pavimentazione mista erba-cemento"
+
+msgid "compacted"
+msgstr "compattato"
+
+msgid "fine_gravel"
+msgstr "ghiaia fine"
+
 msgid "gravel"
 msgstr "ghiaia"
 
 msgid "pebblestone"
 msgstr "ciottoli"
 
-msgid "compacted"
-msgstr "compattato"
-
-msgid "grass_paver"
-msgstr "pavimentazione mista erba-cemento"
+msgid "ground"
+msgstr "terra"
 
-msgid "grass"
-msgstr "erba"
+msgid "mud"
+msgstr "zona fangosa (sabbie mobili)"
 
 msgid "sand"
 msgstr "sabbia"
 
-msgid "ground"
-msgstr "terra"
+msgid "grass"
+msgstr "erba"
 
-msgid "sett"
-msgstr "sampietrini"
+msgid "wood"
+msgstr "legno"
+
+msgid "metal"
+msgstr "metallo"
 
 msgid "Smoothness"
 msgstr "Smussatura"
@@ -18280,12 +18300,6 @@ msgstr "argilla"
 msgid "dirt"
 msgstr "terra"
 
-msgid "fine_gravel"
-msgstr "ghiaia fine"
-
-msgid "mud"
-msgstr "zona fangosa (sabbie mobili)"
-
 msgid "Lanes"
 msgstr "Corsie"
 
@@ -31794,6 +31808,35 @@ msgstr "Estensione Proj4J"
 msgid "Code"
 msgstr "Codice"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Impossibile interpretare un orario da questa stringa"
 
diff --git a/i18n/po/ja.po b/i18n/po/ja.po
index 6a8cc1c..7cd0b3a 100644
--- a/i18n/po/ja.po
+++ b/i18n/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-22 08:00+0000\n"
 "Last-Translator: fujimoto <fujimoto at internet.ne.jp>\n"
 "Language-Team: Japanese <tr at openstreetmap.jp>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:48+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:48+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "X-Poedit-Country: JAPAN\n"
 "Language: ja\n"
 "X-Poedit-Language: Japanese\n"
@@ -14991,6 +14991,9 @@ msgstr "SPW(allonie) 2009-2010 aerial imagery"
 msgid "TEC bus lines (2014)"
 msgstr "TEC bus lines (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -16270,6 +16273,11 @@ msgid "adds projections from Proj4J"
 msgstr "Proj4Jから投影法を追加します"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "このプラグインは公共交通ルートのマッピングと編集を簡素化します。"
 
@@ -16436,41 +16444,53 @@ msgstr "アスファルト"
 msgid "concrete"
 msgstr "コンクリート"
 
-msgid "metal"
-msgstr "金属"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "自然林/木材"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "敷石(定形)"
 
+msgid "sett"
+msgstr "石畳(不定形)"
+
 msgid "cobblestone"
 msgstr "丸石"
 
+msgid "grass_paver"
+msgstr "植生ブロック"
+
+msgid "compacted"
+msgstr "圧縮"
+
+msgid "fine_gravel"
+msgstr "砂利"
+
 msgid "gravel"
 msgstr "砂利道"
 
 msgid "pebblestone"
 msgstr "小石"
 
-msgid "compacted"
-msgstr "圧縮"
-
-msgid "grass_paver"
-msgstr "植生ブロック"
+msgid "ground"
+msgstr "地表"
 
-msgid "grass"
-msgstr "草地"
+msgid "mud"
+msgstr "泥"
 
 msgid "sand"
 msgstr "砂地"
 
-msgid "ground"
-msgstr "地表"
+msgid "grass"
+msgstr "草地"
 
-msgid "sett"
-msgstr "石畳(不定形)"
+msgid "wood"
+msgstr "自然林/木材"
+
+msgid "metal"
+msgstr "金属"
 
 msgid "Smoothness"
 msgstr "滑らかさ"
@@ -16545,12 +16565,6 @@ msgstr "粘土"
 msgid "dirt"
 msgstr "土"
 
-msgid "fine_gravel"
-msgstr "砂利"
-
-msgid "mud"
-msgstr "泥"
-
 msgid "Lanes"
 msgstr "車線数"
 
@@ -29690,6 +29704,35 @@ msgstr "Proj4J プラグイン"
 msgid "Code"
 msgstr "コード"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "この文字列から時刻を解釈できません。"
 
diff --git a/i18n/po/ka.po b/i18n/po/ka.po
index 23283ab..b8a10de 100644
--- a/i18n/po/ka.po
+++ b/i18n/po/ka.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-12-16 00:14+0000\n"
 "Last-Translator: datogogishvili <Unknown>\n"
 "Language-Team: Georgian <ka at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:42+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:42+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ka\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14718,6 +14718,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15966,6 +15969,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16121,40 +16129,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16230,12 +16250,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29194,6 +29208,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/km.po b/i18n/po/km.po
index 84f9183..4bec7fc 100644
--- a/i18n/po/km.po
+++ b/i18n/po/km.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-01-27 10:25+0000\n"
 "Last-Translator: Sophea Sok <sksophea at gmail.com>\n"
 "Language-Team: Khmer <km at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:49+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:49+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16071,6 +16071,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -17403,6 +17406,11 @@ msgid "adds projections from Proj4J"
 msgstr "បន្ថែម​ចំណោល​ពី Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "កម្មវិធី​ជំនួយ​នេះ​កំណត់​ផែនទី និង​កែសម្រួល​ផ្លូវ​ដឹកជញ្ជូន​សាធារណៈ។"
 
@@ -17562,40 +17570,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -17671,12 +17691,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -30635,6 +30649,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ko.po b/i18n/po/ko.po
index 3b9e24a..2982152 100644
--- a/i18n/po/ko.po
+++ b/i18n/po/ko.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-04-01 12:42+0000\n"
 "Last-Translator: Myeongjin <aranet100 at gmail.com>\n"
 "Language-Team: Korean <ko at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:50+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:50+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ko\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14701,6 +14701,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15949,6 +15952,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16104,40 +16112,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16213,12 +16233,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29177,6 +29191,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ky.po b/i18n/po/ky.po
index 2a7bb4f..e99ee07 100644
--- a/i18n/po/ky.po
+++ b/i18n/po/ky.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2012-12-18 02:36+0000\n"
 "Last-Translator: SimpleLeon <Unknown>\n"
 "Language-Team: Kirghiz <ky at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:49+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:49+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -14712,6 +14712,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15960,6 +15963,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16115,40 +16123,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16224,12 +16244,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29188,6 +29202,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/lb.po b/i18n/po/lb.po
index 221ae16..d317e08 100644
--- a/i18n/po/lb.po
+++ b/i18n/po/lb.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-04-28 18:56+0000\n"
 "Last-Translator: Charel <ceilenbecker at gmail.com>\n"
 "Language-Team: Luxembourgish <lb at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:52+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:52+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr "{0}:D''Optioun \"{1}\" ass net eendeiteg"
@@ -14712,6 +14712,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15960,6 +15963,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16115,40 +16123,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16224,12 +16244,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29188,6 +29202,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/lo.po b/i18n/po/lo.po
index 6a66546..ca5e07d 100644
--- a/i18n/po/lo.po
+++ b/i18n/po/lo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2009-09-15 10:06+0000\n"
 "Last-Translator: Anousone <Unknown>\n"
 "Language-Team: Lao <lo at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:51+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:51+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/lt.po b/i18n/po/lt.po
index 19abb81..47f3d23 100644
--- a/i18n/po/lt.po
+++ b/i18n/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-27 19:35+0000\n"
 "Last-Translator: Aurimas Fišeras <Unknown>\n"
 "Language-Team: Lithuanian <lt at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "(n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:52+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:52+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: lt\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16148,6 +16148,9 @@ msgstr "SPW(allonie) 2009-2010 aeronuotraukos"
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -17411,6 +17414,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Šis papildinys supaprastina viešojo transporto maršrutų žymėjimą ir "
@@ -17571,41 +17579,53 @@ msgstr "asfaltas"
 msgid "concrete"
 msgstr "betonas"
 
-msgid "metal"
-msgstr "metalas"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "medis"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "trinkelės"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "grįsta akmenimis"
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr "smulkus_žvyras"
+
 msgid "gravel"
 msgstr "žvyras"
 
 msgid "pebblestone"
 msgstr "skalda"
 
-msgid "compacted"
-msgstr ""
+msgid "ground"
+msgstr "žemė"
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
-msgstr "žolė"
-
 msgid "sand"
 msgstr "smėlis"
 
-msgid "ground"
-msgstr "žemė"
+msgid "grass"
+msgstr "žolė"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "medis"
+
+msgid "metal"
+msgstr "metalas"
 
 msgid "Smoothness"
 msgstr "Lygumas"
@@ -17680,12 +17700,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr "smulkus_žvyras"
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr "Juostos"
 
@@ -30710,6 +30724,35 @@ msgstr "Proj4J papildinys"
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/lv.po b/i18n/po/lv.po
index e36b551..f6c1819 100644
--- a/i18n/po/lv.po
+++ b/i18n/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2012-10-03 22:16+0000\n"
 "Last-Translator: Dirk Stöcker <launchpad at dstoecker.de>\n"
 "Language-Team: Latvian <lv at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:51+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:51+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: lv\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14727,6 +14727,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15975,6 +15978,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16130,40 +16138,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16239,12 +16259,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29203,6 +29217,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/mk.po b/i18n/po/mk.po
index 0a6512b..5658841 100644
--- a/i18n/po/mk.po
+++ b/i18n/po/mk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2013-05-11 04:37+0000\n"
 "Last-Translator: Bojan Jankuloski <bojan.jankuloski at gmail.com>\n"
 "Language-Team: Macedonian <mk at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:53+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:52+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: mk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14717,6 +14717,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15965,6 +15968,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16120,40 +16128,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16229,12 +16249,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29193,6 +29207,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/mr.po b/i18n/po/mr.po
index befd6ee..0a9b26b 100644
--- a/i18n/po/mr.po
+++ b/i18n/po/mr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-05-24 23:45+0000\n"
 "Last-Translator: Singleton <singleton47+ubuntuone at live.com>\n"
 "Language-Team: Marathi <mr at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:53+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:53+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: mr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14755,6 +14755,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16003,6 +16006,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16158,40 +16166,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16267,12 +16287,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29231,6 +29245,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ms.po b/i18n/po/ms.po
index 3ab7b6c..cd7e152 100644
--- a/i18n/po/ms.po
+++ b/i18n/po/ms.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-12-11 22:14+0000\n"
 "Last-Translator: abuyop <Unknown>\n"
 "Language-Team: Malay <ms at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:54+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:53+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ms\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/nb.po b/i18n/po/nb.po
index 9cfd0f7..38a3178 100644
--- a/i18n/po/nb.po
+++ b/i18n/po/nb.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-11-28 16:18+0000\n"
 "Last-Translator: Magnus Meyer Hustveit <Unknown>\n"
 "Language-Team: Norwegian Bokmal <nb at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:55+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:55+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: nb\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14908,6 +14908,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16169,6 +16172,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16326,40 +16334,52 @@ msgstr ""
 msgid "concrete"
 msgstr "betong"
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
-msgstr "skogsområde"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "brostein"
 
-msgid "gravel"
-msgstr "grus"
-
-msgid "pebblestone"
+msgid "grass_paver"
 msgstr ""
 
 msgid "compacted"
 msgstr ""
 
-msgid "grass_paver"
+msgid "fine_gravel"
 msgstr ""
 
-msgid "grass"
-msgstr "gress"
+msgid "gravel"
+msgstr "grus"
 
-msgid "sand"
-msgstr "sand"
+msgid "pebblestone"
+msgstr ""
 
 msgid "ground"
 msgstr "jord"
 
-msgid "sett"
+msgid "mud"
+msgstr "søle"
+
+msgid "sand"
+msgstr "sand"
+
+msgid "grass"
+msgstr "gress"
+
+msgid "wood"
+msgstr "skogsområde"
+
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16435,12 +16455,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "søle"
-
 msgid "Lanes"
 msgstr "Kjørebaner"
 
@@ -29442,6 +29456,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/nds.po b/i18n/po/nds.po
index 54060d3..09db443 100644
--- a/i18n/po/nds.po
+++ b/i18n/po/nds.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2009-11-29 09:01+0000\n"
 "Last-Translator: Dirk Stöcker <launchpad at dstoecker.de>\n"
 "Language-Team: German, Low <nds at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:54+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:54+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14712,6 +14712,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15960,6 +15963,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16115,40 +16123,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16224,12 +16244,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29188,6 +29202,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/nl.po b/i18n/po/nl.po
index c432332..1e2bb9e 100644
--- a/i18n/po/nl.po
+++ b/i18n/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-08 14:17+0000\n"
 "Last-Translator: DiGro <Unknown>\n"
 "Language-Team: Dutch\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:39+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:38+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: nl\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16488,6 +16488,9 @@ msgstr "SPW(allonie) 2009-2010  luchtfoto’s"
 msgid "TEC bus lines (2014)"
 msgstr "TEC buslijnen (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -17851,6 +17854,11 @@ msgid "adds projections from Proj4J"
 msgstr "voegt projecties toe van Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Deze plug-in vereenvoudigt het mappen en bewerking van routes van het "
@@ -18058,41 +18066,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "beton"
 
-msgid "metal"
-msgstr "metaal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "hout"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "straatstenen"
 
+msgid "sett"
+msgstr "kasseien rechthoekig"
+
 msgid "cobblestone"
 msgstr "kinderkopjes"
 
+msgid "grass_paver"
+msgstr "grastegels"
+
+msgid "compacted"
+msgstr "aangestampt"
+
+msgid "fine_gravel"
+msgstr "fijne steenslag"
+
 msgid "gravel"
 msgstr "steenslag"
 
 msgid "pebblestone"
 msgstr "grind"
 
-msgid "compacted"
-msgstr "aangestampt"
-
-msgid "grass_paver"
-msgstr "grastegels"
+msgid "ground"
+msgstr "grond"
 
-msgid "grass"
-msgstr "gras"
+msgid "mud"
+msgstr "slikgronden"
 
 msgid "sand"
 msgstr "zand"
 
-msgid "ground"
-msgstr "grond"
+msgid "grass"
+msgstr "gras"
 
-msgid "sett"
-msgstr "kasseien rechthoekig"
+msgid "wood"
+msgstr "hout"
+
+msgid "metal"
+msgstr "metaal"
 
 msgid "Smoothness"
 msgstr "Gladheid"
@@ -18167,12 +18187,6 @@ msgstr "klei"
 msgid "dirt"
 msgstr "aarde"
 
-msgid "fine_gravel"
-msgstr "fijne steenslag"
-
-msgid "mud"
-msgstr "slikgronden"
-
 msgid "Lanes"
 msgstr "Rijstroken"
 
@@ -31675,6 +31689,35 @@ msgstr "Plug-in Proj4J"
 msgid "Code"
 msgstr "Code"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Kan geen tijd parsen uit deze tekenreeks."
 
diff --git a/i18n/po/nn.po b/i18n/po/nn.po
index 51ae4eb..269dba2 100644
--- a/i18n/po/nn.po
+++ b/i18n/po/nn.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2009-07-15 12:49+0000\n"
 "Last-Translator: Skippern <Unknown>\n"
 "Language-Team: Norwegian Nynorsk <nn at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:55+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:54+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: nn\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/oc.po b/i18n/po/oc.po
index 22a030c..af2a087 100644
--- a/i18n/po/oc.po
+++ b/i18n/po/oc.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2012-10-03 22:14+0000\n"
 "Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary at yahoo.fr>\n"
 "Language-Team: Occitan (post 1500) <oc at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:56+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:55+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14722,6 +14722,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15970,6 +15973,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16125,40 +16133,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
-msgid "cobblestone"
+msgid "sett"
 msgstr ""
 
-msgid "gravel"
+msgid "cobblestone"
 msgstr ""
 
-msgid "pebblestone"
+msgid "grass_paver"
 msgstr ""
 
 msgid "compacted"
 msgstr ""
 
-msgid "grass_paver"
+msgid "fine_gravel"
 msgstr ""
 
-msgid "grass"
+msgid "gravel"
 msgstr ""
 
-msgid "sand"
+msgid "pebblestone"
 msgstr ""
 
 msgid "ground"
 msgstr ""
 
-msgid "sett"
+msgid "mud"
+msgstr "terrenh fangós"
+
+msgid "sand"
+msgstr ""
+
+msgid "grass"
+msgstr ""
+
+msgid "wood"
+msgstr ""
+
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16234,12 +16254,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "terrenh fangós"
-
 msgid "Lanes"
 msgstr ""
 
@@ -29198,6 +29212,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/pa.po b/i18n/po/pa.po
index 173d5f8..127a232 100644
--- a/i18n/po/pa.po
+++ b/i18n/po/pa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-05-06 15:52+0000\n"
 "Last-Translator: A S Alam <aalam at users.sf.net>\n"
 "Language-Team: Punjabi <pa at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:56+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:56+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: pa\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/pl.po b/i18n/po/pl.po
index 79dda45..42bbe18 100644
--- a/i18n/po/pl.po
+++ b/i18n/po/pl.po
@@ -7,17 +7,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-24 13:02+0000\n"
-"Last-Translator: Teiron <mmok444 at gmail.com>\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-05 11:05+0000\n"
+"Last-Translator: Rafał Rudzik <rrudzik at gmail.com>\n"
 "Language-Team: Polish <josm-lang-pl at googlegroups.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:57+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-06 04:31+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: pl\n"
 "X-Poedit-Bookmarks: 1098,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
 "X-Poedit-Basepath: /home/mfloryan/dev/josm/i18n\n"
@@ -1664,10 +1664,14 @@ msgstr ""
 msgid "Unglueing affected {0} relation: {1}"
 msgid_plural "Unglueing affected {0} relations: {1}"
 msgstr[0] "Rozdzielenie ma wpływ na {0} relację: {1}"
+msgstr[1] "Rozdzielenie ma wpływ na {0} relacje: {1}"
+msgstr[2] "Rozdzielenie ma wpływ na {0} relacji: {1}"
 
 msgid "Ensure that the relation has not been broken!"
 msgid_plural "Ensure that the relations have not been broken!"
 msgstr[0] "Należy upewnić się, że relacja nie została złamana!"
+msgstr[1] "Należy upewnić się, że relacje nie została złamane!"
+msgstr[2] "Należy upewnić się, że relacje nie została złamane!"
 
 msgid "Disconnect Node from Way"
 msgstr "Odłącz punkt od linii"
@@ -2487,6 +2491,8 @@ msgid ""
 "{0}Add selection to relation{1}: Verify every single relation to avoid "
 "damage!"
 msgstr ""
+"{0}Dodaj zaznaczenie do relacji{1}: Sprawdź każdą pojedynczą relację, aby "
+"uniknąć jej uszkodzenia!"
 
 msgid "Add selection to {0} relation"
 msgid_plural "Add selection to {0} relations"
@@ -2647,7 +2653,7 @@ msgstr ""
 "Uwzględnij także niekompletne i skasowane obiekty w wynikach wyszukiwania."
 
 msgid "standard"
-msgstr ""
+msgstr "standardowe"
 
 msgid "regular expression"
 msgstr "wyrażenie regularne"
@@ -3651,7 +3657,7 @@ msgid "Matrix set identifier"
 msgstr ""
 
 msgid "No layers defined by getCapabilities document: {0}"
-msgstr ""
+msgstr "Brak zdefiniowanych warstw w dokumencie getCapabilities: {0}"
 
 msgid "No layer selected"
 msgstr "Nie wybrano warstwy"
@@ -3975,7 +3981,7 @@ msgid "standard parallels are opposite"
 msgstr "standardowe paralele są przeciwne"
 
 msgid "Cassini-Soldner"
-msgstr ""
+msgstr "Cassiniego-Soldnera"
 
 msgid "Double Stereographic"
 msgstr ""
@@ -7668,19 +7674,19 @@ msgid "Opacity"
 msgstr "Krycie"
 
 msgid "Adjust gamma value of the layer."
-msgstr "Dostosuj wartość gamma warstwy."
+msgstr "Dostosowuje wartość gamma warstwy."
 
 msgid "Gamma"
 msgstr "Gamma"
 
 msgid "Adjust sharpness/blur value of the layer."
-msgstr ""
+msgstr "Dostosowuje stopień ostrości/rozmycia warstwy."
 
 msgid "Sharpness"
 msgstr "Ostrość"
 
 msgid "Adjust colorfulness of the layer."
-msgstr ""
+msgstr "Dostosowuje stopień nasycenia warstwy."
 
 msgid "Colorfulness"
 msgstr "Nasycenie"
@@ -8267,7 +8273,7 @@ msgid ""
 msgstr ""
 
 msgid "Deleted relation"
-msgstr ""
+msgstr "Usunięta relacja"
 
 msgid "Relation Editor: Remove"
 msgstr "Edytor relacji: Usuń"
@@ -9903,13 +9909,13 @@ msgid "All projections are supported"
 msgstr "Wszystkie odwzorowania są obsługiwane"
 
 msgid "The layer {0} does not support the new projection {1}."
-msgstr ""
+msgstr "Warstwa {0} nie wspiera nowego odwzorowania {1}."
 
 msgid "Supported projections are: {0}"
-msgstr ""
+msgstr "Wspierane odwzorowania to: {0}"
 
 msgid "Change the projection again or remove the layer."
-msgstr ""
+msgstr "Zmień odwzorowanie lub usuń warstwę."
 
 msgid "Save Layer"
 msgstr "Zapisz warstwę"
@@ -10659,10 +10665,10 @@ msgid "Authorize URL:"
 msgstr "URL autoryzacji:"
 
 msgid "OSM login URL:"
-msgstr ""
+msgstr "URL logowania:"
 
 msgid "OSM logout URL:"
-msgstr ""
+msgstr "URL wylogowania:"
 
 msgid "Click to reset the OAuth settings to default values"
 msgstr "Kliknij, aby zresetować ustawienia OAuth"
@@ -11832,12 +11838,14 @@ msgstr "Wyświetlaj daty w formacie ISO"
 
 msgid "Use native file choosers (nicer, but do not support file filters)"
 msgstr ""
+"Używaj systemowego okna otwierania plików (przyjemniejszy, ale nie wspiera "
+"filtrowania plików)"
 
 msgid "Reverse zoom with mouse wheel"
-msgstr ""
+msgstr "Odwrotne przybliżenie rolką myszy"
 
 msgid "Intermediate steps between native resolutions"
-msgstr ""
+msgstr "Etapy pośrednie między natywnymi rozdzielczościami"
 
 msgid "Show localized name in selection lists, if available"
 msgstr "Wyświetla zlokalizowane nazwy na listach, jeśli są dostępne"
@@ -11858,26 +11866,34 @@ msgid ""
 "Format dates according to {0}. Today''s date will be displayed as {1} "
 "instead of {2}"
 msgstr ""
+"Format daty zgodny z {0}. Dzisiejsza data będzie wyświetlana jako {1} "
+"zamiast {2}"
 
 msgid ""
 "Use file choosers that behave more like native ones. They look nicer but do "
 "not support some features like file filters"
 msgstr ""
+"Używaj okna otwierania plików dostosowanego do systemu. Wygląda lepiej ale "
+"nie wspiera funkcji takich jak filtrowanie plików."
 
 msgid "Check if you feel opposite direction more convenient"
-msgstr ""
+msgstr "Zaznacz jeśli uważasz że przeciwny kierunek jest bardziej wygodny"
 
 msgid ""
 "Divide intervals between native resolution levels to smaller steps if they "
 "are much larger than zoom ratio"
 msgstr ""
+"Tworzy przedziały pomiędzy natywnymi poziomami rozdzielczościami  do coraz "
+"mniejszych stopni jeśli współczynnik powiększenia jest za duży"
 
 msgid "Zoom steps to get double scale"
-msgstr ""
+msgstr "Stopnie przybliżenia do podwojenia skali"
 
 msgid ""
 "Higher value means more steps needed, therefore zoom steps will be smaller"
 msgstr ""
+"Wyższa wartość oznacza że więcej stopni jest potrzebnych aby stopień "
+"powiększania był mniejszy"
 
 msgid "Look and Feel"
 msgstr "Wygląd i zachowanie"
@@ -13243,10 +13259,10 @@ msgid ""
 msgstr ""
 
 msgid "This corresponds to the key ''{0}''"
-msgstr ""
+msgstr "To odpowiada kluczowi \"{0}\""
 
 msgid "More information about this feature"
-msgstr "Więcej informacji na temat tej funkcji"
+msgstr "Więcej informacji na temat tego elementu"
 
 msgid "Optional Attributes:"
 msgstr "Dodatkowe atrybuty:"
@@ -15847,6 +15863,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -17115,6 +17134,11 @@ msgid "adds projections from Proj4J"
 msgstr "dodaje odwzorowania z Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "Ta wtyczka upraszcza mapowanie i edycję tras transportu publicznego."
 
@@ -17277,41 +17301,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "beton"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "drewno"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "kostka"
 
+msgid "sett"
+msgstr "kostka brukowa"
+
 msgid "cobblestone"
 msgstr "bruk kamienny"
 
+msgid "grass_paver"
+msgstr "kratka trawnikowa"
+
+msgid "compacted"
+msgstr "szuter"
+
+msgid "fine_gravel"
+msgstr "żwir z podkładem"
+
 msgid "gravel"
 msgstr "żwir"
 
 msgid "pebblestone"
 msgstr "kamienie"
 
-msgid "compacted"
-msgstr "szuter"
-
-msgid "grass_paver"
-msgstr "kratka trawnikowa"
+msgid "ground"
+msgstr "grunt"
 
-msgid "grass"
-msgstr "trawa"
+msgid "mud"
+msgstr "błoto"
 
 msgid "sand"
 msgstr "piach"
 
-msgid "ground"
-msgstr "grunt"
+msgid "grass"
+msgstr "trawa"
 
-msgid "sett"
-msgstr "kostka brukowa"
+msgid "wood"
+msgstr "drewno"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr "Jakość nawierzchni"
@@ -17386,12 +17422,6 @@ msgstr "glina"
 msgid "dirt"
 msgstr "nawierzchnia sypka"
 
-msgid "fine_gravel"
-msgstr "żwir z podkładem"
-
-msgid "mud"
-msgstr "błoto"
-
 msgid "Lanes"
 msgstr "Liczba pasów ruchu"
 
@@ -19886,13 +19916,13 @@ msgid "Fuel cards:"
 msgstr "Karty paliwowe:"
 
 msgid "DKV"
-msgstr ""
+msgstr "DKV"
 
 msgid "Routex"
-msgstr ""
+msgstr "Routex"
 
 msgid "UTA"
-msgstr ""
+msgstr "UTA"
 
 msgid "Charging Station"
 msgstr "Stacja ładowania"
@@ -20298,13 +20328,13 @@ msgid "Reservation"
 msgstr "Rezerwacja"
 
 msgid "required"
-msgstr ""
+msgstr "wymagana"
 
 msgid "recommended"
-msgstr ""
+msgstr "zalecana"
 
 msgid "members_only"
-msgstr ""
+msgstr "tylko członkowie"
 
 msgid "Closer Description"
 msgstr "Opis"
@@ -23476,25 +23506,25 @@ msgid "Debit cards"
 msgstr "Karty debetowe"
 
 msgid "BankAxess"
-msgstr ""
+msgstr "BankAxess"
 
 msgid "Bancomat"
 msgstr "Bankomatowa"
 
 msgid "Girocard"
-msgstr ""
+msgstr "Girocard"
 
 msgid "Laser"
-msgstr ""
+msgstr "Laser"
 
 msgid "Maestro"
-msgstr ""
+msgstr "Maestro"
 
 msgid "Visa Debit"
-msgstr ""
+msgstr "Visa Debit"
 
 msgid "Visa Electron"
-msgstr ""
+msgstr "Visa Electron"
 
 msgid "Credit cards"
 msgstr "Karty kredytowe"
@@ -23506,7 +23536,7 @@ msgid "Diners Club"
 msgstr "Diners Club"
 
 msgid "Discover Card"
-msgstr ""
+msgstr "Discover Card"
 
 msgid "JCB"
 msgstr "JCB"
@@ -23521,40 +23551,40 @@ msgid "Electronic purses and Charge cards"
 msgstr "Karty chipowe"
 
 msgid "Avant (fi)"
-msgstr ""
+msgstr "Avant (fi)"
 
 msgid "Cash (ch)"
-msgstr ""
+msgstr "Cash (ch)"
 
 msgid "Chipknip (nl)"
-msgstr ""
+msgstr "Chipknip (nl)"
 
 msgid "Geldkarte (de)"
-msgstr ""
+msgstr "Geldkarte (de)"
 
 msgid "Mep (pt)"
-msgstr ""
+msgstr "Mep (pt)"
 
 msgid "Minicash (lu)"
-msgstr ""
+msgstr "Minicash (lu)"
 
 msgid "Minipay (it)"
-msgstr ""
+msgstr "Minipay (it)"
 
 msgid "Mondero (ar)"
-msgstr ""
+msgstr "Mondero (ar)"
 
 msgid "Mondero 4b (es)"
-msgstr ""
+msgstr "Mondero 4b (es)"
 
 msgid "Moneo (fr)"
-msgstr ""
+msgstr "Moneo (fr)"
 
 msgid "Proton (be)"
-msgstr ""
+msgstr "Proton (be)"
 
 msgid "Quick (au)"
-msgstr ""
+msgstr "Quick (au)"
 
 msgid "Cryptocurrencies"
 msgstr "Kryptowaluta"
@@ -23865,6 +23895,7 @@ msgid ""
 "A persistent body of dense ice that is constantly moving under its own "
 "weight."
 msgstr ""
+"Trwale zbity lód, ciągle przemieszczający się pod wpływem własnej masy."
 
 msgid "Volcano"
 msgstr "Wulkan"
@@ -30390,6 +30421,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/pt.po b/i18n/po/pt.po
index 0508851..12ef4f2 100644
--- a/i18n/po/pt.po
+++ b/i18n/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-05-24 18:43+0000\n"
 "Last-Translator: Rui <xande6ruz at yandex.com>\n"
 "Language-Team: Portuguese <pt at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:58+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:57+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: pt\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16502,6 +16502,9 @@ msgstr "SPW(allonie) 2009-2010 imagens aéreas"
 msgid "TEC bus lines (2014)"
 msgstr "TEC linhas de autocarros (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos (Brasil)"
 
@@ -17863,6 +17866,11 @@ msgstr ""
 "''Módulo Proj4J (projeções adicionais, experimental)''."
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "Simplifica o mapeamento e edição de rotas de transportes públicos."
 
@@ -18089,41 +18097,53 @@ msgstr "asfalto"
 msgid "concrete"
 msgstr "cimento"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "madeira"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "blocos de cimento ou argamassa"
 
+msgid "sett"
+msgstr "paralelos"
+
 msgid "cobblestone"
 msgstr "pedras redondas ou achatadas"
 
+msgid "grass_paver"
+msgstr "blocos c/buraco no meio (em 8 ou 0)"
+
+msgid "compacted"
+msgstr "compactada"
+
+msgid "fine_gravel"
+msgstr "gravilha"
+
 msgid "gravel"
 msgstr "cascalho"
 
 msgid "pebblestone"
 msgstr "seixos"
 
-msgid "compacted"
-msgstr "compactada"
-
-msgid "grass_paver"
-msgstr "blocos c/buraco no meio (em 8 ou 0)"
+msgid "ground"
+msgstr "terra"
 
-msgid "grass"
-msgstr "erva"
+msgid "mud"
+msgstr "lamaçal"
 
 msgid "sand"
 msgstr "areia"
 
-msgid "ground"
-msgstr "terra"
+msgid "grass"
+msgstr "erva"
 
-msgid "sett"
-msgstr "paralelos"
+msgid "wood"
+msgstr "madeira"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr "Rugosidade do piso"
@@ -18199,12 +18219,6 @@ msgstr "argila"
 msgid "dirt"
 msgstr "terra"
 
-msgid "fine_gravel"
-msgstr "gravilha"
-
-msgid "mud"
-msgstr "lamaçal"
-
 msgid "Lanes"
 msgstr "Faixas de rodagem"
 
@@ -31667,6 +31681,35 @@ msgstr "Módulo Proj4J (projeções adicionais, experimental)"
 msgid "Code"
 msgstr "Código da projeção"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Não é possível analisar a hora desta expressão."
 
diff --git a/i18n/po/pt_BR.po b/i18n/po/pt_BR.po
index 10e4128..d694e9e 100644
--- a/i18n/po/pt_BR.po
+++ b/i18n/po/pt_BR.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-23 20:33+0000\n"
-"Last-Translator: Nelson A. de Oliveira <naoliv at debian.org>\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-04 18:16+0000\n"
+"Last-Translator: Lucas Pereira <lucaspefreitas at gmail.com>\n"
 "Language-Team: Português Brasileiro <gnome-pt_br-list at gnome.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:08+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:07+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: pt_BR\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -5168,7 +5168,7 @@ msgid "Creating main GUI"
 msgstr "Criando tela principal"
 
 msgid "Updating plugins"
-msgstr "Atualizado plugins"
+msgstr "Atualizando plugins"
 
 msgid "Installing updated plugins"
 msgstr "Instalando plugins atualizados"
@@ -9845,7 +9845,7 @@ msgid "Decrease zoom"
 msgstr "Diminuir zoom"
 
 msgid "Flush tile cache"
-msgstr "Descaregar cache de tile"
+msgstr "Limpar cache de tile"
 
 msgid "Failed to create tile source"
 msgstr "Falha na criação da fonte de imagem de fundo"
@@ -16287,6 +16287,9 @@ msgstr "SPW(allonie) 2009-2010 aerial imagery"
 msgid "TEC bus lines (2014)"
 msgstr "TEC bus lines (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -17625,6 +17628,11 @@ msgid "adds projections from Proj4J"
 msgstr "acrescenta projeções de Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Este plugin simplifica o mapeamento e edição de rotas de transporte público."
@@ -17822,41 +17830,53 @@ msgstr "asfalto"
 msgid "concrete"
 msgstr "concreto"
 
-msgid "metal"
-msgstr "metal"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "madeira"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "piso intertravado"
 
+msgid "sett"
+msgstr "paralelepípedo"
+
 msgid "cobblestone"
 msgstr "piso de seixos"
 
+msgid "grass_paver"
+msgstr "pisograma"
+
+msgid "compacted"
+msgstr "compactado"
+
+msgid "fine_gravel"
+msgstr "fine_gravel"
+
 msgid "gravel"
 msgstr "cascalho"
 
 msgid "pebblestone"
 msgstr "seixo rolado"
 
-msgid "compacted"
-msgstr "compactado"
-
-msgid "grass_paver"
-msgstr "pisograma"
+msgid "ground"
+msgstr "terra"
 
-msgid "grass"
-msgstr "grama"
+msgid "mud"
+msgstr "lama"
 
 msgid "sand"
 msgstr "areia"
 
-msgid "ground"
-msgstr "terra"
+msgid "grass"
+msgstr "grama"
 
-msgid "sett"
-msgstr "paralelepípedo"
+msgid "wood"
+msgstr "madeira"
+
+msgid "metal"
+msgstr "metal"
 
 msgid "Smoothness"
 msgstr "Usabilidade"
@@ -17931,12 +17951,6 @@ msgstr "argila"
 msgid "dirt"
 msgstr "sujeira"
 
-msgid "fine_gravel"
-msgstr "fine_gravel"
-
-msgid "mud"
-msgstr "lama"
-
 msgid "Lanes"
 msgstr "Faixas"
 
@@ -18776,7 +18790,7 @@ msgid "In the tidal range"
 msgstr "Na zona entremarés"
 
 msgid "culvert"
-msgstr "bueiro"
+msgstr "canalizado"
 
 msgid "Water access rules:"
 msgstr "Regras de acesso a água"
@@ -21175,7 +21189,7 @@ msgid "Library"
 msgstr "Biblioteca"
 
 msgid "Arts Centre"
-msgstr "Centro de Artes"
+msgstr "Centro Cultural"
 
 msgid "Artwork"
 msgstr "Arte"
@@ -21834,7 +21848,7 @@ msgstr "alpendre"
 
 msgctxt "shelter"
 msgid "picnic_shelter"
-msgstr "Quiosque"
+msgstr "quiosque de piquenique"
 
 msgctxt "shelter"
 msgid "public_transport"
@@ -25876,7 +25890,7 @@ msgid "''wikipedia''=''language:page title''"
 msgstr "''wikipedia''=''idioma:título da página''"
 
 msgid "Hide icons at low zoom"
-msgstr "Ocultar ícones ao aproximar zoom"
+msgstr "Ocultar ícones ao afastar zoom"
 
 msgid "Less obtrusive node symbols at low zoom"
 msgstr "Símbolos de nós menos intrusivos em zoom baixo"
@@ -31398,6 +31412,35 @@ msgstr "Proj4J Plugin"
 msgid "Code"
 msgstr "Código"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Não é possível interpretar um tempo desta string."
 
diff --git a/i18n/po/rm.po b/i18n/po/rm.po
index c0ae53b..9e5de35 100644
--- a/i18n/po/rm.po
+++ b/i18n/po/rm.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2009-06-21 19:14+0000\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: Raeto-Romance <rm at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n !=1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:58+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:58+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ro.po b/i18n/po/ro.po
index 9450710..b518426 100644
--- a/i18n/po/ro.po
+++ b/i18n/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: JOSM\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-02-24 11:34+0000\n"
 "Last-Translator: Ciprian <c1pr1an_43v3r at yahoo.com>\n"
 "Language-Team: Romanian <gnomero-list at lists.sourceforge.net>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
 "== 0) && (n != 0))) ? 2: 1));\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:59+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:58+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "X-Poedit-Country: ROMANIA\n"
 "Language: ro\n"
 "X-Poedit-Language: Romanian\n"
@@ -14780,6 +14780,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16028,6 +16031,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16183,40 +16191,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16292,12 +16312,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29256,6 +29270,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ru.po b/i18n/po/ru.po
index 17c81a0..4146b64 100644
--- a/i18n/po/ru.po
+++ b/i18n/po/ru.po
@@ -7,17 +7,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-29 21:14+0000\n"
-"Last-Translator: Aleksey Kabanov <Unknown>\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-03 11:57+0000\n"
+"Last-Translator: Nkolay Parukhin <parukhin at gmail.com>\n"
 "Language-Team: Koptev Oleg <koptev.oleg at gmail.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:59+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:59+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ru_RU\n"
 
 msgid "Use OAuth"
@@ -16454,6 +16454,9 @@ msgstr "SPW(allonie) 2009-2010 аэрофотосъёмка"
 msgid "TEC bus lines (2014)"
 msgstr "TEC автобусные маршруты (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE: карта городских районов"
 
@@ -17792,6 +17795,13 @@ msgid "adds projections from Proj4J"
 msgstr "Добавляет проекции из Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+"Обеспечивает проверку и исправление маршрутов общественного транспорта в "
+"соответствии с версией 2 схемы общественного транспорта"
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Этот модуль упрощает картографирование и правку маршрутов общественного "
@@ -17990,41 +18000,53 @@ msgstr "асфальт"
 msgid "concrete"
 msgstr "бетон"
 
-msgid "metal"
-msgstr "металл"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "дерево"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "тротуарная плитка"
 
+msgid "sett"
+msgstr "брусчатка"
+
 msgid "cobblestone"
 msgstr "мостовая"
 
+msgid "grass_paver"
+msgstr "экогазон"
+
+msgid "compacted"
+msgstr "уплотнённое"
+
+msgid "fine_gravel"
+msgstr "мелкий гравий"
+
 msgid "gravel"
 msgstr "гравий"
 
 msgid "pebblestone"
 msgstr "галька"
 
-msgid "compacted"
-msgstr "уплотнённое"
-
-msgid "grass_paver"
-msgstr "экогазон"
+msgid "ground"
+msgstr "грунт"
 
-msgid "grass"
-msgstr "трава"
+msgid "mud"
+msgstr "грязь"
 
 msgid "sand"
 msgstr "песок"
 
-msgid "ground"
-msgstr "грунт"
+msgid "grass"
+msgstr "трава"
 
-msgid "sett"
-msgstr "брусчатка"
+msgid "wood"
+msgstr "дерево"
+
+msgid "metal"
+msgstr "металл"
 
 msgid "Smoothness"
 msgstr "Проходимость"
@@ -18099,12 +18121,6 @@ msgstr "глина"
 msgid "dirt"
 msgstr "грунт"
 
-msgid "fine_gravel"
-msgstr "мелкий гравий"
-
-msgid "mud"
-msgstr "грязь"
-
 msgid "Lanes"
 msgstr "Кол-во полос"
 
@@ -31564,6 +31580,38 @@ msgstr "Модуль Proj4J"
 msgid "Code"
 msgstr "Код"
 
+msgid "Gaps"
+msgstr "Разрывы"
+
+msgid "Checks if there are gaps in the route relation."
+msgstr "Проверяет наличие разрывов в отношениях маршрутов."
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr "ОТ: Маршрут содержит разрыв, который может быть устранён сортировкой"
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr "Платформы в начале"
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+"Проверять, что платформы расположены перед линиями в отношениях маршрутов."
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+"ОТ: Отношение(я) маршрута(ов)  содержит линию(и), расположеннную(ые)  перед "
+"платформой(ами) в списке участников"
+
 msgid "Can''t parse a time from this string."
 msgstr "Невозможно разобрать время из этой последовательности."
 
diff --git a/i18n/po/sk.po b/i18n/po/sk.po
index 7162b1c..06b1fde 100644
--- a/i18n/po/sk.po
+++ b/i18n/po/sk.po
@@ -9,16 +9,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-19 19:43+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-05 15:19+0000\n"
 "Last-Translator: aceman444 <Unknown>\n"
 "Language-Team: Slovak <>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:01+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-06 04:32+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: sk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16379,6 +16379,9 @@ msgstr "SPW(allonie) 2009-2010 letecké snímky"
 msgid "TEC bus lines (2014)"
 msgstr "LInky autobusov TEC (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr "Benin:cotonou_pleiade_2016"
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -16458,7 +16461,7 @@ msgid "BD Carthage"
 msgstr "BD Carthage"
 
 msgid "BD Ortho"
-msgstr ""
+msgstr "BD Orto"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -17594,7 +17597,7 @@ msgstr ""
 "vytvoriť, uzavrieť, zamietnuť, znovu otvoriť a komentovať chybové hlásenia."
 
 msgid "Allows the user to work with pictures hosted at mapillary.com"
-msgstr ""
+msgstr "Umožňuje používateľovi pracovať s obrázkami na mapillary.com"
 
 msgid ""
 "Provide a measurement dialog and a layer to measure length and angle of "
@@ -17707,6 +17710,13 @@ msgid "adds projections from Proj4J"
 msgstr "pridanie projekcií z Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+"Poskytuje kontroly a opravy trás hromadnej dopravy podľa schémy hromadnej "
+"dopravy verzie 2"
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "Tento plugin zjednodušuje mapovanie a úpravy trás hromadnej dopravy."
 
@@ -17896,41 +17906,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "betón (concrete)"
 
-msgid "metal"
-msgstr "kov (metal)"
+msgid "concrete:plates"
+msgstr "betónové platne"
 
-msgid "wood"
-msgstr "drevo (wood)"
+msgid "concrete:lanes"
+msgstr "betónové pásy/pruhy"
 
 msgid "paving_stones"
 msgstr "dlažobné tvárnice (betónové)"
 
+msgid "sett"
+msgstr "hranaté kamene (napr. \"mačacie hlavy\")"
+
 msgid "cobblestone"
 msgstr "okrúhle dlažobné kamene (cobblestone)"
 
+msgid "grass_paver"
+msgstr "zatrávňovacie panely (grass_paver)"
+
+msgid "compacted"
+msgstr "zhutnený (valcovaný)"
+
+msgid "fine_gravel"
+msgstr "jemné kamienky (fine_gravel)"
+
 msgid "gravel"
 msgstr "ostrý štrk (gravel)"
 
 msgid "pebblestone"
 msgstr "oblý štrk (pebblestone)"
 
-msgid "compacted"
-msgstr "zhutnený (valcovaný)"
-
-msgid "grass_paver"
-msgstr "zatrávňovacie panely (grass_paver)"
+msgid "ground"
+msgstr "zem (ground)"
 
-msgid "grass"
-msgstr "tráva (grass)"
+msgid "mud"
+msgstr "blato (mud)"
 
 msgid "sand"
 msgstr "piesok (sand)"
 
-msgid "ground"
-msgstr "zem (ground)"
+msgid "grass"
+msgstr "tráva (grass)"
 
-msgid "sett"
-msgstr "hranaté kamene (napr. \"mačacie hlavy\")"
+msgid "wood"
+msgstr "drevo (wood)"
+
+msgid "metal"
+msgstr "kov (metal)"
 
 msgid "Smoothness"
 msgstr "Kvalita/hladkosť povrchu"
@@ -18000,16 +18022,10 @@ msgid "track"
 msgstr "dráha"
 
 msgid "clay"
-msgstr "hlina"
+msgstr "antuka"
 
 msgid "dirt"
-msgstr "pôda"
-
-msgid "fine_gravel"
-msgstr "jemné kamienky (fine_gravel)"
-
-msgid "mud"
-msgstr "blato (mud)"
+msgstr "hlina"
 
 msgid "Lanes"
 msgstr "Jazdné pruhy"
@@ -31182,6 +31198,35 @@ msgstr "Plugin Proj4J"
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/sl.po b/i18n/po/sl.po
index 8a20762..3e232bd 100644
--- a/i18n/po/sl.po
+++ b/i18n/po/sl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-11-07 17:38+0000\n"
 "Last-Translator: Joško Horvat <Unknown>\n"
 "Language-Team: Slovenian <sl at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
 "n%100==4 ? 3 : 0);\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:01+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:01+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: sl\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14777,6 +14777,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16025,6 +16028,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16180,40 +16188,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16289,12 +16309,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr "Voznih pasov"
 
@@ -29255,6 +29269,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/sq.po b/i18n/po/sq.po
index e8c8248..d071170 100644
--- a/i18n/po/sq.po
+++ b/i18n/po/sq.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-11-04 19:43+0000\n"
 "Last-Translator: StefanPrifti <Unknown>\n"
 "Language-Team: FLOSS Kosova\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 04:31+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:31+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/sr.po b/i18n/po/sr.po
index 9db7cfd..3fc1184 100644
--- a/i18n/po/sr.po
+++ b/i18n/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-02-01 15:30+0000\n"
 "Last-Translator: Slobodan Simić <Unknown>\n"
 "Language-Team: Serbian <sr at li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:00+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 04:59+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: sr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14715,6 +14715,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15963,6 +15966,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16118,40 +16126,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16227,12 +16247,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29191,6 +29205,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/sv.po b/i18n/po/sv.po
index 7c5351c..0b745d3 100644
--- a/i18n/po/sv.po
+++ b/i18n/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-02-08 15:05+0000\n"
 "Last-Translator: Andreas Vilén <andreas.vilen at gmail.com>\n"
 "Language-Team: Swedish <sv at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:03+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:02+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: sv\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -15314,6 +15314,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16567,6 +16570,11 @@ msgid "adds projections from Proj4J"
 msgstr "lägger till projektioner från Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Denna insticksmodul förenklar kartläggning och redigering av "
@@ -16729,41 +16737,53 @@ msgstr "asfalt"
 msgid "concrete"
 msgstr "betong"
 
-msgid "metal"
-msgstr "metall"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "trä"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "marksten"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "kullersten"
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr "kompakterad"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "grus"
 
 msgid "pebblestone"
 msgstr "småsten"
 
-msgid "compacted"
-msgstr "kompakterad"
-
-msgid "grass_paver"
-msgstr ""
+msgid "ground"
+msgstr "jord"
 
-msgid "grass"
-msgstr "gräs"
+msgid "mud"
+msgstr "lera"
 
 msgid "sand"
 msgstr "sand"
 
-msgid "ground"
-msgstr "jord"
+msgid "grass"
+msgstr "gräs"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "trä"
+
+msgid "metal"
+msgstr "metall"
 
 msgid "Smoothness"
 msgstr "Mjukhet"
@@ -16838,12 +16858,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "lera"
-
 msgid "Lanes"
 msgstr "Filer"
 
@@ -29865,6 +29879,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ta.po b/i18n/po/ta.po
index a431ac8..ec40e38 100644
--- a/i18n/po/ta.po
+++ b/i18n/po/ta.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-10-28 15:55+0000\n"
 "Last-Translator: நவலடி <navaladi at gmail.com>\n"
 "Language-Team: Tamil <ta at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:03+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:03+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "X-Poedit-Country: INDIA\n"
 "Language: ta\n"
 "X-Poedit-Language: Tamil\n"
@@ -14752,6 +14752,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16000,6 +16003,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16155,40 +16163,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16264,12 +16284,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29234,6 +29248,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/te.po b/i18n/po/te.po
index 7d0b3dd..c011480 100644
--- a/i18n/po/te.po
+++ b/i18n/po/te.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2011-05-13 08:50+0000\n"
 "Last-Translator: Praveen Illa <mail2ipn at gmail.com>\n"
 "Language-Team: Telugu <te at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:04+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:03+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: te\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/th.po b/i18n/po/th.po
index d8415e4..f7c11b8 100644
--- a/i18n/po/th.po
+++ b/i18n/po/th.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2009-03-23 02:34+0000\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: Thai <th at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:04+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:04+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: th\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/tr.po b/i18n/po/tr.po
index eb3992e..ef38efb 100644
--- a/i18n/po/tr.po
+++ b/i18n/po/tr.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-11-16 12:04+0000\n"
 "Last-Translator: Erkin Alp Güney <Unknown>\n"
 "Language-Team: Türkçe <>\n"
@@ -17,8 +17,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:05+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:04+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14818,6 +14818,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16066,6 +16069,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16221,40 +16229,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
-msgstr "orman"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "parke taşı"
 
-msgid "gravel"
-msgstr "Çakıl"
-
-msgid "pebblestone"
+msgid "grass_paver"
 msgstr ""
 
 msgid "compacted"
 msgstr ""
 
-msgid "grass_paver"
+msgid "fine_gravel"
 msgstr ""
 
-msgid "grass"
-msgstr "ot"
+msgid "gravel"
+msgstr "Çakıl"
 
-msgid "sand"
-msgstr "kum"
+msgid "pebblestone"
+msgstr ""
 
 msgid "ground"
 msgstr "toprak"
 
-msgid "sett"
+msgid "mud"
+msgstr "çamur"
+
+msgid "sand"
+msgstr "kum"
+
+msgid "grass"
+msgstr "ot"
+
+msgid "wood"
+msgstr "orman"
+
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16330,12 +16350,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "çamur"
-
 msgid "Lanes"
 msgstr "Şeritler"
 
@@ -29308,6 +29322,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/ug.po b/i18n/po/ug.po
index 444ca5e..259727a 100644
--- a/i18n/po/ug.po
+++ b/i18n/po/ug.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2012-07-14 16:22+0000\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: Uyghur <ug at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:05+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:05+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/uk.po b/i18n/po/uk.po
index 6e6e362..12b3aa3 100644
--- a/i18n/po/uk.po
+++ b/i18n/po/uk.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-23 19:37+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-05-31 12:48+0000\n"
 "Last-Translator: andygol <Unknown>\n"
 "Language-Team: Ukrainian <uk at li.org>\n"
 "MIME-Version: 1.0\n"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:06+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:05+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: uk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -16418,6 +16418,9 @@ msgstr "SPW(allonie) 2009-2010 аерофото"
 msgid "TEC bus lines (2014)"
 msgstr "TEC автобусні маршрути (2014)"
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Мапа міських районів"
 
@@ -16497,7 +16500,7 @@ msgid "BD Carthage"
 msgstr "BD Carthage"
 
 msgid "BD Ortho"
-msgstr ""
+msgstr "BD Ortho"
 
 msgid "Bordeaux - 2012"
 msgstr "Бордо - 2012"
@@ -17650,7 +17653,7 @@ msgstr ""
 "та коментувати повідомлення про помилки."
 
 msgid "Allows the user to work with pictures hosted at mapillary.com"
-msgstr ""
+msgstr "Дозволяє користувачам використовувати знімки з mapillary.com"
 
 msgid ""
 "Provide a measurement dialog and a layer to measure length and angle of "
@@ -17763,6 +17766,11 @@ msgid "adds projections from Proj4J"
 msgstr "Додатє проекції з Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Цей втулок спрощує нанесення і редагування маршрутів громадського транспорту."
@@ -17958,41 +17966,53 @@ msgstr "асфальт"
 msgid "concrete"
 msgstr "бетон"
 
-msgid "metal"
-msgstr "метал"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "деревина"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "дорожні камені"
 
+msgid "sett"
+msgstr "бруківка"
+
 msgid "cobblestone"
 msgstr "булижник"
 
+msgid "grass_paver"
+msgstr "бруківка з травою"
+
+msgid "compacted"
+msgstr "утрамбоване"
+
+msgid "fine_gravel"
+msgstr "мілкий гравій"
+
 msgid "gravel"
 msgstr "гравій"
 
 msgid "pebblestone"
 msgstr "галька"
 
-msgid "compacted"
-msgstr "утрамбоване"
-
-msgid "grass_paver"
-msgstr "бруківка з травою"
+msgid "ground"
+msgstr "грунт"
 
-msgid "grass"
-msgstr "трава"
+msgid "mud"
+msgstr "грязь"
 
 msgid "sand"
 msgstr "пісок"
 
-msgid "ground"
-msgstr "грунт"
+msgid "grass"
+msgstr "трава"
 
-msgid "sett"
-msgstr "бруківка"
+msgid "wood"
+msgstr "деревина"
+
+msgid "metal"
+msgstr "метал"
 
 msgid "Smoothness"
 msgstr "Рівність"
@@ -18067,12 +18087,6 @@ msgstr "глина"
 msgid "dirt"
 msgstr "бруд"
 
-msgid "fine_gravel"
-msgstr "мілкий гравій"
-
-msgid "mud"
-msgstr "грязь"
-
 msgid "Lanes"
 msgstr "Смуги"
 
@@ -29998,7 +30012,7 @@ msgstr ""
 "Пересуватись до місця де був зроблений знімок кнопками Наступний/Попередній"
 
 msgid "Preview images when hovering its icon"
-msgstr ""
+msgstr "Попередній перегляд зображень при наведенні курсору на їх значок"
 
 msgid "Download mode"
 msgstr "Режим завантаження"
@@ -31533,6 +31547,35 @@ msgstr "Втулок Proj4J"
 msgid "Code"
 msgstr "Код"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "Неможливо визначити час із цього рядка."
 
@@ -32644,10 +32687,10 @@ msgid "Tool:To-fix"
 msgstr "Інструментl:To-fix"
 
 msgid "Enable Tofix plugin"
-msgstr ""
+msgstr "Ввімкнути втулок ToFix"
 
 msgid "Auto delete layer"
-msgstr ""
+msgstr "Автоматичне вилучення шарів"
 
 msgid "Select the checkbox to:"
 msgstr "Поставте позначку для:"
@@ -32668,10 +32711,10 @@ msgid "Not an error"
 msgstr "Не помилка"
 
 msgid "<html><a href=\"\">List of tasks</a></html>"
-msgstr ""
+msgstr "<html><a href=\"\">Перелік завдань</a></html>"
 
 msgid "Select a task ..."
-msgstr ""
+msgstr "Оберіть завдання…"
 
 msgid "Set download area (m²)"
 msgstr "Ділянка для завантаження (м²)"
@@ -32680,13 +32723,13 @@ msgid "~.02"
 msgstr "~.02"
 
 msgid "Tasks"
-msgstr ""
+msgstr "Завдання"
 
 msgid "Config"
-msgstr ""
+msgstr "Налаштування"
 
 msgid "Activation"
-msgstr ""
+msgstr "Активація"
 
 msgid "tofix:Skip item"
 msgstr "tofix:Пропустити"
diff --git a/i18n/po/ur.po b/i18n/po/ur.po
index 805d8b1..aad0354 100644
--- a/i18n/po/ur.po
+++ b/i18n/po/ur.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2010-05-13 04:15+0000\n"
 "Last-Translator: Shoaib Mirza <Unknown>\n"
 "Language-Team: Urdu <ur at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:06+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:06+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: ur\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14713,6 +14713,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15961,6 +15964,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16116,40 +16124,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16225,12 +16245,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29189,6 +29203,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/vi.po b/i18n/po/vi.po
index fc1a6ca..328f485 100644
--- a/i18n/po/vi.po
+++ b/i18n/po/vi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2015-05-14 20:17+0000\n"
 "Last-Translator: Mạnh <laituanmanh32 at gmail.com>\n"
 "Language-Team: Vietnamese <vi at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:07+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:06+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: vi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -15870,6 +15870,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -17198,6 +17201,11 @@ msgid "adds projections from Proj4J"
 msgstr "thêm dự từ Proj4J"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 "Plugin này giúp đơn giản hoá việc lập bản đồ và chỉnh sửa các tuyến đường "
@@ -17385,41 +17393,53 @@ msgstr "nhựa đường"
 msgid "concrete"
 msgstr "bê tông"
 
-msgid "metal"
-msgstr "kim loại"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "gỗ"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "paving_stones"
 
+msgid "sett"
+msgstr "Cài"
+
 msgid "cobblestone"
 msgstr "đá sỏi"
 
+msgid "grass_paver"
+msgstr "grass_paver"
+
+msgid "compacted"
+msgstr "đầm"
+
+msgid "fine_gravel"
+msgstr "fine_gravel"
+
 msgid "gravel"
 msgstr "sỏi"
 
 msgid "pebblestone"
 msgstr "đá cuội"
 
-msgid "compacted"
-msgstr "đầm"
-
-msgid "grass_paver"
-msgstr "grass_paver"
+msgid "ground"
+msgstr "mặt đất"
 
-msgid "grass"
-msgstr "cỏ"
+msgid "mud"
+msgstr "bùn"
 
 msgid "sand"
 msgstr "cát"
 
-msgid "ground"
-msgstr "mặt đất"
+msgid "grass"
+msgstr "cỏ"
 
-msgid "sett"
-msgstr "Cài"
+msgid "wood"
+msgstr "gỗ"
+
+msgid "metal"
+msgstr "kim loại"
 
 msgid "Smoothness"
 msgstr "Smoothness"
@@ -17494,12 +17514,6 @@ msgstr "đất sét"
 msgid "dirt"
 msgstr "bẩn"
 
-msgid "fine_gravel"
-msgstr "fine_gravel"
-
-msgid "mud"
-msgstr "bùn"
-
 msgid "Lanes"
 msgstr "Làn đường"
 
@@ -30869,6 +30883,35 @@ msgstr "Proj4J Plugin"
 msgid "Code"
 msgstr "Code"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "can''t phân tích một thời gian từ chuỗi này."
 
diff --git a/i18n/po/wae.po b/i18n/po/wae.po
index 175562e..9b74fd9 100644
--- a/i18n/po/wae.po
+++ b/i18n/po/wae.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-03-09 22:17+0000\n"
 "Last-Translator: Simon Legner <Unknown>\n"
 "Language-Team: Walser <wae at li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:12+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:11+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -14712,6 +14712,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -15960,6 +15963,11 @@ msgid "adds projections from Proj4J"
 msgstr ""
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr ""
 
@@ -16115,40 +16123,52 @@ msgstr ""
 msgid "concrete"
 msgstr ""
 
-msgid "metal"
+msgid "concrete:plates"
 msgstr ""
 
-msgid "wood"
+msgid "concrete:lanes"
 msgstr ""
 
 msgid "paving_stones"
 msgstr ""
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr ""
 
+msgid "grass_paver"
+msgstr ""
+
+msgid "compacted"
+msgstr ""
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr ""
 
 msgid "pebblestone"
 msgstr ""
 
-msgid "compacted"
+msgid "ground"
 msgstr ""
 
-msgid "grass_paver"
+msgid "mud"
 msgstr ""
 
-msgid "grass"
+msgid "sand"
 msgstr ""
 
-msgid "sand"
+msgid "grass"
 msgstr ""
 
-msgid "ground"
+msgid "wood"
 msgstr ""
 
-msgid "sett"
+msgid "metal"
 msgstr ""
 
 msgid "Smoothness"
@@ -16224,12 +16244,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr ""
-
 msgid "Lanes"
 msgstr ""
 
@@ -29188,6 +29202,35 @@ msgstr ""
 msgid "Code"
 msgstr ""
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
diff --git a/i18n/po/zh_CN.po b/i18n/po/zh_CN.po
index 8d3bfb2..b2ecce1 100644
--- a/i18n/po/zh_CN.po
+++ b/i18n/po/zh_CN.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
 "PO-Revision-Date: 2016-03-03 01:46+0000\n"
 "Last-Translator: sinopitt <Unknown>\n"
 "Language-Team: 汉语 <>\n"
@@ -18,8 +18,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:10+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-05 05:09+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: zh_CN\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -14823,6 +14823,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16071,6 +16074,11 @@ msgid "adds projections from Proj4J"
 msgstr "从 Proj4J 添加投影法"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "这个插件简化了公共交通路线的制图与编辑。"
 
@@ -16226,41 +16234,53 @@ msgstr "沥青"
 msgid "concrete"
 msgstr "水泥"
 
-msgid "metal"
-msgstr "金属"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "木头"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "铺路石"
 
+msgid "sett"
+msgstr "密铺石"
+
 msgid "cobblestone"
 msgstr "石子"
 
+msgid "grass_paver"
+msgstr "踏步石"
+
+msgid "compacted"
+msgstr "压实"
+
+msgid "fine_gravel"
+msgstr "细石"
+
 msgid "gravel"
 msgstr "碎石"
 
 msgid "pebblestone"
 msgstr "鹅卵石"
 
-msgid "compacted"
-msgstr "压实"
-
-msgid "grass_paver"
-msgstr "踏步石"
+msgid "ground"
+msgstr "地面"
 
-msgid "grass"
-msgstr "草地"
+msgid "mud"
+msgstr "泥沼"
 
 msgid "sand"
 msgstr "沙地"
 
-msgid "ground"
-msgstr "地面"
+msgid "grass"
+msgstr "草地"
 
-msgid "sett"
-msgstr "密铺石"
+msgid "wood"
+msgstr "木头"
+
+msgid "metal"
+msgstr "金属"
 
 msgid "Smoothness"
 msgstr "平整度"
@@ -16335,12 +16355,6 @@ msgstr "粘土"
 msgid "dirt"
 msgstr "泥地"
 
-msgid "fine_gravel"
-msgstr "细石"
-
-msgid "mud"
-msgstr "泥沼"
-
 msgid "Lanes"
 msgstr "车道数"
 
@@ -29421,6 +29435,35 @@ msgstr ""
 msgid "Code"
 msgstr "代码"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr "无法从这个字符串中解析时间。"
 
diff --git a/i18n/po/zh_TW.po b/i18n/po/zh_TW.po
index ace4770..e5a02e1 100644
--- a/i18n/po/zh_TW.po
+++ b/i18n/po/zh_TW.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-30 03:38+0200\n"
-"PO-Revision-Date: 2016-05-26 11:14+0000\n"
+"POT-Creation-Date: 2016-06-04 17:38+0200\n"
+"PO-Revision-Date: 2016-06-06 03:51+0000\n"
 "Last-Translator: Rex Tsai <rex.tsai at canonical.com>\n"
 "Language-Team: Traditional Chinese\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2016-05-30 05:09+0000\n"
-"X-Generator: Launchpad (build 18053)\n"
+"X-Launchpad-Export-Date: 2016-06-06 04:32+0000\n"
+"X-Generator: Launchpad (build 18086)\n"
 "Language: zh_TW\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -808,7 +808,7 @@ msgid "Merge the current layer into another layer"
 msgstr "將目前的圖層合併到另一個圖層"
 
 msgid "Merging layers with different upload policies"
-msgstr ""
+msgstr "合併不同上傳方針的圖層"
 
 msgid ""
 "You are about to merge data between layers ''{0}'' and ''{1}''.<br /><br "
@@ -855,7 +855,7 @@ msgid "Merge the currently selected objects into another layer"
 msgstr "將目前選取的物件合併至另一個圖層"
 
 msgid "Merging too many objects with different upload policies"
-msgstr ""
+msgstr "合併過多不同上傳方針的物件"
 
 msgid ""
 "You are about to merge more than 1 object between layers ''{0}'' and "
@@ -1223,7 +1223,7 @@ msgid "Download notes from the note search API"
 msgstr "從筆記搜尋 API 下載筆記"
 
 msgid "Search the OSM API for notes containing words:"
-msgstr ""
+msgstr "利用 OSM API 搜尋含有以下字詞的註解:"
 
 msgid "Search for notes"
 msgstr "搜尋筆記"
@@ -1377,7 +1377,7 @@ msgid_plural ""
 msgstr[0] "節點上不只有兩個路徑。請同時選取你想切割的路徑。"
 
 msgid "Which way segment should reuse the history of {0}?"
-msgstr ""
+msgstr "哪個線段應該重新使用{0}的歷史記錄?"
 
 msgid " [id: {0}]"
 msgstr " [id: {0}]"
@@ -1484,7 +1484,7 @@ msgid "Unglue"
 msgstr "分離"
 
 msgid "Where should the tags of the node be put?"
-msgstr ""
+msgstr "節點的標籤應該放在哪裡呢?"
 
 msgid "Where should the memberships of this node be put?"
 msgstr "要把節點成員放在哪裡呢?"
@@ -1539,11 +1539,10 @@ msgid ""
 "The affected way would disappear after disconnecting the selected node."
 msgid_plural ""
 "The affected way would disappear after disconnecting the selected nodes."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "受影響的路徑將在斷開已點擇的節點後消失。"
 
 msgid "Some irrelevant nodes have been removed from the selection"
-msgstr ""
+msgstr "已在所選範圍中取出無關節點"
 
 msgid "Undo"
 msgstr "復原"
@@ -1607,7 +1606,7 @@ msgid ""
 msgstr "<html>要上傳的資料影響到的圖層「{0}」仍未調解衝突。<br>您必須先調解它們。</html>"
 
 msgid "Upload discouraged"
-msgstr ""
+msgstr "不推薦上傳"
 
 msgid ""
 "You are about to upload data from the layer ''{0}''.<br /><br />Sending data "
@@ -1626,13 +1625,13 @@ msgid "Nothing to upload. Get some data first."
 msgstr "沒有要上傳的項目。請先取得一些資料。"
 
 msgid "Upload note changes to server"
-msgstr ""
+msgstr "上傳變動註解至伺服器"
 
 msgid "Upload notes"
-msgstr ""
+msgstr "上傳註解"
 
 msgid "Uploading notes to server"
-msgstr ""
+msgstr "正在將註解上傳至伺服器中"
 
 msgid "Upload selection"
 msgstr "上傳選擇區域"
@@ -1798,7 +1797,7 @@ msgid "Errors during download"
 msgstr "下載時發生錯誤"
 
 msgid "Download GPS"
-msgstr ""
+msgstr "下載 GPS"
 
 msgid "Downloading GPS data"
 msgstr "正在下載 GPS 資料"
@@ -1810,47 +1809,46 @@ msgid "Markers from {0}"
 msgstr "{0} 的標記"
 
 msgid "Download OSM Notes"
-msgstr ""
+msgstr "下載 OSM 註解"
 
 msgid "Downloading Notes"
-msgstr ""
+msgstr "下載註解"
 
 msgid "Notes"
 msgstr "備註"
 
 msgid "{0} note has been downloaded."
 msgid_plural "{0} notes have been downloaded."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "已下載 {0} 項註解。"
 
 msgid ""
 "Since the download limit was {0}, there might be more notes to download."
-msgstr ""
+msgstr "由於下載限制為 {0},可能需要下載更多註解。"
 
 msgid ""
 "Request a smaller area to make sure that all notes are being downloaded."
-msgstr ""
+msgstr "請選擇較小的區域以便下載所有註解。"
 
 msgid "More notes to download"
-msgstr ""
+msgstr "更多註解需要下載"
 
 msgid "Download OSM Notes within Bounds"
-msgstr ""
+msgstr "下載邊界内的 OSM 註解"
 
 msgid "Download OSM Note by ID"
-msgstr ""
+msgstr "依照 ID 下載 OSM 註解"
 
 msgid "Download Compressed OSM Change"
-msgstr ""
+msgstr "下載壓縮的 OSM 變動"
 
 msgid "Download OSM Change"
-msgstr ""
+msgstr "下載 OSM 變動"
 
 msgid "Download Compressed OSM"
-msgstr ""
+msgstr "下載壓縮的 OSM"
 
 msgid "Download OSM object by ID"
-msgstr ""
+msgstr "以 ID 下載 OSM 物件"
 
 msgid "Download OSM"
 msgstr "下載 OSM"
@@ -1875,7 +1873,7 @@ msgid "Request details: {0}"
 msgstr ""
 
 msgid "Download OSM URL"
-msgstr ""
+msgstr "下載 OSM URL"
 
 msgid "There was {0} conflict during import."
 msgid_plural "There were {0} conflicts during import."
@@ -1947,19 +1945,19 @@ msgid "Error during download"
 msgstr "下載時發生錯誤"
 
 msgid "Add a new Note"
-msgstr ""
+msgstr "添加新的註解"
 
 msgid "Add note mode"
-msgstr ""
+msgstr "添加註解模式"
 
 msgid "Click the location where you wish to create a new note"
-msgstr ""
+msgstr "點撃欲建立註解的位置"
 
 msgid "Create new note"
-msgstr ""
+msgstr "建立新的註解"
 
 msgid "Create note"
-msgstr ""
+msgstr "建立註解"
 
 msgid "Enter a detailed comment to create a note"
 msgstr ""
@@ -14769,6 +14767,9 @@ msgstr ""
 msgid "TEC bus lines (2014)"
 msgstr ""
 
+msgid "Benin:cotonou_pleiade_2016"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -16019,6 +16020,11 @@ msgid "adds projections from Proj4J"
 msgstr "從 Proj4J 加入投影法"
 
 msgid ""
+"Provides validation and fixing for public transport route according to "
+"version 2 of the public transport schema"
+msgstr ""
+
+msgid ""
 "This plugin simplifies the mapping and editing of public transport routes."
 msgstr "這個外掛程式簡化了大眾運輸路線的製圖與編輯。"
 
@@ -16174,41 +16180,53 @@ msgstr "柏油"
 msgid "concrete"
 msgstr "水泥地"
 
-msgid "metal"
-msgstr "金屬"
+msgid "concrete:plates"
+msgstr ""
 
-msgid "wood"
-msgstr "木頭"
+msgid "concrete:lanes"
+msgstr ""
 
 msgid "paving_stones"
 msgstr "鋪路石"
 
+msgid "sett"
+msgstr ""
+
 msgid "cobblestone"
 msgstr "石子路"
 
+msgid "grass_paver"
+msgstr "草地_鋪面"
+
+msgid "compacted"
+msgstr "壓實的"
+
+msgid "fine_gravel"
+msgstr ""
+
 msgid "gravel"
 msgstr "碎石路"
 
 msgid "pebblestone"
 msgstr "鵝卵石"
 
-msgid "compacted"
-msgstr "壓實的"
-
-msgid "grass_paver"
-msgstr "草地_鋪面"
+msgid "ground"
+msgstr "地面"
 
-msgid "grass"
-msgstr "草地"
+msgid "mud"
+msgstr "泥地"
 
 msgid "sand"
 msgstr "沙地"
 
-msgid "ground"
-msgstr "地面"
+msgid "grass"
+msgstr "草地"
 
-msgid "sett"
-msgstr ""
+msgid "wood"
+msgstr "木頭"
+
+msgid "metal"
+msgstr "金屬"
 
 msgid "Smoothness"
 msgstr "平滑度"
@@ -16283,12 +16301,6 @@ msgstr ""
 msgid "dirt"
 msgstr ""
 
-msgid "fine_gravel"
-msgstr ""
-
-msgid "mud"
-msgstr "泥地"
-
 msgid "Lanes"
 msgstr "車道數"
 
@@ -29321,6 +29333,35 @@ msgstr ""
 msgid "Code"
 msgstr "代碼"
 
+msgid "Gaps"
+msgstr ""
+
+msgid "Checks if there are gaps in the route relation."
+msgstr ""
+
+msgid "PT: Route contains a gap that can be fixed by sorting"
+msgstr ""
+
+msgid "PT: Route contains an overshoot"
+msgstr ""
+
+msgid "PT: Route contains a gap that cannot be fixed by sorting the ways"
+msgstr ""
+
+msgid "Fix gaps in public transport route"
+msgstr ""
+
+msgid "Platforms first"
+msgstr ""
+
+msgid "Checks if platforms are listed before ways in the route relation."
+msgstr ""
+
+msgid ""
+"PT: route relation(s) contain(s) way(s) before platform(s) in the members "
+"list"
+msgstr ""
+
 msgid "Can''t parse a time from this string."
 msgstr ""
 
@@ -31557,7 +31598,7 @@ msgid "Please select one of custom URLs (configured in Preferences)"
 msgstr ""
 
 msgid "Ask every time"
-msgstr ""
+msgstr "每次詢問"
 
 msgid "Configure custom URL"
 msgstr "設定自訂 URL"
@@ -31575,10 +31616,10 @@ msgid "Here you can change some preferences of Utilsplugin2 functions"
 msgstr ""
 
 msgid "Save to file"
-msgstr ""
+msgstr "儲存至檔案"
 
 msgid "Load from file"
-msgstr ""
+msgstr "從檔案載入"
 
 msgid ""
 "Please edit custom URLs and select one row to use with the tool<br/> "
@@ -32055,7 +32096,7 @@ msgstr[0] ""
 msgstr[1] ""
 
 msgid "Add Wikidata for language ''{0}''"
-msgstr ""
+msgstr "添加 {0} 的維基數據(Wikidata)"
 
 msgid "Overwrite ''{0}'' tag {1} from {2} with new value ''{3}''?"
 msgid_plural "Overwrite ''{0}'' tags {1} from {2} with new value ''{3}''?"
@@ -32075,10 +32116,10 @@ msgid ""
 msgstr ""
 
 msgid "Copy {0} template"
-msgstr ""
+msgstr "複製 {0} 模板"
 
 msgid "Fetch Wikipedia articles with coordinates"
-msgstr ""
+msgstr "獲取含有地理坐標的維基百科條目"
 
 msgid ""
 "Double click on item to search for object with article name (and center "
@@ -32136,13 +32177,13 @@ msgstr "輸入維基百科語言"
 msgid ""
 "Adds a ''wikipedia'' tag corresponding to this article to the selected "
 "objects"
-msgstr ""
+msgstr "添加與本文對應的維基百科「標籤」至已選擇物件"
 
 msgid "The Ultimate WMS Super-speed Turbo Challenge II"
 msgstr ""
 
 msgid "Go driving"
-msgstr ""
+msgstr "開始駕駛"
 
 msgid "Drive a race car on this layer"
-msgstr ""
+msgstr "在此圖層駕駛賽車"
diff --git a/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java b/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
index 9d20e99..f857d65 100644
--- a/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
+++ b/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
@@ -168,10 +168,8 @@ public class AddImageryLayerAction extends JosmAction implements AdaptableAction
             setEnabled(false);
         } else if (type == ImageryType.TMS || type == ImageryType.BING || type == ImageryType.SCANEX) {
             setEnabled(true);
-        } else if (Main.isDisplayingMapView() && !Main.map.mapView.getAllLayers().isEmpty()) {
-            setEnabled(true);
         } else {
-            setEnabled(false);
+            setEnabled(!Main.getLayerManager().getLayers().isEmpty());
         }
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/AlignInCircleAction.java b/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
index f65fc9a..0cc39f5 100644
--- a/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
+++ b/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
@@ -246,7 +246,7 @@ public final class AlignInCircleAction extends JosmAction {
         // Nodes that are not "fix" will be adjust making regular arcs.
         int nodeCount = nodes.size();
         // Search first fixed node
-        int startPosition = 0;
+        int startPosition;
         for (startPosition = 0; startPosition < nodeCount; startPosition++) {
             if (fixNodes.contains(nodes.get(startPosition % nodeCount)))
                 break;
diff --git a/src/org/openstreetmap/josm/actions/AlignInLineAction.java b/src/org/openstreetmap/josm/actions/AlignInLineAction.java
index 877c7d3..6124979 100644
--- a/src/org/openstreetmap/josm/actions/AlignInLineAction.java
+++ b/src/org/openstreetmap/josm/actions/AlignInLineAction.java
@@ -172,7 +172,7 @@ public final class AlignInLineAction extends JosmAction {
         List<Way> selectedWays = new ArrayList<>(getCurrentDataSet().getSelectedWays());
 
         try {
-            Command cmd = null;
+            Command cmd;
             // Decide what to align based on selection:
 
             if (selectedNodes.isEmpty() && !selectedWays.isEmpty()) {
@@ -181,7 +181,7 @@ public final class AlignInLineAction extends JosmAction {
             } else if (selectedNodes.size() == 1) {
                 // Only 1 node selected -> align this node relative to referers way
                 Node selectedNode = selectedNodes.get(0);
-                List<Way> involvedWays = null;
+                List<Way> involvedWays;
                 if (selectedWays.isEmpty())
                     // No selected way, all way containing this node are used
                     involvedWays = OsmPrimitive.getFilteredList(selectedNode.getReferrers(), Way.class);
diff --git a/src/org/openstreetmap/josm/actions/AutoScaleAction.java b/src/org/openstreetmap/josm/actions/AutoScaleAction.java
index 30798cb..ba02d71 100644
--- a/src/org/openstreetmap/josm/actions/AutoScaleAction.java
+++ b/src/org/openstreetmap/josm/actions/AutoScaleAction.java
@@ -260,7 +260,7 @@ public class AutoScaleAction extends JosmAction {
     }
 
     private static BoundingXYVisitor modeData(BoundingXYVisitor v) {
-        for (Layer l : Main.map.mapView.getAllLayers()) {
+        for (Layer l : Main.getLayerManager().getLayers()) {
             l.visitBoundingBox(v);
         }
         return v;
@@ -363,7 +363,7 @@ public class AutoScaleAction extends JosmAction {
             setEnabled(Main.isDisplayingMapView() && Main.map.mapView.hasZoomRedoEntries());
             break;
         default:
-            setEnabled(Main.isDisplayingMapView() && Main.map.mapView.hasLayers());
+            setEnabled(!Main.getLayerManager().getLayers().isEmpty());
         }
     }
 
diff --git a/src/org/openstreetmap/josm/actions/DeleteLayerAction.java b/src/org/openstreetmap/josm/actions/DeleteLayerAction.java
index 893449f..23bcdd8 100644
--- a/src/org/openstreetmap/josm/actions/DeleteLayerAction.java
+++ b/src/org/openstreetmap/josm/actions/DeleteLayerAction.java
@@ -1,16 +1,16 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.actions;
 
-import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
 import java.util.Collections;
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.tools.Shortcut;
 import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.tools.Shortcut;
 
 /**
  * Deletes the active layer.
@@ -41,6 +41,6 @@ public final class DeleteLayerAction extends JosmAction {
 
     @Override
     protected void updateEnabledState() {
-        setEnabled(Main.isDisplayingMapView() && Main.map.mapView.getActiveLayer() != null);
+        setEnabled(Main.getLayerManager().getActiveLayer() != null);
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/DownloadNotesInViewAction.java b/src/org/openstreetmap/josm/actions/DownloadNotesInViewAction.java
index 97a3a10..65c9e3b 100644
--- a/src/org/openstreetmap/josm/actions/DownloadNotesInViewAction.java
+++ b/src/org/openstreetmap/josm/actions/DownloadNotesInViewAction.java
@@ -42,8 +42,7 @@ public final class DownloadNotesInViewAction extends JosmAction {
 
     @Override
     protected void updateEnabledState() {
-        setEnabled(Main.isDisplayingMapView()
-                && Main.map.mapView.getActiveLayer() != null
+        setEnabled(Main.getLayerManager().getActiveLayer() != null
                 && !Main.isOffline(OnlineResource.OSM_API));
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/GpxExportAction.java b/src/org/openstreetmap/josm/actions/GpxExportAction.java
index 50a16d5..0fd1650 100644
--- a/src/org/openstreetmap/josm/actions/GpxExportAction.java
+++ b/src/org/openstreetmap/josm/actions/GpxExportAction.java
@@ -42,9 +42,7 @@ public class GpxExportAction extends DiskAccessAction {
      * @return The layer to export, either a {@link GpxLayer} or {@link OsmDataLayer}.
      */
     protected Layer getLayer() {
-        if (!Main.isDisplayingMapView())
-            return null;
-        Layer layer = Main.map.mapView.getActiveLayer();
+        Layer layer = Main.getLayerManager().getActiveLayer();
         return (layer instanceof GpxLayer || layer instanceof OsmDataLayer) ? layer : null;
     }
 
diff --git a/src/org/openstreetmap/josm/actions/JoinAreasAction.java b/src/org/openstreetmap/josm/actions/JoinAreasAction.java
index 2dc2f58..86b76f3 100644
--- a/src/org/openstreetmap/josm/actions/JoinAreasAction.java
+++ b/src/org/openstreetmap/josm/actions/JoinAreasAction.java
@@ -774,7 +774,7 @@ public class JoinAreasAction extends JosmAction {
      * @param parts the split parts of the way
      * @param isInner - if true, reverts the direction (for multipolygon islands)
      * @return list of parts, marked with the inside orientation.
-     * @throws IllegalArgumentException if parts is empty
+     * @throws IllegalArgumentException if parts is empty or not circular
      */
     private static List<WayInPolygon> markWayInsideSide(List<Way> parts, boolean isInner) {
 
@@ -784,7 +784,7 @@ public class JoinAreasAction extends JosmAction {
         for (int pos = 0; pos < parts.size(); pos++) {
 
             if (!parts.get(pos).lastNode().equals(parts.get((pos + 1) % parts.size()).firstNode()))
-                throw new RuntimeException("Way not circular");
+                throw new IllegalArgumentException("Way not circular");
 
             nextWayMap.put(parts.get(pos), parts.get((pos + 1) % parts.size()));
         }
@@ -817,9 +817,8 @@ public class JoinAreasAction extends JosmAction {
         boolean wayClockwise; // orientation of the top way.
 
         if (topNode.equals(topWay.firstNode()) || topNode.equals(topWay.lastNode())) {
-            Node headNode = null; // the node at junction
-            Node prevNode = null; // last node from previous path
-            wayClockwise = false;
+            Node headNode; // the node at junction
+            Node prevNode; // last node from previous path
 
             //node is in split point - find the outermost way from this point
 
diff --git a/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java b/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
index e15a6ca..a57e538 100644
--- a/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
+++ b/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
@@ -238,6 +238,6 @@ public class MapRectifierWMSmenuAction extends JosmAction {
 
     @Override
     protected void updateEnabledState() {
-        setEnabled(Main.isDisplayingMapView() && !Main.map.mapView.getAllLayers().isEmpty());
+        setEnabled(!Main.getLayerManager().getLayers().isEmpty());
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/MergeLayerAction.java b/src/org/openstreetmap/josm/actions/MergeLayerAction.java
index 7e2e380..683285f 100644
--- a/src/org/openstreetmap/josm/actions/MergeLayerAction.java
+++ b/src/org/openstreetmap/josm/actions/MergeLayerAction.java
@@ -63,7 +63,7 @@ public class MergeLayerAction extends AbstractMergeAction {
                     }
                 }
                 if (layerMerged) {
-                    Main.map.mapView.setActiveLayer(targetLayer);
+                    Main.getLayerManager().setActiveLayer(targetLayer);
                 }
             }
         });
diff --git a/src/org/openstreetmap/josm/actions/SaveActionBase.java b/src/org/openstreetmap/josm/actions/SaveActionBase.java
index e468f07..c812e1c 100644
--- a/src/org/openstreetmap/josm/actions/SaveActionBase.java
+++ b/src/org/openstreetmap/josm/actions/SaveActionBase.java
@@ -51,11 +51,9 @@ public abstract class SaveActionBase extends DiskAccessAction {
      * @return {@code true} if the save operation succeeds
      */
     public boolean doSave() {
-        if (Main.isDisplayingMapView()) {
-            Layer layer = Main.map.mapView.getActiveLayer();
-            if (layer != null && layer.isSavable()) {
-                return doSave(layer);
-            }
+        Layer layer = Main.getLayerManager().getActiveLayer();
+        if (layer != null && layer.isSavable()) {
+            return doSave(layer);
         }
         return false;
     }
@@ -133,14 +131,8 @@ public abstract class SaveActionBase extends DiskAccessAction {
      */
     @Override
     protected void updateEnabledState() {
-        boolean check = Main.isDisplayingMapView()
-        && Main.map.mapView.getActiveLayer() != null;
-        if (!check) {
-            setEnabled(false);
-            return;
-        }
-        Layer layer = Main.map.mapView.getActiveLayer();
-        setEnabled(layer != null && layer.isSavable());
+        Layer activeLayer = Main.getLayerManager().getActiveLayer();
+        setEnabled(activeLayer != null && activeLayer.isSavable());
     }
 
     /**
diff --git a/src/org/openstreetmap/josm/actions/SessionLoadAction.java b/src/org/openstreetmap/josm/actions/SessionLoadAction.java
index 260ca4b..cd390f2 100644
--- a/src/org/openstreetmap/josm/actions/SessionLoadAction.java
+++ b/src/org/openstreetmap/josm/actions/SessionLoadAction.java
@@ -135,7 +135,7 @@ public class SessionLoadAction extends DiskAccessAction {
                     Main.main.addLayer(l, (ViewportData) null);
                 }
                 if (active != null) {
-                    Main.map.mapView.setActiveLayer(active);
+                    Main.getLayerManager().setActiveLayer(active);
                 }
                 if (noMap) {
                     Main.map.setVisible(true);
diff --git a/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java b/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java
index 3990ce8..5e16b54 100644
--- a/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java
+++ b/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java
@@ -160,7 +160,7 @@ public class SessionSaveAsAction extends DiskAccessAction implements MapFrameLis
         }
 
         int active = -1;
-        Layer activeLayer = Main.map.mapView.getActiveLayer();
+        Layer activeLayer = Main.getLayerManager().getActiveLayer();
         if (activeLayer != null) {
             active = layersOut.indexOf(activeLayer);
         }
@@ -203,7 +203,7 @@ public class SessionSaveAsAction extends DiskAccessAction implements MapFrameLis
          * Initializes action.
          */
         public final void initialize() {
-            layers = new ArrayList<>(Main.map.mapView.getAllLayersAsList());
+            layers = new ArrayList<>(Main.getLayerManager().getLayers());
             exporters = new HashMap<>();
             dependencies = new MultiMap<>();
 
diff --git a/src/org/openstreetmap/josm/actions/UploadNotesAction.java b/src/org/openstreetmap/josm/actions/UploadNotesAction.java
index b30f061..3a2f6d9 100644
--- a/src/org/openstreetmap/josm/actions/UploadNotesAction.java
+++ b/src/org/openstreetmap/josm/actions/UploadNotesAction.java
@@ -30,26 +30,19 @@ public class UploadNotesAction extends JosmAction {
 
     @Override
     public void actionPerformed(ActionEvent e) {
-        List<NoteLayer> noteLayers = null;
-        if (Main.map != null) {
-            noteLayers = Main.map.mapView.getLayersOfType(NoteLayer.class);
-        }
+        List<NoteLayer> noteLayers = Main.getLayerManager().getLayersOfType(NoteLayer.class);
         NoteLayer layer;
-        if (noteLayers != null && !noteLayers.isEmpty()) {
+        if (!noteLayers.isEmpty()) {
             layer = noteLayers.get(0);
         } else {
             Main.error("No note layer found");
             return;
         }
-        if (Main.isDebugEnabled()) {
-            Main.debug("uploading note changes");
-        }
+        Main.debug("uploading note changes");
         NoteData noteData = layer.getNoteData();
 
         if (noteData == null || !noteData.isModified()) {
-            if (Main.isDebugEnabled()) {
-                Main.debug("No changed notes to upload");
-            }
+            Main.debug("No changed notes to upload");
             return;
         }
         new UploadNotesTask().uploadNotes(noteData, new PleaseWaitProgressMonitor(tr("Uploading notes to server")));
diff --git a/src/org/openstreetmap/josm/actions/ZoomInAction.java b/src/org/openstreetmap/josm/actions/ZoomInAction.java
index 20853e9..d690678 100644
--- a/src/org/openstreetmap/josm/actions/ZoomInAction.java
+++ b/src/org/openstreetmap/josm/actions/ZoomInAction.java
@@ -51,10 +51,7 @@ public final class ZoomInAction extends JosmAction {
 
     @Override
     protected void updateEnabledState() {
-        setEnabled(
-                Main.isDisplayingMapView()
-                && Main.map.mapView.hasLayers()
-        );
+        setEnabled(!Main.getLayerManager().getLayers().isEmpty());
     }
 
 }
diff --git a/src/org/openstreetmap/josm/actions/ZoomOutAction.java b/src/org/openstreetmap/josm/actions/ZoomOutAction.java
index 98bb1c2..1eb440d 100644
--- a/src/org/openstreetmap/josm/actions/ZoomOutAction.java
+++ b/src/org/openstreetmap/josm/actions/ZoomOutAction.java
@@ -37,9 +37,6 @@ public final class ZoomOutAction extends JosmAction {
 
     @Override
     protected void updateEnabledState() {
-        setEnabled(
-                Main.isDisplayingMapView()
-                && Main.map.mapView.hasLayers()
-        );
+        setEnabled(!Main.getLayerManager().getLayers().isEmpty());
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/AbstractDownloadTask.java b/src/org/openstreetmap/josm/actions/downloadtasks/AbstractDownloadTask.java
index 7033f08..bc42cc6 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/AbstractDownloadTask.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/AbstractDownloadTask.java
@@ -83,8 +83,9 @@ public abstract class AbstractDownloadTask<T> implements DownloadTask {
 
     @Override
     public String acceptsDocumentationSummary() {
-        StringBuilder buff = new StringBuilder(128).append("<tr><td>");
-        buff.append(getTitle())
+        StringBuilder buff = new StringBuilder(128)
+            .append("<tr><td>")
+            .append(getTitle())
             .append(":</td><td>");
         String[] patterns = getPatterns();
         if (patterns.length > 0) {
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
index b1e1324..024b189 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
@@ -154,13 +154,11 @@ public class DownloadGpsTask extends AbstractDownloadTask<GpxData> {
         }
 
         private GpxLayer findGpxMergeLayer() {
-            if (!Main.isDisplayingMapView())
-                return null;
             boolean merge = Main.pref.getBoolean("download.gps.mergeWithLocal", false);
-            Layer active = Main.map.mapView.getActiveLayer();
+            Layer active = Main.getLayerManager().getActiveLayer();
             if (active instanceof GpxLayer && (merge || ((GpxLayer) active).data.fromServer))
                 return (GpxLayer) active;
-            for (GpxLayer l : Main.map.mapView.getLayersOfType(GpxLayer.class)) {
+            for (GpxLayer l : Main.getLayerManager().getLayersOfType(GpxLayer.class)) {
                 if (merge || l.data.fromServer)
                     return l;
             }
@@ -168,9 +166,7 @@ public class DownloadGpsTask extends AbstractDownloadTask<GpxData> {
         }
 
         private MarkerLayer findMarkerMergeLayer(GpxLayer fromLayer) {
-            if (!Main.isDisplayingMapView())
-                return null;
-            for (MarkerLayer l : Main.map.mapView.getLayersOfType(MarkerLayer.class)) {
+            for (MarkerLayer l : Main.getLayerManager().getLayersOfType(MarkerLayer.class)) {
                 if (fromLayer != null && l.fromLayer == fromLayer)
                     return l;
             }
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java
index 7f99e86..bdc48a4 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java
@@ -112,11 +112,8 @@ public class DownloadNotesTask extends AbstractDownloadTask<NoteData> {
                 Main.debug("Notes downloaded: " + notesData.size());
             }
 
-            List<NoteLayer> noteLayers = null;
-            if (Main.map != null) {
-                noteLayers = Main.map.mapView.getLayersOfType(NoteLayer.class);
-            }
-            if (noteLayers != null && !noteLayers.isEmpty()) {
+            List<NoteLayer> noteLayers = Main.getLayerManager().getLayersOfType(NoteLayer.class);
+            if (!noteLayers.isEmpty()) {
                 noteLayers.get(0).getNoteData().addNotes(notesData);
             } else {
                 Main.main.addLayer(new NoteLayer(notesData, tr("Notes")));
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
index a1576c0..3d9238a 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
@@ -148,7 +148,7 @@ public class DownloadOsmChangeTask extends DownloadOsmTask {
                     // Lookup for the primitive version at the specified timestamp
                     HistoryOsmPrimitive hp = history.getByDate(date);
                     if (hp != null) {
-                        PrimitiveData data = null;
+                        PrimitiveData data;
 
                         switch (p.getType()) {
                         case NODE:
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
index a7e690b..2fbbd13 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
@@ -19,7 +19,6 @@ import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
-import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
@@ -216,25 +215,11 @@ public class DownloadOsmTask extends AbstractDownloadTask<DataSet> {
         }
 
         protected int getNumDataLayers() {
-            if (!Main.isDisplayingMapView()) return 0;
-            int count = 0;
-            Collection<Layer> layers = Main.map.mapView.getAllLayers();
-            for (Layer layer : layers) {
-                if (layer instanceof OsmDataLayer) {
-                    count++;
-                }
-            }
-            return count;
+            return Main.getLayerManager().getLayersOfType(OsmDataLayer.class).size();
         }
 
         protected OsmDataLayer getFirstDataLayer() {
-            if (!Main.isDisplayingMapView()) return null;
-            Collection<Layer> layers = Main.map.mapView.getAllLayersAsList();
-            for (Layer layer : layers) {
-                if (layer instanceof OsmDataLayer)
-                    return (OsmDataLayer) layer;
-            }
-            return null;
+            return Utils.find(Main.getLayerManager().getLayers(), OsmDataLayer.class);
         }
 
         protected OsmDataLayer createNewLayer(String layerName) {
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java
index b24817e..3807238 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java
@@ -44,11 +44,11 @@ public class DownloadReferrersTask extends PleaseWaitRunnable {
     private Exception lastException;
     private OsmServerReader reader;
     /** the target layer */
-    private OsmDataLayer targetLayer;
+    private final OsmDataLayer targetLayer;
     /** the collection of child primitives */
-    private Map<Long, OsmPrimitiveType> children;
+    private final Map<Long, OsmPrimitiveType> children;
     /** the parents */
-    private DataSet parents;
+    private final DataSet parents;
 
     /**
      * constructor
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskList.java b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskList.java
index 4bcb3c9..42a7fd1 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskList.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskList.java
@@ -72,7 +72,7 @@ public class DownloadTaskList {
         if (newLayer) {
             Layer l = new OsmDataLayer(new DataSet(), OsmDataLayer.createNewName(), null);
             Main.main.addLayer(l);
-            Main.map.mapView.setActiveLayer(l);
+            Main.getLayerManager().setActiveLayer(l);
         }
 
         int n = (osmData && gpxData ? 2 : 1)*rects.size();
diff --git a/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java b/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
index 48b5201..feb7512 100644
--- a/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
+++ b/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
@@ -397,9 +397,7 @@ public class DrawAction extends MapMode implements MapViewPaintable, SelectionCh
         Collection<OsmPrimitive> selection = new ArrayList<>(ds.getSelected());
 
         boolean newNode = false;
-        Node n = null;
-
-        n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive.isSelectablePredicate);
+        Node n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive.isSelectablePredicate);
         if (ctrl) {
             Iterator<Way> it = getCurrentDataSet().getSelectedWays().iterator();
             if (it.hasNext()) {
@@ -1482,7 +1480,7 @@ public class DrawAction extends MapMode implements MapViewPaintable, SelectionCh
                 b = new GeneralPath();
                 if (absoluteFix) {
                     b.moveTo(p2.x, p2.y);
-                    b.lineTo(2f*p1.x-p2.x, 2f*p1.y-p2.y); // bi-directional line
+                    b.lineTo(2d*p1.x-p2.x, 2d*p1.y-p2.y); // bi-directional line
                 } else {
                     b.moveTo(p2.x, p2.y);
                     b.lineTo(p3.x, p3.y);
diff --git a/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java b/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
index 5d6dba6..4279ac6 100644
--- a/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
+++ b/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
@@ -683,7 +683,6 @@ public class ExtrudeAction extends MapMode implements MapViewPaintable, KeyPress
             Node n2New = new Node(Main.getProjection().eastNorth2latlon(newN2en));
             wnew.addNode(insertionPoint, n2New);
             wayWasModified = true;
-            insertionPoint++;
             cmds.add(new AddCommand(n2New));
             changedNodes.add(n2New);
         }
diff --git a/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java b/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
index 1009634..9d8c35e 100644
--- a/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
+++ b/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
@@ -1195,9 +1195,8 @@ public class SelectAction extends MapMode implements ModifierListener, KeyPressR
                 Collection<WaySegment> selVirtualWays = new LinkedList<>();
                 Pair<Node, Node> vnp = null, wnp = new Pair<>(null, null);
 
-                Way w = null;
                 for (WaySegment ws : mv.getNearestWaySegments(p, mv.isSelectablePredicate)) {
-                    w = ws.way;
+                    Way w = ws.way;
 
                     wnp.a = w.getNode(ws.lowerIndex);
                     wnp.b = w.getNode(ws.lowerIndex + 1);
diff --git a/src/org/openstreetmap/josm/actions/search/SearchCompiler.java b/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
index 32a9724..49a766a 100644
--- a/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
+++ b/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
@@ -679,7 +679,7 @@ public class SearchCompiler {
                     }
                 }
             } else {
-                String mv = null;
+                String mv;
 
                 if ("timestamp".equals(key) && osm instanceof OsmPrimitive) {
                     mv = DateUtils.fromTimestamp(((OsmPrimitive) osm).getRawTimestamp());
diff --git a/src/org/openstreetmap/josm/command/ChangePropertyCommand.java b/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
index 5badabe..eb4fc87 100644
--- a/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
+++ b/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
@@ -153,7 +153,7 @@ public class ChangePropertyCommand extends Command {
         final String text;
         if (objects.size() == 1 && tags.size() == 1) {
             OsmPrimitive primitive = objects.get(0);
-            String msg = "";
+            String msg;
             Map.Entry<String, String> entry = tags.entrySet().iterator().next();
             if (entry.getValue() == null) {
                 switch(OsmPrimitiveType.from(primitive)) {
diff --git a/src/org/openstreetmap/josm/corrector/TagCorrector.java b/src/org/openstreetmap/josm/corrector/TagCorrector.java
index 9463072..c61f314 100644
--- a/src/org/openstreetmap/josm/corrector/TagCorrector.java
+++ b/src/org/openstreetmap/josm/corrector/TagCorrector.java
@@ -145,7 +145,7 @@ public abstract class TagCorrector<P extends OsmPrimitive> {
                     OsmPrimitive primitive = entry.getKey();
 
                     // create the clone
-                    OsmPrimitive clone = null;
+                    OsmPrimitive clone;
                     if (primitive instanceof Way) {
                         clone = new Way((Way) primitive);
                     } else if (primitive instanceof Node) {
diff --git a/src/org/openstreetmap/josm/data/Preferences.java b/src/org/openstreetmap/josm/data/Preferences.java
index b090210..6003919 100644
--- a/src/org/openstreetmap/josm/data/Preferences.java
+++ b/src/org/openstreetmap/josm/data/Preferences.java
@@ -30,6 +30,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.MissingResourceException;
 import java.util.Objects;
 import java.util.ResourceBundle;
 import java.util.Set;
@@ -1323,10 +1324,8 @@ public class Preferences {
                 Field field = Toolkit.class.getDeclaredField("resources");
                 Utils.setObjectsAccessible(field);
                 field.set(null, ResourceBundle.getBundle("sun.awt.resources.awt"));
-            } catch (ReflectiveOperationException e) {
-                if (Main.isTraceEnabled()) {
-                    Main.trace(e.getMessage());
-                }
+            } catch (ReflectiveOperationException | MissingResourceException e) {
+                Main.warn(e);
             }
         }
         // Possibility to disable SNI (not by default) in case of misconfigured https servers
diff --git a/src/org/openstreetmap/josm/data/cache/JCSCacheManager.java b/src/org/openstreetmap/josm/data/cache/JCSCacheManager.java
index e148423..4cd9e68 100644
--- a/src/org/openstreetmap/josm/data/cache/JCSCacheManager.java
+++ b/src/org/openstreetmap/josm/data/cache/JCSCacheManager.java
@@ -18,6 +18,8 @@ import org.apache.commons.jcs.auxiliary.AuxiliaryCacheFactory;
 import org.apache.commons.jcs.auxiliary.disk.behavior.IDiskCacheAttributes;
 import org.apache.commons.jcs.auxiliary.disk.block.BlockDiskCacheAttributes;
 import org.apache.commons.jcs.auxiliary.disk.block.BlockDiskCacheFactory;
+import org.apache.commons.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes;
+import org.apache.commons.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory;
 import org.apache.commons.jcs.engine.CompositeCacheAttributes;
 import org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes.DiskUsagePattern;
 import org.apache.commons.jcs.engine.control.CompositeCache;
@@ -25,6 +27,7 @@ import org.apache.commons.jcs.engine.control.CompositeCacheManager;
 import org.apache.commons.jcs.utils.serialization.StandardSerializer;
 import org.openstreetmap.gui.jmapviewer.FeatureAdapter;
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.preferences.BooleanProperty;
 import org.openstreetmap.josm.data.preferences.IntegerProperty;
 
 /**
@@ -40,7 +43,10 @@ public final class JCSCacheManager {
     private static volatile CompositeCacheManager cacheManager;
     private static long maxObjectTTL        = -1;
     private static final String PREFERENCE_PREFIX = "jcs.cache";
-    private static final AuxiliaryCacheFactory diskCacheFactory = new BlockDiskCacheFactory();
+    private static BooleanProperty USE_BLOCK_CACHE = new BooleanProperty(PREFERENCE_PREFIX + ".use_block_cache", true);
+
+    private static final AuxiliaryCacheFactory diskCacheFactory =
+            USE_BLOCK_CACHE.get() ? new BlockDiskCacheFactory() : new IndexedDiskCacheFactory();
     private static FileLock cacheDirLock;
 
     /**
@@ -162,8 +168,7 @@ public final class JCSCacheManager {
         CompositeCache<K, V> cc = cacheManager.getCache(cacheName, getCacheAttributes(maxMemoryObjects));
 
         if (cachePath != null && cacheDirLock != null) {
-            IDiskCacheAttributes diskAttributes = getDiskCacheAttributes(maxDiskObjects, cachePath);
-            diskAttributes.setCacheName(cacheName);
+            IDiskCacheAttributes diskAttributes = getDiskCacheAttributes(maxDiskObjects, cachePath, cacheName);
             try {
                 if (cc.getAuxCaches().length == 0) {
                     AuxiliaryCache<K, V> diskCache = diskCacheFactory.createCache(diskAttributes, cacheManager, null, new StandardSerializer());
@@ -189,21 +194,40 @@ public final class JCSCacheManager {
         }
     }
 
-    private static IDiskCacheAttributes getDiskCacheAttributes(int maxDiskObjects, String cachePath) {
-        BlockDiskCacheAttributes ret = new BlockDiskCacheAttributes();
+    private static IDiskCacheAttributes getDiskCacheAttributes(int maxDiskObjects, String cachePath, String cacheName) {
+        IDiskCacheAttributes ret;
+        if (USE_BLOCK_CACHE.get()) {
+            BlockDiskCacheAttributes blockAttr = new BlockDiskCacheAttributes();
+            blockAttr.setMaxKeySize(maxDiskObjects);
+            ret = blockAttr;
+        } else {
+            IndexedDiskCacheAttributes indexAttr = new IndexedDiskCacheAttributes();
+            indexAttr.setMaxKeySize(maxDiskObjects);
+            ret = indexAttr;
+        }
         ret.setDiskLimitType(IDiskCacheAttributes.DiskLimitType.SIZE);
-        ret.setMaxKeySize(maxDiskObjects);
-        if (cachePath != null) {
-            File path = new File(cachePath);
-            if (!path.exists() && !path.mkdirs()) {
-                LOG.log(Level.WARNING, "Failed to create cache path: {0}", cachePath);
-            } else {
-                ret.setDiskPath(path);
-            }
+        File path = new File(cachePath);
+        if (!path.exists() && !path.mkdirs()) {
+            LOG.log(Level.WARNING, "Failed to create cache path: {0}", cachePath);
+        } else {
+            ret.setDiskPath(cachePath);
         }
+        ret.setCacheName(cacheName + (USE_BLOCK_CACHE.get() ? "_BLOCK" : "_INDEX"));
+
+        removeStaleFiles(cachePath + File.separator + cacheName, (USE_BLOCK_CACHE.get() ? "_INDEX" : "_BLOCK"));
         return ret;
     }
 
+    private static void removeStaleFiles(String basePathPart, String suffix) {
+        deleteCacheFiles(basePathPart); // TODO: this can be removed around 2016.09
+        deleteCacheFiles(basePathPart + suffix);
+    }
+
+    private static void deleteCacheFiles(String basePathPart) {
+        new File(basePathPart + ".key").delete();
+        new File(basePathPart + ".data").delete();
+    }
+
     private static CompositeCacheAttributes getCacheAttributes(int maxMemoryElements) {
         CompositeCacheAttributes ret = new CompositeCacheAttributes();
         ret.setMaxObjects(maxMemoryElements);
diff --git a/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java b/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
index eaaed62..1719511 100644
--- a/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
+++ b/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
@@ -255,7 +255,7 @@ public abstract class JCSCachedTileLoaderJob<K, V extends CacheEntry> implements
     }
 
     private void finishLoading(LoadResult result) {
-        Set<ICachedLoaderListener> listeners = null;
+        Set<ICachedLoaderListener> listeners;
         synchronized (inProgress) {
             listeners = inProgress.remove(getUrlNoException().toString());
         }
diff --git a/src/org/openstreetmap/josm/data/osm/DataSet.java b/src/org/openstreetmap/josm/data/osm/DataSet.java
index 901e7c2..b497d0d 100644
--- a/src/org/openstreetmap/josm/data/osm/DataSet.java
+++ b/src/org/openstreetmap/josm/data/osm/DataSet.java
@@ -131,10 +131,8 @@ public final class DataSet implements Data, Cloneable, ProjectionChangeListener
      * Constructs a new {@code DataSet}.
      */
     public DataSet() {
-        /*
-         * Transparently register as projection change lister. No need to explicitly remove the
-         * the listener, projection change listeners are managed as WeakReferences.
-         */
+        // Transparently register as projection change listener. No need to explicitly remove
+        // the listener, projection change listeners are managed as WeakReferences.
         Main.addProjectionChangeListener(this);
     }
 
@@ -878,7 +876,8 @@ public final class DataSet implements Data, Cloneable, ProjectionChangeListener
     public DataSet clone() {
         getReadLock().lock();
         try {
-            DataSet ds = new DataSet();
+            DataSet ds = (DataSet) super.clone();
+            Main.addProjectionChangeListener(ds);
             Map<OsmPrimitive, OsmPrimitive> primMap = new HashMap<>();
             for (Node n : nodes) {
                 Node newNode = new Node(n);
@@ -916,6 +915,8 @@ public final class DataSet implements Data, Cloneable, ProjectionChangeListener
             }
             ds.version = version;
             return ds;
+        } catch (CloneNotSupportedException e) {
+            throw new IllegalStateException(e);
         } finally {
             getReadLock().unlock();
         }
diff --git a/src/org/openstreetmap/josm/data/osm/DataSetMerger.java b/src/org/openstreetmap/josm/data/osm/DataSetMerger.java
index bf8c321..c4d3749 100644
--- a/src/org/openstreetmap/josm/data/osm/DataSetMerger.java
+++ b/src/org/openstreetmap/josm/data/osm/DataSetMerger.java
@@ -110,7 +110,7 @@ public class DataSetMerger {
         // If we get here we didn't find a suitable primitive in
         // the target dataset. Create a clone and add it to the target dataset.
         //
-        OsmPrimitive target = null;
+        OsmPrimitive target;
         switch(source.getType()) {
         case NODE: target = source.isNew() ? new Node() : new Node(source.getId()); break;
         case WAY: target = source.isNew() ? new Way() : new Way(source.getId()); break;
diff --git a/src/org/openstreetmap/josm/data/osm/FilterWorker.java b/src/org/openstreetmap/josm/data/osm/FilterWorker.java
index ef73ccc..54b1ee1 100644
--- a/src/org/openstreetmap/josm/data/osm/FilterWorker.java
+++ b/src/org/openstreetmap/josm/data/osm/FilterWorker.java
@@ -23,14 +23,13 @@ public final class FilterWorker {
     /**
      * Apply the filters to the primitives of the data set.
      *
-     * @param all the collection of primitives for that the filter state should
-     * be updated
+     * @param all the collection of primitives for that the filter state should be updated
      * @param filterMatcher the FilterMatcher
      * @return true, if the filter state (normal / disabled / hidden)
      * of any primitive has changed in the process
      */
     public static boolean executeFilters(Collection<OsmPrimitive> all, FilterMatcher filterMatcher) {
-        boolean changed = false;
+        boolean changed;
         // first relations, then ways and nodes last; this is required to resolve dependencies
         changed = doExecuteFilters(Utils.filter(all, OsmPrimitive.relationPredicate), filterMatcher);
         changed |= doExecuteFilters(Utils.filter(all, OsmPrimitive.wayPredicate), filterMatcher);
diff --git a/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java b/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java
index d291f07..9570667 100644
--- a/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java
+++ b/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java
@@ -35,7 +35,7 @@ public class DatasetEventManager implements MapView.EditLayerChangeListener, Lis
             while (!eventsInEDT.isEmpty()) {
                 DataSet dataSet = null;
                 AbstractDatasetChangedEvent consolidatedEvent = null;
-                AbstractDatasetChangedEvent event = null;
+                AbstractDatasetChangedEvent event;
 
                 while ((event = eventsInEDT.poll()) != null) {
                     fireEvents(inEDTListeners, event);
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/AbstractMapRenderer.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/AbstractMapRenderer.java
index 1b4d4c2..8cae889 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/AbstractMapRenderer.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/AbstractMapRenderer.java
@@ -220,10 +220,10 @@ public abstract class AbstractMapRenderer implements Rendering {
                 if (isSegmentVisible(lastP, p) && isLargeSegment(lastP, p, virtualNodeSpace)) {
                     int x = (p.x+lastP.x)/2;
                     int y = (p.y+lastP.y)/2;
-                    path.moveTo((float) x-virtualNodeSize, y);
-                    path.lineTo((float) x+virtualNodeSize, y);
-                    path.moveTo(x, (float) y-virtualNodeSize);
-                    path.lineTo(x, (float) y+virtualNodeSize);
+                    path.moveTo((double) x-virtualNodeSize, y);
+                    path.lineTo((double) x+virtualNodeSize, y);
+                    path.moveTo(x, (double) y-virtualNodeSize);
+                    path.lineTo(x, (double) y+virtualNodeSize);
                 }
                 lastP = p;
             }
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
index 80c0184..b3f96a5 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
@@ -621,8 +621,8 @@ public class StyledMapRenderer extends AbstractMapRenderer {
                     int y = (int) (centeredNBounds.getMinY() - nb.getMinY());
                     displayText(null, name, x, y, osm.isDisabled(), text);
                     g.setFont(defaultFont);
-                } else if (Main.isDebugEnabled()) {
-                    Main.debug("Couldn't find a correct label placement for "+osm+" / "+name);
+                } else if (Main.isTraceEnabled()) {
+                    Main.trace("Couldn't find a correct label placement for "+osm+" / "+name);
                 }
             }
         }
@@ -658,7 +658,7 @@ public class StyledMapRenderer extends AbstractMapRenderer {
                     }
                 }
                 drawArea(r, p,
-                        pd.selected ? paintSettings.getRelationSelectedColor(color.getAlpha()) : color,
+                        pd.isSelected() ? paintSettings.getRelationSelectedColor(color.getAlpha()) : color,
                         fillImage, extent, pfClip, disabled, text);
             }
         }
@@ -1502,7 +1502,7 @@ public class StyledMapRenderer extends AbstractMapRenderer {
 
                             while (dist < segmentLength) {
                                 for (int i = 0; i < 2; ++i) {
-                                    float onewaySize = i == 0 ? 3f : 2f;
+                                    double onewaySize = i == 0 ? 3d : 2d;
                                     GeneralPath onewayPath = i == 0 ? onewayArrowsCasing : onewayArrows;
 
                                     // scale such that border is 1 px
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/WireframeMapRenderer.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/WireframeMapRenderer.java
index 115e61a..66b894c 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/WireframeMapRenderer.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/WireframeMapRenderer.java
@@ -431,8 +431,8 @@ public class WireframeMapRenderer extends AbstractMapRenderer implements Visitor
                 final double sx = l * (p1.x - p2.x);
                 final double sy = l * (p1.y - p2.y);
 
-                path.lineTo(p2.x + (float) Math.round(cosPHI * sx - sinPHI * sy), p2.y + (float) Math.round(sinPHI * sx + cosPHI * sy));
-                path.moveTo(p2.x + (float) Math.round(cosPHI * sx + sinPHI * sy), p2.y + (float) Math.round(-sinPHI * sx + cosPHI * sy));
+                path.lineTo(p2.x + (double) Math.round(cosPHI * sx - sinPHI * sy), p2.y + (double) Math.round(sinPHI * sx + cosPHI * sy));
+                path.moveTo(p2.x + (double) Math.round(cosPHI * sx + sinPHI * sy), p2.y + (double) Math.round(-sinPHI * sx + cosPHI * sy));
                 path.lineTo(p2.x, p2.y);
             }
         }
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java
index 590cb36..984a874 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java
@@ -123,7 +123,7 @@ public class Multipolygon {
             }
         }
 
-        public boolean isOuterRole(String role) {
+        boolean isOuterRole(String role) {
             if (role == null) return false;
             for (String candidate: outerExactRoles) {
                 if (role.equals(candidate)) return true;
@@ -134,7 +134,7 @@ public class Multipolygon {
             return false;
         }
 
-        public boolean isInnerRole(String role) {
+        boolean isInnerRole(String role) {
             if (role == null) return false;
             for (String candidate: innerExactRoles) {
                 if (role.equals(candidate)) return true;
@@ -163,34 +163,83 @@ public class Multipolygon {
     }
 
     public static class JoinedWay {
-        private final List<Node> nodes;
-        private final Collection<Long> wayIds;
-        private final boolean selected;
+        protected final List<Node> nodes;
+        protected final Collection<Long> wayIds;
+        protected boolean selected;
 
+        /**
+         * Constructs a new {@code JoinedWay}.
+         * @param nodes list of nodes
+         * @param wayIds list of way IDs
+         * @param selected whether joined way is selected or not
+         */
         public JoinedWay(List<Node> nodes, Collection<Long> wayIds, boolean selected) {
-            this.nodes = nodes;
-            this.wayIds = wayIds;
+            this.nodes = new ArrayList<>(nodes);
+            this.wayIds = new ArrayList<>(wayIds);
             this.selected = selected;
         }
 
+        /**
+         * Replies the list of nodes.
+         * @return the list of nodes
+         */
         public List<Node> getNodes() {
-            return nodes;
+            return Collections.unmodifiableList(nodes);
         }
 
+        /**
+         * Replies the list of way IDs.
+         * @return the list of way IDs
+         */
         public Collection<Long> getWayIds() {
-            return wayIds;
+            return Collections.unmodifiableCollection(wayIds);
         }
 
-        public boolean isSelected() {
+        /**
+         * Determines if this is selected.
+         * @return {@code true} if this is selected
+         */
+        public final boolean isSelected() {
             return selected;
         }
 
+        /**
+         * Sets whether this is selected
+         * @param selected {@code true} if this is selected
+         * @since 10312
+         */
+        public final void setSelected(boolean selected) {
+            this.selected = selected;
+        }
+
+        /**
+         * Determines if this joined way is closed.
+         * @return {@code true} if this joined way is closed
+         */
         public boolean isClosed() {
-            return nodes.isEmpty() || nodes.get(nodes.size() - 1).equals(nodes.get(0));
+            return nodes.isEmpty() || getLastNode().equals(getFirstNode());
+        }
+
+        /**
+         * Returns the first node.
+         * @return the first node
+         * @since 10312
+         */
+        public Node getFirstNode() {
+            return nodes.get(0);
+        }
+
+        /**
+         * Returns the last node.
+         * @return the last node
+         * @since 10312
+         */
+        public Node getLastNode() {
+            return nodes.get(nodes.size() - 1);
         }
     }
 
-    public static class PolyData {
+    public static class PolyData extends JoinedWay {
         public enum Intersection {
             INSIDE,
             OUTSIDE,
@@ -198,30 +247,43 @@ public class Multipolygon {
         }
 
         private final Path2D.Double poly;
-        public boolean selected;
         private Rectangle2D bounds;
-        private final Collection<Long> wayIds;
-        private final List<Node> nodes;
         private final List<PolyData> inners;
 
+        /**
+         * Constructs a new {@code PolyData} from a closed way.
+         * @param closedWay closed way
+         */
         public PolyData(Way closedWay) {
             this(closedWay.getNodes(), closedWay.isSelected(), Collections.singleton(closedWay.getUniqueId()));
         }
 
+        /**
+         * Constructs a new {@code PolyData} from a {@link JoinedWay}.
+         * @param joinedWay joined way
+         */
         public PolyData(JoinedWay joinedWay) {
-            this(joinedWay.getNodes(), joinedWay.isSelected(), joinedWay.getWayIds());
+            this(joinedWay.nodes, joinedWay.selected, joinedWay.wayIds);
         }
 
         private PolyData(List<Node> nodes, boolean selected, Collection<Long> wayIds) {
-            this.wayIds = Collections.unmodifiableCollection(wayIds);
-            this.nodes = new ArrayList<>(nodes);
-            this.selected = selected;
+            super(nodes, wayIds, selected);
             this.inners = new ArrayList<>();
             this.poly = new Path2D.Double();
             this.poly.setWindingRule(Path2D.WIND_EVEN_ODD);
             buildPoly();
         }
 
+        /**
+         * Constructs a new {@code PolyData} from an existing {@code PolyData}.
+         * @param copy existing instance
+         */
+        public PolyData(PolyData copy) {
+            super(copy.nodes, copy.wayIds, copy.selected);
+            this.poly = (Path2D.Double) copy.poly.clone();
+            this.inners = new ArrayList<>(copy.inners);
+        }
+
         private void buildPoly() {
             boolean initial = true;
             for (Node n : nodes) {
@@ -243,14 +305,6 @@ public class Multipolygon {
             }
         }
 
-        public PolyData(PolyData copy) {
-            this.selected = copy.selected;
-            this.poly = (Path2D.Double) copy.poly.clone();
-            this.wayIds = Collections.unmodifiableCollection(copy.wayIds);
-            this.nodes = new ArrayList<>(copy.nodes);
-            this.inners = new ArrayList<>(copy.inners);
-        }
-
         public Intersection contains(Path2D.Double p) {
             int contains = 0;
             int total = 0;
@@ -292,16 +346,8 @@ public class Multipolygon {
             return bounds;
         }
 
-        public Collection<Long> getWayIds() {
-            return wayIds;
-        }
-
-        public List<Node> getNodes() {
-            return nodes;
-        }
-
         public List<PolyData> getInners() {
-            return inners;
+            return Collections.unmodifiableList(inners);
         }
 
         private void resetNodes(DataSet dataSet) {
@@ -369,10 +415,13 @@ public class Multipolygon {
             }
         }
 
+        @Override
         public boolean isClosed() {
-            if (nodes.size() < 3 || nodes.get(0) != nodes.get(nodes.size() - 1)) return false;
+            if (nodes.size() < 3 || !getFirstNode().equals(getLastNode()))
+                return false;
             for (PolyData inner : inners) {
-                if (!inner.isClosed()) return false;
+                if (!inner.isClosed())
+                    return false;
             }
             return true;
         }
@@ -403,6 +452,10 @@ public class Multipolygon {
 
     private boolean incomplete;
 
+    /**
+     * Constructs a new {@code Multipolygon} from a relation.
+     * @param r relation
+     */
     public Multipolygon(Relation r) {
         load(r);
     }
@@ -414,23 +467,19 @@ public class Multipolygon {
         for (RelationMember m : r.getMembers()) {
             if (m.getMember().isIncomplete()) {
                 this.incomplete = true;
-            } else if (m.getMember().isDrawable()) {
-                if (m.isWay()) {
-                    Way w = m.getWay();
+            } else if (m.getMember().isDrawable() && m.isWay()) {
+                Way w = m.getWay();
 
-                    if (w.getNodesCount() < 2) {
-                        continue;
-                    }
+                if (w.getNodesCount() < 2) {
+                    continue;
+                }
 
-                    if (matcher.isInnerRole(m.getRole())) {
-                        innerWays.add(w);
-                    } else if (matcher.isOuterRole(m.getRole())) {
-                        outerWays.add(w);
-                    } else if (!m.hasRole()) {
-                        outerWays.add(w);
-                    } // Remaining roles ignored
-                } // Non ways ignored
-            }
+                if (matcher.isInnerRole(m.getRole())) {
+                    innerWays.add(w);
+                } else if (!m.hasRole() || matcher.isOuterRole(m.getRole())) {
+                    outerWays.add(w);
+                } // Remaining roles ignored
+            } // Non ways ignored
         }
 
         final List<PolyData> innerPolygons = new ArrayList<>();
@@ -442,6 +491,10 @@ public class Multipolygon {
         }
     }
 
+    /**
+     * Determines if this multipolygon is incomplete.
+     * @return {@code true} if this multipolygon is incomplete
+     */
     public final boolean isIncomplete() {
         return incomplete;
     }
@@ -459,8 +512,8 @@ public class Multipolygon {
         for (JoinedWay jw: joinWays(waysToJoin)) {
             result.add(new PolyData(jw));
             if (!jw.isClosed()) {
-                openEnds.add(jw.getNodes().get(0));
-                openEnds.add(jw.getNodes().get(jw.getNodes().size() - 1));
+                openEnds.add(jw.getFirstNode());
+                openEnds.add(jw.getLastNode());
             }
         }
     }
@@ -559,7 +612,6 @@ public class Multipolygon {
     }
 
     public PolyData findOuterPolygon(PolyData inner, List<PolyData> outerPolygons) {
-
         // First try to test only bbox, use precise testing only if we don't get unique result
         Rectangle2D innerBox = inner.getBounds();
         PolyData insidePolygon = null;
@@ -594,7 +646,6 @@ public class Multipolygon {
     }
 
     private void addInnerToOuters(List<PolyData> innerPolygons, List<PolyData> outerPolygons)  {
-
         if (innerPolygons.isEmpty()) {
             combinedPolygons.addAll(outerPolygons);
         } else if (outerPolygons.size() == 1) {
@@ -623,7 +674,7 @@ public class Multipolygon {
      * @return the list of outer ways
      */
     public List<Way> getOuterWays() {
-        return outerWays;
+        return Collections.unmodifiableList(outerWays);
     }
 
     /**
@@ -631,19 +682,31 @@ public class Multipolygon {
      * @return the list of inner ways
      */
     public List<Way> getInnerWays() {
-        return innerWays;
+        return Collections.unmodifiableList(innerWays);
     }
 
+    /**
+     * Replies the list of combined polygons.
+     * @return the list of combined polygons
+     */
     public List<PolyData> getCombinedPolygons() {
-        return combinedPolygons;
+        return Collections.unmodifiableList(combinedPolygons);
     }
 
+    /**
+     * Replies the list of inner polygons.
+     * @return the list of inner polygons
+     */
     public List<PolyData> getInnerPolygons() {
         final List<PolyData> innerPolygons = new ArrayList<>();
         createPolygons(innerWays, innerPolygons);
         return innerPolygons;
     }
 
+    /**
+     * Replies the list of outer polygons.
+     * @return the list of outer polygons
+     */
     public List<PolyData> getOuterPolygons() {
         final List<PolyData> outerPolygons = new ArrayList<>();
         createPolygons(outerWays, outerPolygons);
@@ -655,6 +718,6 @@ public class Multipolygon {
      * @return the start and end node of non-closed rings.
      */
     public List<Node> getOpenEnds() {
-        return openEnds;
+        return Collections.unmodifiableList(openEnds);
     }
 }
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java
index 2d25dec..d76fc02 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java
@@ -96,7 +96,7 @@ public final class MultipolygonCache implements DataSetListener, LayerChangeList
                 multipolygon = new Multipolygon(r);
                 map2.put(r, multipolygon);
                 for (PolyData pd : multipolygon.getCombinedPolygons()) {
-                    if (pd.selected) {
+                    if (pd.isSelected()) {
                         selectedPolyData.add(pd);
                     }
                 }
@@ -310,7 +310,7 @@ public final class MultipolygonCache implements DataSetListener, LayerChangeList
     public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
 
         for (Iterator<PolyData> it = selectedPolyData.iterator(); it.hasNext();) {
-            it.next().selected = false;
+            it.next().setSelected(false);
             it.remove();
         }
 
@@ -331,7 +331,7 @@ public final class MultipolygonCache implements DataSetListener, LayerChangeList
                             if (multipolygon != null) {
                                 for (PolyData pd : multipolygon.getCombinedPolygons()) {
                                     if (pd.getWayIds().contains(p.getUniqueId())) {
-                                        pd.selected = true;
+                                        pd.setSelected(true);
                                         selectedPolyData.add(pd);
                                     }
                                 }
diff --git a/src/org/openstreetmap/josm/data/preferences/PreferencesReader.java b/src/org/openstreetmap/josm/data/preferences/PreferencesReader.java
index 1a5e47a..4000b92 100644
--- a/src/org/openstreetmap/josm/data/preferences/PreferencesReader.java
+++ b/src/org/openstreetmap/josm/data/preferences/PreferencesReader.java
@@ -41,8 +41,8 @@ public class PreferencesReader {
     private final SortedMap<String, Setting<?>> settings = new TreeMap<>();
     private XMLStreamReader parser;
     private int version;
-    private Reader reader;
-    private File file;
+    private final Reader reader;
+    private final File file;
 
     private final boolean defaults;
 
diff --git a/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java b/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java
index d9e9757..0e797f5 100644
--- a/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java
+++ b/src/org/openstreetmap/josm/data/projection/datum/NTV2GridShiftFile.java
@@ -272,8 +272,9 @@ public class NTV2GridShiftFile implements Serializable {
 
     @Override
     public String toString() {
-        StringBuilder buff = new StringBuilder(256).append("Headers  : ");
-        buff.append(overviewHeaderCount)
+        return new StringBuilder(256)
+            .append("Headers  : ")
+            .append(overviewHeaderCount)
             .append("\nSub Hdrs : ")
             .append(subGridHeaderCount)
             .append("\nSub Grids: ")
@@ -293,8 +294,8 @@ public class NTV2GridShiftFile implements Serializable {
             .append("\nTo Maj Ax: ")
             .append(toSemiMajorAxis)
             .append("\nTo Min Ax: ")
-            .append(toSemiMinorAxis);
-        return buff.toString();
+            .append(toSemiMinorAxis)
+            .toString();
     }
 
     public String getFromEllipsoid() {
diff --git a/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java b/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java
index b1e1b59..d2c576b 100644
--- a/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java
+++ b/src/org/openstreetmap/josm/data/projection/datum/NTV2SubGrid.java
@@ -294,8 +294,9 @@ public class NTV2SubGrid implements Serializable {
      * @return textual details about the sub grid
      */
     public String getDetails() {
-        StringBuilder buff = new StringBuilder(256).append("Sub Grid : ");
-        buff.append(subGridName)
+        return new StringBuilder(256)
+            .append("Sub Grid : ")
+            .append(subGridName)
             .append("\nParent   : ")
             .append(parentSubGridName)
             .append("\nCreated  : ")
@@ -315,8 +316,8 @@ public class NTV2SubGrid implements Serializable {
             .append("\nLon Intvl: ")
             .append(lonInterval)
             .append("\nNode Cnt : ")
-            .append(nodeCount);
-        return buff.toString();
+            .append(nodeCount)
+            .toString();
     }
 
     /**
diff --git a/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java b/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java
index 5921f55..3348277 100644
--- a/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java
+++ b/src/org/openstreetmap/josm/data/projection/datum/NTV2Util.java
@@ -71,7 +71,7 @@ public final class NTV2Util {
      * @return the float
      */
     public static float getFloat(byte[] b, boolean bigEndian) {
-        int i = 0;
+        int i;
         if (bigEndian) {
             i = getIntBE(b, 0);
         } else {
@@ -88,8 +88,8 @@ public final class NTV2Util {
      * @return the double
      */
     public static double getDouble(byte[] b, boolean bigEndian) {
-        int i = 0;
-        int j = 0;
+        int i;
+        int j;
         if (bigEndian) {
             i = getIntBE(b, 0);
             j = getIntBE(b, 4);
@@ -97,8 +97,7 @@ public final class NTV2Util {
             i = getIntLE(b, 4);
             j = getIntLE(b, 0);
         }
-        long l = ((long) i << 32) |
-        (j & 0x00000000FFFFFFFFL);
+        long l = ((long) i << 32) | (j & 0x00000000FFFFFFFFL);
         return Double.longBitsToDouble(l);
     }
 }
diff --git a/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java b/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java
index 9076d66..5567f52 100644
--- a/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java
+++ b/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java
@@ -101,7 +101,6 @@ public class SwissObliqueMercator extends AbstractProj {
 
         double lambda = l / alpha;
         double phi = b;
-        double s = 0;
 
         double prevPhi = -1000;
         int iteration = 0;
@@ -110,7 +109,7 @@ public class SwissObliqueMercator extends AbstractProj {
             if (++iteration > 30)
                 throw new RuntimeException("Two many iterations");
             prevPhi = phi;
-            s = 1 / alpha * (log(tan(PI / 4 + b / 2)) - k) + ellps.e
+            double s = 1 / alpha * (log(tan(PI / 4 + b / 2)) - k) + ellps.e
             * log(tan(PI / 4 + asin(ellps.e * sin(phi)) / 2));
             phi = 2 * atan(exp(s)) - PI / 2;
         }
diff --git a/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java b/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java
index 3f16e28..b92de25 100644
--- a/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java
+++ b/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java
@@ -289,7 +289,7 @@ public final class DomainValidator extends AbstractValidator {
 
     // WARNING: this array MUST be sorted, otherwise it cannot be searched reliably using binary search
     private static final String[] GENERIC_TLDS = new String[] {
-        // Taken from Version 2016052900, Last Updated Sun May 29 07:07:01 2016 UTC
+        // Taken from Version 2016060300, Last Updated Fri Jun  3 07:07:01 2016 UTC
         "aaa", // aaa American Automobile Association, Inc.
         "aarp", // aarp AARP
         "abb", // abb ABB Ltd
@@ -525,6 +525,7 @@ public final class DomainValidator extends AbstractValidator {
         "desi", // desi Desi Networks LLC
         "design", // design Top Level Design, LLC
         "dev", // dev Charleston Road Registry Inc.
+        "dhl", // dhl Deutsche Post AG
         "diamonds", // diamonds John Edge, LLC
         "diet", // diet Uniregistry, Corp.
         "digital", // digital Dash Park, LLC
@@ -619,6 +620,7 @@ public final class DomainValidator extends AbstractValidator {
         "gallo", // gallo Gallo Vineyards, Inc.
         "gallup", // gallup Gallup, Inc.
         "game", // game Uniregistry, Corp.
+        "games", // games United TLD Holdco Ltd.
         "garden", // garden Top Level Domain Holdings Limited
         "gbiz", // gbiz Charleston Road Registry Inc.
         "gdn", // gdn Joint Stock Company "Navigation-information systems"
@@ -670,6 +672,7 @@ public final class DomainValidator extends AbstractValidator {
         "here", // here Charleston Road Registry Inc.
         "hermes", // hermes Hermes International
         "hiphop", // hiphop Uniregistry, Corp.
+        "hisamitsu", // hisamitsu Hisamitsu Pharmaceutical Co.,Inc.
         "hitachi", // hitachi Hitachi, Ltd.
         "hiv", // hiv dotHIV gemeinnuetziger e.V.
         "hkt", // hkt PCCW-HKT DataCom Services Limited
@@ -931,6 +934,7 @@ public final class DomainValidator extends AbstractValidator {
         "pin", // pin Amazon Registry Services, Inc.
         "ping", // ping Ping Registry Provider, Inc.
         "pink", // pink Afilias Limited
+        "pioneer", // pioneer Pioneer Corporation
         "pizza", // pizza Foggy Moon, LLC
         "place", // place Snow Galley, LLC
         "play", // play Charleston Road Registry Inc.
@@ -1153,6 +1157,7 @@ public final class DomainValidator extends AbstractValidator {
         "university", // university Little Station, LLC
         "uno", // uno Dot Latin LLC
         "uol", // uol UBN INTERNET LTDA.
+        "ups", // ups UPS Market Driver, Inc.
         "vacations", // vacations Atomic Tigers, LLC
         "vana", // vana Lifestyle Domain Holdings, Inc.
         "vegas", // vegas Dot Vegas, Inc.
@@ -1313,6 +1318,7 @@ public final class DomainValidator extends AbstractValidator {
         "you", // you Amazon Registry Services, Inc.
         "youtube", // youtube Charleston Road Registry Inc.
         "yun", // yun QIHOO 360 TECHNOLOGY CO. LTD.
+        "zappos", // zappos Amazon Registry Service, Inc.
         "zara", // zara Industria de Diseño Textil, S.A. (INDITEX, S.A.)
         "zero", // zero Amazon Registry Services, Inc.
         "zip", // zip Charleston Road Registry Inc.
diff --git a/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java b/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
index a797ba1..46c6f3b 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
@@ -149,7 +149,7 @@ public class RelationChecker extends Test {
             if (matches && r != null) {
                 for (Role role: r.roles) {
                     String key = role.key;
-                    List<Role> roleGroup = null;
+                    List<Role> roleGroup;
                     if (allroles.containsKey(key)) {
                         roleGroup = allroles.get(key).roles;
                     } else {
diff --git a/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java b/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
index 663ed88..49a5d7d 100644
--- a/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
+++ b/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
@@ -209,7 +209,7 @@ public class DefaultNameFormatter implements NameFormatter, HistoryNameFormatter
     public String format(Way way) {
         StringBuilder name = new StringBuilder();
 
-        char mark = 0;
+        char mark;
         // If current language is left-to-right (almost all languages)
         if (ComponentOrientation.getOrientation(Locale.getDefault()).isLeftToRight()) {
             // will insert Left-To-Right Mark to ensure proper display of text in the case when object name is right-to-left
diff --git a/src/org/openstreetmap/josm/gui/ExtendedDialog.java b/src/org/openstreetmap/josm/gui/ExtendedDialog.java
index aceb32b..9997687 100644
--- a/src/org/openstreetmap/josm/gui/ExtendedDialog.java
+++ b/src/org/openstreetmap/josm/gui/ExtendedDialog.java
@@ -385,7 +385,7 @@ public class ExtendedDialog extends JDialog {
             cp.add(togglePanel, gc);
         }
 
-        gc.gridy = y++;
+        gc.gridy = y;
         gc.anchor = GridBagConstraints.CENTER;
             gc.insets = new Insets(5, 5, 5, 5);
         cp.add(buttonsPanel, gc);
diff --git a/src/org/openstreetmap/josm/gui/MapView.java b/src/org/openstreetmap/josm/gui/MapView.java
index a999166..d32dc94 100644
--- a/src/org/openstreetmap/josm/gui/MapView.java
+++ b/src/org/openstreetmap/josm/gui/MapView.java
@@ -431,7 +431,7 @@ LayerManager.LayerChangeListener, MainLayerManager.ActiveLayerChangeListener {
         addEditLayerChangeListener(listener, false);
     }
 
-    public boolean viewportFollowing = false;
+    public boolean viewportFollowing;
 
     /**
      * A list of all layers currently loaded. If we support multiple map views, this list may be different for each of them.
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java b/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java
index 3a6f18b..702a39f 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java
@@ -15,6 +15,14 @@ public abstract class PairTable extends OsmPrimitivesTable {
 
     private final transient ListMergeModel<? extends PrimitiveId> model;
 
+    /**
+     * Constructs a new {@code PairTable}.
+     * @param name table name
+     * @param model merge model
+     * @param dm table model
+     * @param cm column model
+     * @param sm selection model
+     */
     public PairTable(String name, ListMergeModel<? extends PrimitiveId> model,
             OsmPrimitivesTableModel dm, TableColumnModel cm, ListSelectionModel sm) {
         super(dm, cm, sm);
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListColumnModel.java b/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListColumnModel.java
index 53b7c58..b2e1ab3 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListColumnModel.java
@@ -7,14 +7,24 @@ import javax.swing.table.DefaultTableColumnModel;
 import javax.swing.table.TableCellRenderer;
 import javax.swing.table.TableColumn;
 
+/**
+ * Column model used in {@link NodeListTable}.
+ * @since 1622
+ */
 public class NodeListColumnModel extends DefaultTableColumnModel {
 
-    protected final void createColumns(TableCellRenderer renderer) {
+    /**
+     * Constructs a new {@code NodeListColumnModel}.
+     * @param renderer table cell renderer
+     */
+    public NodeListColumnModel(TableCellRenderer renderer) {
+        createColumns(renderer);
+    }
 
-        TableColumn col = null;
+    protected final void createColumns(TableCellRenderer renderer) {
 
         // column 0 - Row num
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("");
         col.setResizable(true);
         col.setPreferredWidth(32);
@@ -29,8 +39,4 @@ public class NodeListColumnModel extends DefaultTableColumnModel {
         col.setCellRenderer(renderer);
         addColumn(col);
     }
-
-    public NodeListColumnModel(TableCellRenderer renderer) {
-        createColumns(renderer);
-    }
 }
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTable.java b/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTable.java
index 40928dc..ed2cf9d 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTable.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTable.java
@@ -11,6 +11,13 @@ import org.openstreetmap.josm.gui.widgets.OsmPrimitivesTableModel;
 
 public class NodeListTable extends PairTable {
 
+    /**
+     * Constructs a new {@code NodeListTable}.
+     * @param name table name
+     * @param model node merge model
+     * @param dm table model
+     * @param sm selection model
+     */
     public NodeListTable(String name, ListMergeModel<Node> model, OsmPrimitivesTableModel dm, ListSelectionModel sm) {
         super(name, model, dm, new NodeListColumnModel(new NodeListTableCellRenderer()), sm);
     }
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java b/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java
index d62f36d..d2a6a93 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java
@@ -19,9 +19,9 @@ import org.openstreetmap.josm.tools.ImageProvider;
 
 /**
  * This is the {@link TableCellRenderer} used in the node tables of {@link NodeListMerger}.
- *
+ * @since 1622
  */
-public  class NodeListTableCellRenderer extends JLabel implements TableCellRenderer {
+public class NodeListTableCellRenderer extends JLabel implements TableCellRenderer {
 
     private final ImageIcon icon;
     private final transient Border rowNumberBorder;
@@ -117,7 +117,7 @@ public  class NodeListTableCellRenderer extends JLabel implements TableCellRende
                 break;
             default:
                 // should not happen
-                throw new RuntimeException(MessageFormat.format("Unexpected column index. Got {0}.", column));
+                throw new IllegalArgumentException(MessageFormat.format("Unexpected column index. Got {0}.", column));
             }
         }
         return this;
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListColumnModel.java b/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListColumnModel.java
index 830f764..70657d0 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListColumnModel.java
@@ -6,14 +6,24 @@ import static org.openstreetmap.josm.tools.I18n.tr;
 import javax.swing.table.DefaultTableColumnModel;
 import javax.swing.table.TableColumn;
 
+/**
+ * Column model used in {@link RelationMemberTable}.
+ * @since 1622
+ */
 public class RelationMemberListColumnModel extends DefaultTableColumnModel {
 
+    /**
+     * Constructs a new {@code RelationMemberListColumnModel}.
+     */
+    public RelationMemberListColumnModel() {
+        createColumns();
+    }
+
     protected final void createColumns() {
-        TableColumn col = null;
         RelationMemberTableCellRenderer renderer = new RelationMemberTableCellRenderer();
 
         // column 0 - Row num
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("");
         col.setResizable(true);
         col.setPreferredWidth(32);
@@ -37,8 +47,4 @@ public class RelationMemberListColumnModel extends DefaultTableColumnModel {
         col.setCellRenderer(renderer);
         addColumn(col);
     }
-
-    public RelationMemberListColumnModel() {
-        createColumns();
-    }
 }
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTable.java b/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTable.java
index 00e98a3..2b0f1c5 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTable.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTable.java
@@ -11,6 +11,13 @@ import org.openstreetmap.josm.gui.widgets.OsmPrimitivesTableModel;
 
 public class RelationMemberTable extends PairTable {
 
+    /**
+     * Constructs a new {@code RelationMemberTable}.
+     * @param name table name
+     * @param model relation member merge model
+     * @param dm table model
+     * @param sm selection model
+     */
     public RelationMemberTable(String name, ListMergeModel<RelationMember> model, OsmPrimitivesTableModel dm, ListSelectionModel sm) {
         super(name, model, dm, new RelationMemberListColumnModel(), sm);
     }
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java b/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java
index 4a9fb41..fd71bc5 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMerger.java
@@ -359,7 +359,7 @@ public class TagMerger extends JPanel implements IConflictResolver {
         public void mouseClicked(MouseEvent e) {
             if (e.getClickCount() != 2)
                 return;
-            JTable table = null;
+            JTable table;
             MergeDecisionType mergeDecision;
 
             if (e.getSource() == mineTable) {
diff --git a/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java b/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java
index 0abb864..3876ccd 100644
--- a/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java
@@ -65,10 +65,8 @@ public class RelationMemberConflictResolverColumnModel extends DefaultTableColum
         RelationMemberConflictDecisionRenderer decisionRenderer = new RelationMemberConflictDecisionRenderer();
         RelationMemberConflictDecisionEditor decisionEditor = new RelationMemberConflictDecisionEditor();
 
-        TableColumn col = null;
-
         // column 0 - Relation
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("Relation");
         col.setResizable(true);
         col.setWidth(100);
diff --git a/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java b/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java
index 065f035..0419334 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java
@@ -274,10 +274,9 @@ public class DeleteFromRelationConfirmationDialog extends JDialog implements Tab
     private static class RelationMemberTableColumnModel extends DefaultTableColumnModel {
 
         protected final void createColumns() {
-            TableColumn col = null;
 
             // column 0 - To Delete
-            col = new TableColumn(0);
+            TableColumn col = new TableColumn(0);
             col.setHeaderValue(tr("To delete"));
             col.setResizable(true);
             col.setWidth(100);
diff --git a/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java b/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
index 82b7edb..0f700f8 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
@@ -17,6 +17,9 @@ import org.openstreetmap.josm.gui.widgets.MultiSplitPane;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.Destroyable;
 
+/**
+ * This is the panel displayed on the right side of JOSM. It displays a list of panels.
+ */
 public class DialogsPanel extends JPanel implements Destroyable {
     private final List<ToggleDialog> allDialogs = new ArrayList<>();
     private final MultiSplitPane mSpltPane = new MultiSplitPane();
@@ -27,17 +30,29 @@ public class DialogsPanel extends JPanel implements Destroyable {
      */
     private final List<JPanel> panels = new ArrayList<>();
 
+    /**
+     * If {@link #initialize(List)} was called. read only from outside
+     */
+    public boolean initialized;
+
     private final JSplitPane parent;
 
+    /**
+     * Creates a new {@link DialogsPanel}.
+     * @param parent The parent split pane that allows this panel to change it's size.
+     */
     public DialogsPanel(JSplitPane parent) {
         this.parent = parent;
     }
 
-    public boolean initialized; // read only from outside
-
+    /**
+     * Initializes this panel
+     * @param pAllDialogs The list of dialogs this panel should contain on start.
+     */
     public void initialize(List<ToggleDialog> pAllDialogs) {
-        if (initialized)
-            throw new IllegalStateException();
+        if (initialized) {
+            throw new IllegalStateException("Panel can only be initialized once.");
+        }
         initialized = true;
         allDialogs.clear();
 
@@ -49,13 +64,21 @@ public class DialogsPanel extends JPanel implements Destroyable {
         reconstruct(Action.ELEMENT_SHRINKS, null);
     }
 
+    /**
+     * Add a new {@link ToggleDialog} to the list of known dialogs and trigger reconstruct.
+     * @param dlg The dialog to add
+     */
     public void add(ToggleDialog dlg) {
         add(dlg, true);
     }
 
+    /**
+     * Add a new {@link ToggleDialog} to the list of known dialogs.
+     * @param dlg The dialog to add
+     * @param doReconstruct <code>true</code> if reconstruction should be triggered.
+     */
     public void add(ToggleDialog dlg, boolean doReconstruct) {
         allDialogs.add(dlg);
-        int i = allDialogs.size() - 1;
         dlg.setDialogsPanel(this);
         dlg.setVisible(false);
         final JPanel p = new JPanel() {
@@ -71,7 +94,8 @@ public class DialogsPanel extends JPanel implements Destroyable {
         p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
         p.setVisible(false);
 
-        mSpltPane.add(p, 'L'+Integer.toString(i));
+        int dialogIndex = allDialogs.size() - 1;
+        mSpltPane.add(p, 'L'+Integer.toString(dialogIndex));
         panels.add(p);
 
         if (dlg.isDialogShowing()) {
@@ -93,10 +117,19 @@ public class DialogsPanel extends JPanel implements Destroyable {
      * What action was performed to trigger the reconstruction
      */
     public enum Action {
+        /**
+         * The panel was invisible previously
+         */
         INVISIBLE_TO_DEFAULT,
+        /**
+         * The panel was collapsed by the user.
+         */
         COLLAPSED_TO_DEFAULT,
         /*  INVISIBLE_TO_COLLAPSED,    does not happen */
-        ELEMENT_SHRINKS         /* else. (Remaining elements have more space.) */
+        /**
+         * else. (Remaining elements have more space.)
+         */
+        ELEMENT_SHRINKS
     }
 
     /**
@@ -235,12 +268,7 @@ public class DialogsPanel extends JPanel implements Destroyable {
                         int hn = Math.min(ha, he);
                         dlg.setPreferredSize(new Dimension(Integer.MAX_VALUE, hn));
                     } else {
-                        int d;
-                        try {
-                            d = (h0-he) * dm / dp;
-                        } catch (ArithmeticException e) { /* D_p may be zero - nothing wrong with that. */
-                            d = 0;
-                        }
+                        int d = dp == 0 ? 0 : ((h0-he) * dm / dp);
                         dlg.setPreferredSize(new Dimension(Integer.MAX_VALUE, h0 - d));
                     }
                 }
diff --git a/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java b/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
index 657a698..26b3fc3 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
@@ -182,7 +182,6 @@ public class InspectPrimitiveDialog extends ExtendedDialog {
         Count only tagged nodes (so empty way nodes don't inflate counts).
     */
     protected static String buildListOfEditorsText(Iterable<OsmPrimitive> primitives) {
-        final StringBuilder s = new StringBuilder();
         final Map<String, Integer> editCountByUser = new TreeMap<>(Collator.getInstance(Locale.getDefault()));
 
         // Count who edited each selected object
@@ -199,9 +198,10 @@ public class InspectPrimitiveDialog extends ExtendedDialog {
         }
 
         // Print the count in sorted order
-        s.append(trn("{0} user last edited the selection:", "{0} users last edited the selection:",
-                editCountByUser.size(), editCountByUser.size()));
-        s.append("\n\n");
+        final StringBuilder s = new StringBuilder(48)
+            .append(trn("{0} user last edited the selection:", "{0} users last edited the selection:",
+                editCountByUser.size(), editCountByUser.size()))
+            .append("\n\n");
         for (Map.Entry<String, Integer> entry : editCountByUser.entrySet()) {
             final String username = entry.getKey();
             final Integer editCount = entry.getValue();
diff --git a/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java b/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
index bb5fd58..290475d 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
@@ -123,7 +123,7 @@ public class RelationListDialog extends ToggleDialog
 
     private final transient HighlightHelper highlightHelper = new HighlightHelper();
     private final boolean highlightEnabled = Main.pref.getBoolean("draw.target-highlight", true);
-    private transient RecentRelationsAction recentRelationsAction;
+    private final transient RecentRelationsAction recentRelationsAction;
 
     /**
      * Constructs <code>RelationListDialog</code>
diff --git a/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java b/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
index 2b9ce25..936241b 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
@@ -438,7 +438,9 @@ public class ToggleDialog extends JPanel implements ShowHideButtonListener, Help
     @Override
     public void destroy() {
         closeDetachedDialog();
-        hideNotify();
+        if (isShowing) {
+            hideNotify();
+        }
         Main.main.menu.windowMenu.remove(windowMenuItem);
         Toolkit.getDefaultToolkit().removeAWTEventListener(this);
         Main.pref.removePreferenceChangeListener(this);
@@ -604,6 +606,9 @@ public class ToggleDialog extends JPanel implements ShowHideButtonListener, Help
             return lblTitle.getText();
         }
 
+        /**
+         * This is the popup menu used for the title bar.
+         */
         public class DialogPopupMenu extends JPopupMenu {
 
             /**
@@ -626,6 +631,11 @@ public class ToggleDialog extends JPanel implements ShowHideButtonListener, Help
             }
         }
 
+        /**
+         * Registers the mouse listeners.
+         * <p>
+         * Should be called once after this title was added to the dialog.
+         */
         public final void registerMouseListener() {
             popupMenu = new DialogPopupMenu();
             addMouseListener(new MouseEventHandler());
@@ -825,10 +835,20 @@ public class ToggleDialog extends JPanel implements ShowHideButtonListener, Help
         return isShowing && isDocked && isCollapsed;
     }
 
+    /**
+     * Sets the button from the button list that is used to display this dialog.
+     * <p>
+     * Note: This is ignored by the {@link ToggleDialog} for now.
+     * @param button The button for this dialog.
+     */
     public void setButton(JToggleButton button) {
         this.button = button;
     }
 
+    /**
+     * Gets the button from the button list that is used to display this dialog.
+     * @return button The button for this dialog.
+     */
     public JToggleButton getButton() {
         return button;
     }
@@ -865,6 +885,13 @@ public class ToggleDialog extends JPanel implements ShowHideButtonListener, Help
         // Do nothing
     }
 
+    /**
+     * Create a component with the given layout for this component.
+     * @param data The content to be displayed
+     * @param scroll <code>true</code> if it should be wrapped in a {@link JScrollPane}
+     * @param buttons The buttons to add.
+     * @return The component.
+     */
     protected Component createLayout(Component data, boolean scroll, Collection<SideButton> buttons) {
         return createLayout(data, scroll, buttons, (Collection<SideButton>[]) null);
     }
diff --git a/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableColumnModel.java b/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableColumnModel.java
index 750bc80..ca50cd6 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableColumnModel.java
@@ -10,15 +10,21 @@ import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
 
 /**
  * The column model for the changeset content
- *
+ * @since 2689
  */
 public class ChangesetContentTableColumnModel extends DefaultTableColumnModel {
 
+    /**
+     * Constructs a new {@code ChangesetContentTableColumnModel}.
+     */
+    public ChangesetContentTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         ChangesetContentTableCellRenderer renderer = new ChangesetContentTableCellRenderer();
         // column 0 - type
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue("");
         col.setResizable(true);
         col.setWidth(50);
@@ -44,11 +50,4 @@ public class ChangesetContentTableColumnModel extends DefaultTableColumnModel {
         col.setCellRenderer(new OsmPrimitivRenderer());
         addColumn(col);
     }
-
-    /**
-     * Constructs a new {@code ChangesetContentTableColumnModel}.
-     */
-    public ChangesetContentTableColumnModel() {
-        createColumns();
-    }
 }
diff --git a/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableColumnModel.java b/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableColumnModel.java
index 6b8dac2..b9ea12a 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionTableColumnModel.java
@@ -12,11 +12,17 @@ import javax.swing.table.TableColumn;
  */
 public class ChangesetDiscussionTableColumnModel extends DefaultTableColumnModel {
 
+    /**
+     * Constructs a new {@code ChangesetContentTableColumnModel}.
+     */
+    public ChangesetDiscussionTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         ChangesetDiscussionTableCellRenderer renderer = new ChangesetDiscussionTableCellRenderer();
         // column 0 - Date
-        col = new TableColumn(0, 150);
+        TableColumn col = new TableColumn(0, 150);
         col.setHeaderValue(tr("Date"));
         col.setResizable(true);
         col.setMaxWidth(200);
@@ -38,11 +44,4 @@ public class ChangesetDiscussionTableColumnModel extends DefaultTableColumnModel
         col.setCellRenderer(renderer);
         addColumn(col);
     }
-
-    /**
-     * Constructs a new {@code ChangesetContentTableColumnModel}.
-     */
-    public ChangesetDiscussionTableColumnModel() {
-        createColumns();
-    }
 }
diff --git a/src/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityAction.java b/src/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityAction.java
index d285ff8..6aa394d 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityAction.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityAction.java
@@ -44,7 +44,7 @@ public final class LayerVisibilityAction extends AbstractAction implements IEnab
     private final LayerListModel model;
     private final JPopupMenu popup;
     private SideButton sideButton;
-    private JCheckBox visibilityCheckbox;
+    private final JCheckBox visibilityCheckbox;
     final OpacitySlider opacitySlider = new OpacitySlider();
     private final ArrayList<FilterSlider<?>> sliders = new ArrayList<>();
 
diff --git a/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java b/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
index 1d78ce6..3ff47b7 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
@@ -655,7 +655,7 @@ public class TagEditHelper {
     protected class AddTagsDialog extends AbstractTagsDialog {
         private final List<JosmAction> recentTagsActions = new ArrayList<>();
         protected final transient FocusAdapter focus;
-        private JPanel mainPanel;
+        private final JPanel mainPanel;
         private JPanel recentTagsPanel;
 
         // Counter of added commands for possible undo
diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java b/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java
index 43162f8..4a8e0fb 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java
@@ -59,8 +59,8 @@ public class MemberTableLinkedCellRenderer extends MemberTableCellRenderer {
         }
         int w = 2;
         int p = 2 + w + 1;
-        int y1 = 0;
-        int y2 = 0;
+        int y1;
+        int y2;
 
         if (value.linkPrev) {
             g.setColor(Color.black);
diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/RelationTreeModel.java b/src/org/openstreetmap/josm/gui/dialogs/relation/RelationTreeModel.java
index da6b9f8..b5a57b2 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/relation/RelationTreeModel.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/relation/RelationTreeModel.java
@@ -19,14 +19,14 @@ import org.openstreetmap.josm.data.osm.RelationMember;
  * The model is initialized with a root relation or with a list of {@link RelationMember}s, see
  * {@link #populate(Relation)} and {@link #populate(List)} respectively.
  *
- *
+ * @since 1828
  */
 public class RelationTreeModel implements TreeModel {
     /** the root relation */
     private Relation root;
 
     /** the tree model listeners */
-    private CopyOnWriteArrayList<TreeModelListener> listeners;
+    private final CopyOnWriteArrayList<TreeModelListener> listeners;
 
     /**
      * constructor
@@ -37,28 +37,6 @@ public class RelationTreeModel implements TreeModel {
     }
 
     /**
-     * constructor
-     * @param root the root relation
-     */
-    public RelationTreeModel(Relation root) {
-        this.root = root;
-        listeners = new CopyOnWriteArrayList<>();
-    }
-
-    /**
-     * constructor
-     *
-     * @param members a list of members
-     */
-    public RelationTreeModel(List<RelationMember> members) {
-        if (members == null) return;
-        Relation root = new Relation();
-        root.setMembers(members);
-        this.root = root;
-        listeners = new CopyOnWriteArrayList<>();
-    }
-
-    /**
      * Replies the number of children of type relation for a particular
      * relation <code>parent</code>
      *
diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java b/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
index c4b4627..dfa048d 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
@@ -144,7 +144,7 @@ public class WayConnectionTypeCalculator {
     private void determineOnewayConnectionType(final List<WayConnectionType> con,
             RelationMember m, int i, final WayConnectionType wct) {
         Direction dirFW = determineDirection(lastForwardWay, con.get(lastForwardWay).direction, i);
-        Direction dirBW = NONE;
+        Direction dirBW;
         if (onewayBeginning) {
             if (lastBackwardWay < 0) {
                 dirBW = determineDirection(firstGroupIdx, reverse(con.get(firstGroupIdx).direction), i, true);
diff --git a/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java b/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java
index ac6329f..2b25290 100644
--- a/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java
+++ b/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java
@@ -762,13 +762,13 @@ public class HistoryBrowserModel extends ChangeNotifier implements LayerChangeLi
         OsmDataLayer l = (OsmDataLayer) newLayer;
         l.data.addDataSetListener(this);
         OsmPrimitive primitive = history != null ? l.data.getPrimitiveById(history.getId(), history.getType()) : null;
-        HistoryOsmPrimitive latest;
+        HistoryOsmPrimitive newLatest;
         if (canShowAsLatest(primitive)) {
-            latest = new HistoryPrimitiveBuilder().build(primitive);
+            newLatest = new HistoryPrimitiveBuilder().build(primitive);
         } else {
-            latest = null;
+            newLatest = null;
         }
-        setLatest(latest);
+        setLatest(newLatest);
         fireModelChange();
     }
 
diff --git a/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java b/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java
index 73ef511..b1e1a61 100644
--- a/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java
+++ b/src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java
@@ -32,12 +32,11 @@ public class NodeListTableCellRenderer extends JLabel implements TableCellRender
 
     protected void renderNode(TwoColumnDiff.Item item, boolean isSelected) {
         String text = "";
-        Color bgColor = Color.WHITE;
         setIcon(nodeIcon);
         if (item.value != null) {
             text = tr("Node {0}", item.value.toString());
         }
-        bgColor = item.state.getColor();
+        Color bgColor = item.state.getColor();
         if (item.state == DiffItemType.EMPTY) {
             text = "";
             setIcon(null);
diff --git a/src/org/openstreetmap/josm/gui/history/NodeListTableColumnModel.java b/src/org/openstreetmap/josm/gui/history/NodeListTableColumnModel.java
index 665377a..fa60028 100644
--- a/src/org/openstreetmap/josm/gui/history/NodeListTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/history/NodeListTableColumnModel.java
@@ -6,25 +6,26 @@ import static org.openstreetmap.josm.tools.I18n.tr;
 import javax.swing.table.DefaultTableColumnModel;
 import javax.swing.table.TableColumn;
 
-
 /**
  * The {@link javax.swing.table.TableColumnModel} for the table with the list of nodes.
- *
- *
+ * @since 1709
  */
 public class NodeListTableColumnModel extends DefaultTableColumnModel {
+
+    /**
+     * Constructs a new {@code NodeListTableColumnModel}.
+     */
+    public NodeListTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         NodeListTableCellRenderer renderer = new NodeListTableCellRenderer();
 
         // column 0 - Version
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue(tr("Nodes"));
         col.setCellRenderer(renderer);
         addColumn(col);
     }
-
-    public NodeListTableColumnModel() {
-        createColumns();
-    }
 }
diff --git a/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java b/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java
index 712979a..5606ccb 100644
--- a/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/history/RelationMemberTableColumnModel.java
@@ -8,15 +8,22 @@ import javax.swing.table.TableColumn;
 
 /**
  * The {@link javax.swing.table.TableColumnModel} for the table with the list of relation members.
- *
+ * @since 1709
  */
 public class RelationMemberTableColumnModel extends DefaultTableColumnModel {
+
+    /**
+     * Constructs a new {@code RelationMemberTableColumnModel}.
+     */
+    public RelationMemberTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         RelationMemberListTableCellRenderer renderer = new RelationMemberListTableCellRenderer();
 
         // column 0 - Version
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue(tr("Role"));
         col.setCellRenderer(renderer);
         addColumn(col);
@@ -27,8 +34,4 @@ public class RelationMemberTableColumnModel extends DefaultTableColumnModel {
         col.setCellRenderer(renderer);
         addColumn(col);
     }
-
-    public RelationMemberTableColumnModel() {
-        createColumns();
-    }
 }
diff --git a/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java b/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
index d5dbe9b..0c8eb16 100644
--- a/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
@@ -11,13 +11,19 @@ import javax.swing.table.TableColumn;
  * @since 1709
  */
 public class TagTableColumnModel extends DefaultTableColumnModel {
-    protected void createColumns() {
-        TableColumn col = null;
 
+    /**
+     * Constructs a new {@code TagTableColumnModel}.
+     */
+    public TagTableColumnModel() {
+        createColumns();
+    }
+
+    protected void createColumns() {
         TagTableCellRenderer renderer = new TagTableCellRenderer();
 
         // column 0 - Key
-        col = new TableColumn(0);
+        TableColumn col = new TableColumn(0);
         col.setHeaderValue(tr("Key"));
         col.setCellRenderer(renderer);
         addColumn(col);
@@ -27,13 +33,5 @@ public class TagTableColumnModel extends DefaultTableColumnModel {
         col.setHeaderValue(tr("Value"));
         col.setCellRenderer(renderer);
         addColumn(col);
-
-    }
-
-    /**
-     * Constructs a new {@code TagTableColumnModel}.
-     */
-    public TagTableColumnModel() {
-        createColumns();
     }
 }
diff --git a/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java b/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java
index a86c237..8391bfe 100644
--- a/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/history/VersionTableColumnModel.java
@@ -10,7 +10,7 @@ import javax.swing.table.TableColumnModel;
 
 /**
  * The {@link TableColumnModel} for the table with the list of versions
- *
+ * @since 1709
  */
 public class VersionTableColumnModel extends DefaultTableColumnModel {
 
@@ -25,12 +25,18 @@ public class VersionTableColumnModel extends DefaultTableColumnModel {
     /** Column index for user */
     public static final int COL_USER = 4;
 
+    /**
+     * Creates a new {@code VersionTableColumnModel}.
+     */
+    public VersionTableColumnModel() {
+        createColumns();
+    }
+
     protected void createColumns() {
-        TableColumn col = null;
         VersionTable.RadioButtonRenderer bRenderer = new VersionTable.RadioButtonRenderer();
 
         // column 0 - Version
-        col = new TableColumn(COL_VERSION);
+        TableColumn col = new TableColumn(COL_VERSION);
         /* translation note: 3 letter abbr. for "Version" */
         col.setHeaderValue(tr("Ver"));
         col.setCellRenderer(new VersionTable.AlignedRenderer(SwingConstants.CENTER));
@@ -61,11 +67,4 @@ public class VersionTableColumnModel extends DefaultTableColumnModel {
         col.setResizable(false);
         addColumn(col);
     }
-
-    /**
-     * Creates a new {@code VersionTableColumnModel}.
-     */
-    public VersionTableColumnModel() {
-        createColumns();
-    }
 }
diff --git a/src/org/openstreetmap/josm/gui/io/ActionFlagsTableCell.java b/src/org/openstreetmap/josm/gui/io/ActionFlagsTableCell.java
index 17b4a93..d57ee95 100644
--- a/src/org/openstreetmap/josm/gui/io/ActionFlagsTableCell.java
+++ b/src/org/openstreetmap/josm/gui/io/ActionFlagsTableCell.java
@@ -84,19 +84,19 @@ class ActionFlagsTableCell extends JPanel implements TableCellRenderer, TableCel
     }
 
     private void updatePanel(SaveLayerInfo info) {
-        StringBuilder sb = new StringBuilder();
-        sb.append("<html>");
-        sb.append(tr("Select which actions to perform for this layer, if you click the leftmost button."));
+        StringBuilder sb = new StringBuilder(128)
+            .append("<html>")
+            .append(tr("Select which actions to perform for this layer, if you click the leftmost button."));
         removeAll();
         if (info != null) {
             if (info.isUploadable()) {
-                sb.append("<br/>");
-                sb.append(tr("Check \"Upload\" to upload the changes to the OSM server."));
+                sb.append("<br/>")
+                  .append(tr("Check \"Upload\" to upload the changes to the OSM server."));
                 add(checkBoxes[0], GBC.eol().fill(GBC.HORIZONTAL));
             }
             if (info.isSavable()) {
-                sb.append("<br/>");
-                sb.append(tr("Check \"Save\" to save the layer to the file specified on the left."));
+                sb.append("<br/>")
+                  .append(tr("Check \"Save\" to save the layer to the file specified on the left."));
                 add(checkBoxes[1], GBC.eol().fill(GBC.HORIZONTAL));
             }
         }
diff --git a/src/org/openstreetmap/josm/gui/io/LayerNameAndFilePathTableCell.java b/src/org/openstreetmap/josm/gui/io/LayerNameAndFilePathTableCell.java
index 5bde926..68b5c96 100644
--- a/src/org/openstreetmap/josm/gui/io/LayerNameAndFilePathTableCell.java
+++ b/src/org/openstreetmap/josm/gui/io/LayerNameAndFilePathTableCell.java
@@ -31,15 +31,14 @@ import org.openstreetmap.josm.tools.GBC;
 
 /**
  * Display and edit layer name and file path in a <code>JTable</code>.
- * 
+ *
  * Note: Do not use the same object both as <code>TableCellRenderer</code> and
  * <code>TableCellEditor</code> - this can mess up the current editor component
  * by subsequent calls to the renderer (#12462).
  */
 class LayerNameAndFilePathTableCell extends JPanel implements TableCellRenderer, TableCellEditor {
     private static final Color colorError = new Color(255, 197, 197);
-    private static final String separator = System.getProperty("file.separator");
-    private static final String ellipsis = '…' + separator;
+    private static final String ELLIPSIS = '…' + File.separator;
 
     private final JLabel lblLayerName = new JLabel();
     private final JLabel lblFilename = new JLabel("");
@@ -150,7 +149,7 @@ class LayerNameAndFilePathTableCell extends JPanel implements TableCellRenderer,
      * @return tooltip that should be added to the panel
      */
     private String addLblFilename(SaveLayerInfo info) {
-        String tooltip = "";
+        String tooltip;
         boolean error = false;
         if (info.getFile() == null) {
             error = info.isDoSaveToFile();
@@ -184,13 +183,13 @@ class LayerNameAndFilePathTableCell extends JPanel implements TableCellRenderer,
         boolean hasEllipsis = false;
         while (t != null && !t.isEmpty()) {
             int txtwidth = lblFilename.getFontMetrics(lblFilename.getFont()).stringWidth(t);
-            if (txtwidth < lblFilename.getWidth() || t.lastIndexOf(separator) < ellipsis.length()) {
+            if (txtwidth < lblFilename.getWidth() || t.lastIndexOf(File.separator) < ELLIPSIS.length()) {
                 break;
             }
             // remove ellipsis, if present
-            t = hasEllipsis ? t.substring(ellipsis.length()) : t;
+            t = hasEllipsis ? t.substring(ELLIPSIS.length()) : t;
             // cut next block, and re-add ellipsis
-            t = ellipsis + t.substring(t.indexOf(separator) + 1);
+            t = ELLIPSIS + t.substring(t.indexOf(File.separator) + 1);
             hasEllipsis = true;
         }
         return t;
diff --git a/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java b/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java
index a713318..e75adce 100644
--- a/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.java
@@ -82,12 +82,10 @@ class SaveLayersTableColumnModel extends DefaultTableColumnModel {
     }
 
     protected void build() {
-        TableColumn col = null;
-
         // column 0 - layer name, save path editor
         LayerNameAndFilePathTableCell lnfpRenderer = new LayerNameAndFilePathTableCell();
         LayerNameAndFilePathTableCell lnfpEditor = new LayerNameAndFilePathTableCell();
-        col = new TableColumn(0); // keep in sync with SaveLayersModel#columnFilename
+        TableColumn col = new TableColumn(0); // keep in sync with SaveLayersModel#columnFilename
         col.setHeaderValue(tr("Layer Name and File Path"));
         col.setResizable(true);
         col.setCellRenderer(lnfpRenderer);
diff --git a/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java b/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
index effc254..4e63f88 100644
--- a/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
@@ -320,7 +320,7 @@ public abstract class ImageryLayer extends Layer {
      * @author Michael Zangl
      */
     public static class SharpenImageProcessor implements ImageProcessor {
-        private float sharpenLevel = 0;
+        private float sharpenLevel;
         private ConvolveOp op;
 
         private static float[] KERNEL_IDENTITY = new float[] {
@@ -401,7 +401,7 @@ public abstract class ImageryLayer extends Layer {
      * @author Michael Zangl
      */
     public static class ColorfulImageProcessor implements ImageProcessor {
-        private ColorfulFilter op = null;
+        private ColorfulFilter op;
         private double colorfulness = 1;
 
         /**
@@ -519,7 +519,7 @@ public abstract class ImageryLayer extends Layer {
                 int r = srcPixels[i + redOffset] & 0xff;
                 int g = srcPixels[i + greenOffset] & 0xff;
                 int b = srcPixels[i + blueOffset] & 0xff;
-                float luminosity = r * .21f + g * .72f + b * .07f;
+                double luminosity = r * .21d + g * .72d + b * .07d;
                 destPixels[i + redOffset] = mix(r, luminosity);
                 destPixels[i + greenOffset] = mix(g, luminosity);
                 destPixels[i + blueOffset] = mix(b, luminosity);
@@ -529,7 +529,7 @@ public abstract class ImageryLayer extends Layer {
             }
         }
 
-        private byte mix(int color, float luminosity) {
+        private byte mix(int color, double luminosity) {
             int val = (int) (colorfulness * color +  (1 - colorfulness) * luminosity);
             if (val < 0) {
                 return 0;
diff --git a/src/org/openstreetmap/josm/gui/layer/LayerManager.java b/src/org/openstreetmap/josm/gui/layer/LayerManager.java
index e6c4895..8af1dce 100644
--- a/src/org/openstreetmap/josm/gui/layer/LayerManager.java
+++ b/src/org/openstreetmap/josm/gui/layer/LayerManager.java
@@ -241,7 +241,7 @@ public class LayerManager {
      * <pre>
      *     List<WMSLayer> wmsLayers = getLayersOfType(WMSLayer.class);
      * </pre>
-     *
+     * @param <T> The layer type
      * @param ofType The layer type.
      * @return an unmodifiable list of layers of a certain type.
      */
diff --git a/src/org/openstreetmap/josm/gui/layer/NativeScaleLayer.java b/src/org/openstreetmap/josm/gui/layer/NativeScaleLayer.java
index 036fc09..8f63ebb 100644
--- a/src/org/openstreetmap/josm/gui/layer/NativeScaleLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/NativeScaleLayer.java
@@ -26,14 +26,14 @@ public interface NativeScaleLayer {
         /**
          * Scale factor, same unit as in {@link NavigatableComponent}
          */
-        private double scale;
+        private final double scale;
 
         /**
          * True if this scale is native resolution for data source.
          */
-        private boolean isNative;
+        private final boolean isNative;
 
-        private int index;
+        private final int index;
 
         /**
          * Constructs a new Scale with given scale, native defaults to true.
@@ -77,17 +77,10 @@ public interface NativeScaleLayer {
     }
 
     /**
-     * List of scales, may include intermediate steps
-     * between native resolutions
+     * List of scales, may include intermediate steps between native resolutions
      */
     class ScaleList  {
-        private List<Scale> scales = new ArrayList<>();
-
-        protected ScaleList(double[] scales) {
-            for (int i = 0; i < scales.length; i++) {
-                this.scales.add(new Scale(scales[i], i));
-            }
-        }
+        private final List<Scale> scales = new ArrayList<>();
 
         protected ScaleList() {
         }
diff --git a/src/org/openstreetmap/josm/gui/layer/NoteLayer.java b/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
index 62aee54..6214735 100644
--- a/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
@@ -109,7 +109,7 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
         for (Note note : noteData.getNotes()) {
             Point p = mv.getPoint(note.getLatLon());
 
-            ImageIcon icon = null;
+            ImageIcon icon;
             if (note.getId() < 0) {
                 icon = NotesDialog.ICON_NEW_SMALL;
             } else if (note.getState() == State.CLOSED) {
diff --git a/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java b/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
index 64402b9..8169ef0 100644
--- a/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
+++ b/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
@@ -720,7 +720,7 @@ public class CorrelateGpxWithImages extends AbstractAction {
 
         gbc = GBC.eol();
         gbc.gridx = 0;
-        gbc.gridy = y++;
+        gbc.gridy = y;
         panelTf.add(cbShowThumbs, gbc);
 
         final JPanel statusBar = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
@@ -1248,7 +1248,7 @@ public class CorrelateGpxWithImages extends AbstractAction {
             return lstSize-1;
 
         // The searched index is somewhere in the middle, do a binary search from the beginning
-        int curIndex = 0;
+        int curIndex;
         int startIndex = 0;
         int endIndex = lstSize-1;
         while (endIndex - startIndex > 1) {
diff --git a/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java b/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java
index 403da40..7bdf64f 100644
--- a/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java
+++ b/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java
@@ -311,13 +311,11 @@ public final class ImageEntry implements Comparable<ImageEntry>, Cloneable {
 
     @Override
     public ImageEntry clone() {
-        Object c;
         try {
-            c = super.clone();
+            return (ImageEntry) super.clone();
         } catch (CloneNotSupportedException e) {
-            throw new RuntimeException(e);
+            throw new IllegalStateException(e);
         }
-        return (ImageEntry) c;
     }
 
     @Override
diff --git a/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java b/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
index 740f6a0..e6d8908 100644
--- a/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
+++ b/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
@@ -483,10 +483,10 @@ public class GpxDrawHelper implements SoMChangeListener {
                     Color customColoringTransparent = hdopAlpha < 0 ? trkPnt.customColoring :
                         new Color(trkPnt.customColoring.getRGB() & 0x00ffffff | hdopAlpha << 24, true);
                     g.setColor(customColoringTransparent);
-                    // hdop cirles
+                    // hdop circles
                     int hdopp = mv.getPoint(new LatLon(
                             trkPnt.getCoor().lat(),
-                            trkPnt.getCoor().lon() + 2*6*hdop*360/40000000d)).x - screen.x;
+                            trkPnt.getCoor().lon() + 2d*6*hdop*360/40000000d)).x - screen.x;
                     g.drawArc(screen.x-hdopp/2, screen.y-hdopp/2, hdopp, hdopp, 0, 360);
                 }
                 if (large) {
diff --git a/src/org/openstreetmap/josm/gui/mappaint/Cascade.java b/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
index 04ad894..3f22c55 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
@@ -196,11 +196,15 @@ public final class Cascade implements Cloneable {
 
     @Override
     public Cascade clone() {
-        @SuppressWarnings("unchecked")
-        Map<String, Object> clonedProp = (Map<String, Object>) ((HashMap) this.prop).clone();
-        Cascade c = new Cascade();
-        c.prop = clonedProp;
-        return c;
+        try {
+            Cascade c = (Cascade) super.clone();
+            @SuppressWarnings({ "unchecked", "rawtypes" })
+            Map<String, Object> clonedProp = (Map<String, Object>) ((HashMap) this.prop).clone();
+            c.prop = clonedProp;
+            return c;
+        } catch (CloneNotSupportedException e) {
+            throw new IllegalStateException(e);
+        }
     }
 
     @Override
diff --git a/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java b/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
index 5354921..8789276 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
@@ -280,7 +280,7 @@ public class ElemStyles implements PreferenceChangedListener {
                     }
                     if (!hasIndependentElemStyle && !multipolygon.getOuterWays().isEmpty()) {
                         Color mpColor = null;
-                        StyleElementList mpElemStyles = null;
+                        StyleElementList mpElemStyles;
                         synchronized (ref) {
                             mpElemStyles = get(ref, scale, nc);
                         }
diff --git a/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
index 20ce6a4..3fd8c1e 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
@@ -70,7 +70,7 @@ public interface Instruction extends StyleKeys {
 
         @Override
         public void execute(Environment env) {
-            Object value = null;
+            Object value;
             if (val instanceof Expression) {
                 value = ((Expression) val).evaluate(env);
             } else {
@@ -87,7 +87,7 @@ public interface Instruction extends StyleKeys {
         @Override
         public String toString() {
             return key + ": " + (val instanceof float[] ? Arrays.toString((float[]) val) :
-                val instanceof String ? "String<"+val+'>' : val) + ';';
+                (val instanceof String ? ("String<"+val+'>') : val)) + ';';
         }
     }
 }
diff --git a/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java b/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java
index 9ac3b28..d23ab04 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java
@@ -373,14 +373,13 @@ public class NodeElement extends StyleElement {
         if (!super.equals(obj)) return false;
         NodeElement that = (NodeElement) obj;
         return Objects.equals(mapImage, that.mapImage) &&
-                Objects.equals(mapImageAngle, that.mapImageAngle) &&
-                Objects.equals(symbol, that.symbol);
+               Objects.equals(mapImageAngle, that.mapImageAngle) &&
+               Objects.equals(symbol, that.symbol);
     }
 
     @Override
     public String toString() {
-        StringBuilder s = new StringBuilder(64).append("NodeElemStyle{");
-        s.append(super.toString());
+        StringBuilder s = new StringBuilder(64).append("NodeElemStyle{").append(super.toString());
         if (mapImage != null) {
             s.append(" icon=[" + mapImage + ']');
         }
diff --git a/src/org/openstreetmap/josm/gui/preferences/projection/ProjectionPreference.java b/src/org/openstreetmap/josm/gui/preferences/projection/ProjectionPreference.java
index e732953..1e721a4 100644
--- a/src/org/openstreetmap/josm/gui/preferences/projection/ProjectionPreference.java
+++ b/src/org/openstreetmap/josm/gui/preferences/projection/ProjectionPreference.java
@@ -86,7 +86,7 @@ public class ProjectionPreference implements SubPreferenceSetting {
     /**
      * Lambert conic conform 4 zones using the French geodetic system NTF.
      *
-     * This newer version uses the grid translation NTF<->RGF93 provided by IGN for a submillimetric accuracy.
+     * This newer version uses the grid translation NTF<->RGF93 provided by IGN for a submillimetric accuracy.
      * (RGF93 is the French geodetic system similar to WGS84 but not mathematically equal)
      *
      * Source: http://geodesie.ign.fr/contenu/fichiers/Changement_systeme_geodesique.pdf
@@ -299,8 +299,8 @@ public class ProjectionPreference implements SubPreferenceSetting {
     private JPanel projSubPrefPanel;
     private final JPanel projSubPrefPanelWrapper = new JPanel(new GridBagLayout());
 
-    private JLabel projectionCodeLabel = new JLabel(tr("Projection code"));
-    private Component projectionCodeGlue = GBC.glue(5, 0);
+    private final JLabel projectionCodeLabel = new JLabel(tr("Projection code"));
+    private final Component projectionCodeGlue = GBC.glue(5, 0);
     private final JLabel projectionCode = new JLabel();
     private final JLabel projectionNameLabel = new JLabel(tr("Projection name"));
     private final Component projectionNameGlue = GBC.glue(5, 0);
diff --git a/src/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreference.java b/src/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreference.java
index 43f44ac..1230b02 100644
--- a/src/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreference.java
+++ b/src/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreference.java
@@ -36,7 +36,7 @@ public class OverpassServerPreference implements SubPreferenceSetting {
             Arrays.asList("https://overpass-api.de/api/", "http://overpass.osm.rambler.ru/cgi/"));
     private static final BooleanProperty FOR_MULTI_FETCH = new BooleanProperty("download.overpass.for-multi-fetch", false);
 
-    private HistoryComboBox overpassServer = new HistoryComboBox();
+    private final HistoryComboBox overpassServer = new HistoryComboBox();
     private final JCheckBox forMultiFetch = new JCheckBox(tr("Use Overpass server for object downloads"));
 
     /**
diff --git a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
index 387275f..c46e863 100644
--- a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
+++ b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
@@ -100,7 +100,7 @@ public class AutoCompletingComboBox extends JosmComboBox<AutoCompletionListItem>
             String curText = getText(0, size);
 
             // item for lookup and selection
-            Object item = null;
+            Object item;
             // if the text is a number we don't autocomplete
             if (Main.pref.getBoolean("autocomplete.dont_complete_numbers", true)) {
                 try {
diff --git a/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java b/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java
index 4e87379..6f34c42 100644
--- a/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java
+++ b/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java
@@ -606,7 +606,7 @@ public class MultiSplitLayout implements LayoutManager {
         } else if (root instanceof Split) {
             Split split = (Split) root;
             Iterator<Node> splitChildren = split.getChildren().iterator();
-            Rectangle childBounds = null;
+            Rectangle childBounds;
             int dividerSize = getDividerSize();
 
             /* Layout the Split's child Nodes' along the X axis.  The bounds
@@ -623,7 +623,7 @@ public class MultiSplitLayout implements LayoutManager {
                     Divider dividerChild =
                         splitChildren.hasNext() ? (Divider) (splitChildren.next()) : null;
 
-                    double childWidth = 0.0;
+                    double childWidth;
                     if (getFloatingDividers()) {
                         childWidth = preferredNodeSize(splitChild).getWidth();
                     } else {
diff --git a/src/org/openstreetmap/josm/io/AbstractReader.java b/src/org/openstreetmap/josm/io/AbstractReader.java
index e91bc0a..5f73c1a 100644
--- a/src/org/openstreetmap/josm/io/AbstractReader.java
+++ b/src/org/openstreetmap/josm/io/AbstractReader.java
@@ -139,10 +139,8 @@ public abstract class AbstractReader {
             );
             List<RelationMember> relationMembers = new ArrayList<>();
             for (RelationMemberData rm : entry.getValue()) {
-                OsmPrimitive primitive = null;
-
                 // lookup the member from the map of already created primitives
-                primitive = externalIdMap.get(new SimplePrimitiveId(rm.getMemberId(), rm.getMemberType()));
+                OsmPrimitive primitive = externalIdMap.get(new SimplePrimitiveId(rm.getMemberId(), rm.getMemberType()));
 
                 if (primitive == null) {
                     if (rm.getMemberId() <= 0)
diff --git a/src/org/openstreetmap/josm/io/NMEAImporter.java b/src/org/openstreetmap/josm/io/NMEAImporter.java
index 7f23c7c..b6c22a1 100644
--- a/src/org/openstreetmap/josm/io/NMEAImporter.java
+++ b/src/org/openstreetmap/josm/io/NMEAImporter.java
@@ -67,8 +67,8 @@ public class NMEAImporter extends FileImporter {
     }
 
     private static void showNmeaInfobox(boolean success, NmeaReader r) {
-        final StringBuilder msg = new StringBuilder(160).append("<html>");
-        msg.append(tr("Coordinates imported: {0}", r.getNumberOfCoordinates())).append("<br>")
+        final StringBuilder msg = new StringBuilder(160).append("<html>")
+           .append(tr("Coordinates imported: {0}", r.getNumberOfCoordinates())).append("<br>")
            .append(tr("Malformed sentences: {0}", r.getParserMalformed())).append("<br>")
            .append(tr("Checksum errors: {0}", r.getParserChecksumErrors())).append("<br>");
         if (!success) {
diff --git a/src/org/openstreetmap/josm/io/OsmConnection.java b/src/org/openstreetmap/josm/io/OsmConnection.java
index daa38f4..483eb41 100644
--- a/src/org/openstreetmap/josm/io/OsmConnection.java
+++ b/src/org/openstreetmap/josm/io/OsmConnection.java
@@ -10,7 +10,6 @@ import java.net.URL;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.charset.CharacterCodingException;
-import java.nio.charset.CharsetEncoder;
 import java.nio.charset.StandardCharsets;
 import java.util.Objects;
 import java.util.concurrent.Callable;
@@ -62,9 +61,7 @@ public class OsmConnection {
      * @throws OsmTransferException if something went wrong. Check for nested exceptions
      */
     protected void addBasicAuthorizationHeader(HttpClient con) throws OsmTransferException {
-        CharsetEncoder encoder = StandardCharsets.UTF_8.newEncoder();
         CredentialsAgentResponse response;
-        String token;
         try {
             synchronized (CredentialsManager.getInstance()) {
                 response = CredentialsManager.getInstance().getCredentials(RequestorType.SERVER,
@@ -73,6 +70,7 @@ public class OsmConnection {
         } catch (CredentialsAgentException e) {
             throw new OsmTransferException(e);
         }
+        String token;
         if (response == null) {
             token = ":";
         } else if (response.isCanceled()) {
@@ -83,7 +81,7 @@ public class OsmConnection {
             String password = response.getPassword() == null ? "" : String.valueOf(response.getPassword());
             token = username + ':' + password;
             try {
-                ByteBuffer bytes = encoder.encode(CharBuffer.wrap(token));
+                ByteBuffer bytes = StandardCharsets.UTF_8.newEncoder().encode(CharBuffer.wrap(token));
                 con.setHeader("Authorization", "Basic "+Base64.encode(bytes));
             } catch (CharacterCodingException e) {
                 throw new OsmTransferException(e);
diff --git a/src/org/openstreetmap/josm/io/OsmReader.java b/src/org/openstreetmap/josm/io/OsmReader.java
index dae3d96..5a8b7fd 100644
--- a/src/org/openstreetmap/josm/io/OsmReader.java
+++ b/src/org/openstreetmap/josm/io/OsmReader.java
@@ -315,7 +315,6 @@ public class OsmReader extends AbstractReader {
     }
 
     private RelationMemberData parseRelationMember(Relation r) throws XMLStreamException {
-        String role = null;
         OsmPrimitiveType type = null;
         long id = 0;
         String value = parser.getAttributeValue(null, "ref");
@@ -338,8 +337,7 @@ public class OsmReader extends AbstractReader {
             throwException(tr("Illegal value for attribute ''type'' on member {0} in relation {1}. Got {2}.",
                     Long.toString(id), Long.toString(r.getUniqueId()), value), e);
         }
-        value = parser.getAttributeValue(null, "role");
-        role = value;
+        String role = parser.getAttributeValue(null, "role");
 
         if (id == 0) {
             throwException(tr("Incomplete <member> specification with ref=0"));
diff --git a/src/org/openstreetmap/josm/io/OsmServerLocationReader.java b/src/org/openstreetmap/josm/io/OsmServerLocationReader.java
index ddcac1b..acd2c75 100644
--- a/src/org/openstreetmap/josm/io/OsmServerLocationReader.java
+++ b/src/org/openstreetmap/josm/io/OsmServerLocationReader.java
@@ -5,7 +5,7 @@ import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.openstreetmap.josm.actions.downloadtasks.DownloadGpsTask;
@@ -177,7 +177,7 @@ public class OsmServerLocationReader extends OsmServerReader {
         public List<Note> parse() throws OsmTransferException, IllegalDataException, IOException, SAXException {
             in = getInputStream(url, progressMonitor.createSubTaskMonitor(1, true));
             if (in == null) {
-                return new ArrayList<>();
+                return Collections.emptyList();
             }
             progressMonitor.subTask(tr("Downloading OSM notes..."));
             NoteReader reader = new NoteReader(compression.getUncompressedInputStream(in));
diff --git a/src/org/openstreetmap/josm/io/ProgressOutputStream.java b/src/org/openstreetmap/josm/io/ProgressOutputStream.java
index 65f0e7c..0c3af4b 100644
--- a/src/org/openstreetmap/josm/io/ProgressOutputStream.java
+++ b/src/org/openstreetmap/josm/io/ProgressOutputStream.java
@@ -18,6 +18,7 @@ public class ProgressOutputStream extends OutputStream {
 
     private final StreamProgressUpdater updater;
     private final OutputStream out;
+    private final boolean finishOnClose;
 
     /**
      * Constructs a new {@code ProgressOutputStream}.
@@ -25,13 +26,14 @@ public class ProgressOutputStream extends OutputStream {
      * @param out the stream to monitor
      * @param size the total size which will be sent
      * @param progressMonitor the monitor to report to
+     * @param finishOnClose whether to call {@link ProgressMonitor#finishTask} when this stream is closed
+     * @since 10302
      */
-    public ProgressOutputStream(OutputStream out, long size, ProgressMonitor progressMonitor) {
-        if (progressMonitor == null) {
-            progressMonitor = NullProgressMonitor.INSTANCE;
-        }
-        this.updater = new StreamProgressUpdater(size, progressMonitor, tr("Uploading data ..."));
+    public ProgressOutputStream(OutputStream out, long size, ProgressMonitor progressMonitor, boolean finishOnClose) {
+        this.updater = new StreamProgressUpdater(size,
+                progressMonitor != null ? progressMonitor : NullProgressMonitor.INSTANCE, tr("Uploading data ..."));
         this.out = out;
+        this.finishOnClose = finishOnClose;
     }
 
     @Override
@@ -51,7 +53,9 @@ public class ProgressOutputStream extends OutputStream {
         try {
             out.close();
         } finally {
-            updater.finishTask();
+            if (finishOnClose) {
+                updater.finishTask();
+            }
         }
     }
 }
diff --git a/src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java b/src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java
index d6c7d92..42c98c9 100644
--- a/src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java
+++ b/src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java
@@ -48,7 +48,7 @@ public abstract class AbstractCredentialsAgent implements CredentialsAgent {
                 GuiHelper.runInEDTAndWait(new Runnable() {
                     @Override
                     public void run() {
-                        CredentialDialog dialog = null;
+                        CredentialDialog dialog;
                         if (requestorType.equals(RequestorType.PROXY))
                             dialog = CredentialDialog.getHttpProxyCredentialDialog(
                                     username, password, host, getSaveUsernameAndPasswordCheckboxText());
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java b/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java
index 868c646..1e39e92 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java
@@ -271,10 +271,8 @@ public class AddTagsDialog extends ExtendedDialog {
 
                 @Override
                 public void run() {
-                    String[] tags = null;
-                    tags = Utils.decodeUrl(args.get("addtags")).split("\\|");
                     Set<String> tagSet = new HashSet<>();
-                    for (String tag : tags) {
+                    for (String tag : Utils.decodeUrl(args.get("addtags")).split("\\|")) {
                         if (!tag.trim().isEmpty() && tag.contains("=")) {
                             tagSet.add(tag.trim());
                         }
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
index 868637c..bd71079 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
@@ -215,9 +215,6 @@ public class RemoteControlHttpsServer extends Thread {
      */
     public static Path setupJosmKeystore() throws IOException, GeneralSecurityException {
 
-        char[] storePassword = KEYSTORE_PASSWORD.get().toCharArray();
-        char[] entryPassword = KEYENTRY_PASSWORD.get().toCharArray();
-
         Path dir = Paths.get(RemoteControl.getRemoteControlDir());
         Path path = dir.resolve(KEYSTORE_FILENAME);
         Files.createDirectories(dir);
@@ -248,8 +245,8 @@ public class RemoteControlHttpsServer extends Thread {
             KEYSTORE_PASSWORD.put(new BigInteger(130, random).toString(32));
             KEYENTRY_PASSWORD.put(new BigInteger(130, random).toString(32));
 
-            storePassword = KEYSTORE_PASSWORD.get().toCharArray();
-            entryPassword = KEYENTRY_PASSWORD.get().toCharArray();
+            char[] storePassword = KEYSTORE_PASSWORD.get().toCharArray();
+            char[] entryPassword = KEYENTRY_PASSWORD.get().toCharArray();
 
             ks.setKeyEntry(ENTRY_ALIAS, pair.getPrivate(), entryPassword, new Certificate[]{cert});
             ks.store(Files.newOutputStream(path, StandardOpenOption.CREATE), storePassword);
diff --git a/src/org/openstreetmap/josm/tools/AudioPlayer.java b/src/org/openstreetmap/josm/tools/AudioPlayer.java
index 24029fe..2ddb565 100644
--- a/src/org/openstreetmap/josm/tools/AudioPlayer.java
+++ b/src/org/openstreetmap/josm/tools/AudioPlayer.java
@@ -301,12 +301,11 @@ public final class AudioPlayer extends Thread {
                                     offset != 0) {
                                 if (audioInputStream != null) {
                                     Utils.close(audioInputStream);
-                                    audioInputStream = null;
                                 }
                                 playingUrl = command.url();
                                 audioInputStream = AudioSystem.getAudioInputStream(playingUrl);
                                 audioFormat = audioInputStream.getFormat();
-                                long nBytesRead = 0;
+                                long nBytesRead;
                                 position = 0.0;
                                 offset -= leadIn;
                                 double calibratedOffset = offset * calibration;
diff --git a/src/org/openstreetmap/josm/tools/CopyList.java b/src/org/openstreetmap/josm/tools/CopyList.java
index 2ef50aa..3568068 100644
--- a/src/org/openstreetmap/josm/tools/CopyList.java
+++ b/src/org/openstreetmap/josm/tools/CopyList.java
@@ -17,7 +17,7 @@ import java.util.RandomAccess;
  * @author nenik
  * @param <E> the type of elements in this list
  */
-public final class CopyList<E> extends AbstractList<E> implements RandomAccess, Cloneable {
+public final class CopyList<E> extends AbstractList<E> implements RandomAccess {
     private E[] array;
     private int size;
     private boolean pristine;
@@ -112,16 +112,6 @@ public final class CopyList<E> extends AbstractList<E> implements RandomAccess,
     }
 
     // helpers:
-    /**
-     * Returns another independent copy-on-write copy of this <tt>List</tt>
-     * instance. Neither the elements nor the backing storage are copied.
-     *
-     * @return a clone of this <tt>CopyList</tt> instance
-     */
-    @Override
-    public Object clone() {
-        return new CopyList<>(array, size);
-    }
 
     private void rangeCheck(int index) {
         if (index >= size || index < 0) throw new IndexOutOfBoundsException("Index:" + index + " Size:" + size);
@@ -175,6 +165,9 @@ public final class CopyList<E> extends AbstractList<E> implements RandomAccess,
 
         @Override
         public E next() {
+            if (!hasNext()) {
+                throw new NoSuchElementException();
+            }
             checkForComodification();
             try {
                 E next = array[cursor];
diff --git a/src/org/openstreetmap/josm/tools/Diff.java b/src/org/openstreetmap/josm/tools/Diff.java
index ff3f500..b7dad91 100644
--- a/src/org/openstreetmap/josm/tools/Diff.java
+++ b/src/org/openstreetmap/josm/tools/Diff.java
@@ -115,8 +115,6 @@ public class Diff {
     private int fdiagoff, bdiagoff;
     private final FileData[] filevec;
     private int cost;
-    /** Snakes bigger than this are considered "big". */
-    private static final int SNAKE_LIMIT = 20;
 
     /**
      * Find the midpoint of the shortest edit script for a specified
@@ -167,7 +165,6 @@ public class Diff {
 
         for (int c = 1;; ++c) {
             int d;          /* Active diagonal. */
-            boolean bigSnake = false;
 
             /* Extend the top-down search by an edit step in each diagonal. */
             if (fmin > dmin) {
@@ -181,21 +178,17 @@ public class Diff {
                 --fmax;
             }
             for (d = fmax; d >= fmin; d -= 2) {
-                int x, y, oldx, tlo = fd[fdiagoff + d - 1], thi = fd[fdiagoff + d + 1];
+                int x, y, tlo = fd[fdiagoff + d - 1], thi = fd[fdiagoff + d + 1];
 
                 if (tlo >= thi) {
                     x = tlo + 1;
                 } else {
                     x = thi;
                 }
-                oldx = x;
                 y = x - d;
                 while (x < xlim && y < ylim && xv[x] == yv[y]) {
                     ++x; ++y;
                 }
-                if (x - oldx > SNAKE_LIMIT) {
-                    bigSnake = true;
-                }
                 fd[fdiagoff + d] = x;
                 if (odd && bmin <= d && d <= bmax && bd[bdiagoff + d] <= fd[fdiagoff + d]) {
                     cost = 2 * c - 1;
@@ -215,21 +208,17 @@ public class Diff {
                 --bmax;
             }
             for (d = bmax; d >= bmin; d -= 2) {
-                int x, y, oldx, tlo = bd[bdiagoff + d - 1], thi = bd[bdiagoff + d + 1];
+                int x, y, tlo = bd[bdiagoff + d - 1], thi = bd[bdiagoff + d + 1];
 
                 if (tlo < thi) {
                     x = tlo;
                 } else {
                     x = thi - 1;
                 }
-                oldx = x;
                 y = x - d;
                 while (x > xoff && y > yoff && xv[x - 1] == yv[y - 1]) {
                     --x; --y;
                 }
-                if (oldx - x > SNAKE_LIMIT) {
-                    bigSnake = true;
-                }
                 bd[bdiagoff + d] = x;
                 if (!odd && fmin <= d && d <= fmax && bd[bdiagoff + d] <= fd[fdiagoff + d]) {
                     cost = 2 * c;
diff --git a/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java b/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java
index 821c984..18680a2 100644
--- a/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java
+++ b/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java
@@ -72,7 +72,7 @@ public class GeoPropertyIndex<T> {
     }
 
     public static int index(LatLon ll, int level) {
-        long noParts = 1 << level;
+        long noParts = 1L << level;
         long x = ((long) ((ll.lon() + 180.0) * noParts / 360.0)) & 1;
         long y = ((long) ((ll.lat() + 90.0) * noParts / 180.0)) & 1;
         return (int) (2 * x + y);
diff --git a/src/org/openstreetmap/josm/tools/HttpClient.java b/src/org/openstreetmap/josm/tools/HttpClient.java
index ecbff4b..18dac82 100644
--- a/src/org/openstreetmap/josm/tools/HttpClient.java
+++ b/src/org/openstreetmap/josm/tools/HttpClient.java
@@ -51,6 +51,7 @@ public final class HttpClient {
     private String reasonForRequest;
     private HttpURLConnection connection; // to allow disconnecting before `response` is set
     private Response response;
+    private boolean finishOnCloseOutput = true;
 
     static {
         CookieHandler.setDefault(new CookieManager());
@@ -110,7 +111,7 @@ public final class HttpClient {
             connection.setFixedLengthStreamingMode(requestBody.length);
             connection.setDoOutput(true);
             try (OutputStream out = new BufferedOutputStream(
-                    new ProgressOutputStream(connection.getOutputStream(), requestBody.length, progressMonitor))) {
+                    new ProgressOutputStream(connection.getOutputStream(), requestBody.length, progressMonitor, finishOnCloseOutput))) {
                 out.write(requestBody);
             }
         }
@@ -597,6 +598,17 @@ public final class HttpClient {
         return this;
     }
 
+    /**
+     * Sets whether the progress monitor task will be finished when the output stream is closed. This is {@code true} by default.
+     * @param finishOnCloseOutput whether the progress monitor task will be finished when the output stream is closed
+     * @return {@code this}
+     * @since 10302
+     */
+    public HttpClient setFinishOnCloseOutput(boolean finishOnCloseOutput) {
+        this.finishOnCloseOutput = finishOnCloseOutput;
+        return this;
+    }
+
     private static boolean isRedirect(final int statusCode) {
         switch (statusCode) {
             case HttpURLConnection.HTTP_MOVED_PERM: // 301
diff --git a/src/org/openstreetmap/josm/tools/ImageProvider.java b/src/org/openstreetmap/josm/tools/ImageProvider.java
index a95a1cb..00f84ab 100644
--- a/src/org/openstreetmap/josm/tools/ImageProvider.java
+++ b/src/org/openstreetmap/josm/tools/ImageProvider.java
@@ -873,7 +873,7 @@ public class ImageProvider {
             String mediatype = m.group(1);
             if ("image/svg+xml".equals(mediatype)) {
                 String s = new String(bytes, StandardCharsets.UTF_8);
-                SVGDiagram svg = null;
+                SVGDiagram svg;
                 synchronized (getSvgUniverse()) {
                     URI uri = getSvgUniverse().loadSVG(new StringReader(s), Utils.encodeUrl(s));
                     svg = getSvgUniverse().getDiagram(uri);
@@ -1002,7 +1002,7 @@ public class ImageProvider {
     private static ImageResource getIfAvailableLocalURL(URL path, ImageType type) {
         switch (type) {
         case SVG:
-            SVGDiagram svg = null;
+            SVGDiagram svg;
             synchronized (getSvgUniverse()) {
                 URI uri = getSvgUniverse().loadSVG(path);
                 svg = getSvgUniverse().getDiagram(uri);
@@ -1048,7 +1048,7 @@ public class ImageProvider {
     }
 
     private static URL getImageUrl(String imageName, Collection<String> dirs, Collection<ClassLoader> additionalClassLoaders) {
-        URL u = null;
+        URL u;
 
         // Try passed directories first
         if (dirs != null) {
@@ -1224,7 +1224,7 @@ public class ImageProvider {
             originalAngle = 360L;
         }
 
-        ImageResource imageResource = null;
+        ImageResource imageResource;
 
         synchronized (ROTATE_CACHE) {
             Map<Long, ImageResource> cacheByAngle = ROTATE_CACHE.get(img);
diff --git a/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java b/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
index 026e0c6..1617f32 100644
--- a/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
+++ b/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
@@ -236,7 +236,7 @@ public class PlatformHookUnixoid implements PlatformHook {
             boolean rpm  = Files.exists(Paths.get("/bin/rpm"));
             if (dpkg || rpm || eque) {
                 for (String packageName : packageNames) {
-                    String[] args = null;
+                    String[] args;
                     if (dpkg) {
                         args = new String[] {"dpkg-query", "--show", "--showformat", "${Architecture}-${Version}", packageName};
                     } else if (eque) {
diff --git a/src/org/openstreetmap/josm/tools/TextTagParser.java b/src/org/openstreetmap/josm/tools/TextTagParser.java
index 9215d1d..fe78e25 100644
--- a/src/org/openstreetmap/josm/tools/TextTagParser.java
+++ b/src/org/openstreetmap/josm/tools/TextTagParser.java
@@ -174,7 +174,8 @@ public final class TextTagParser {
          String[] lines = text.split(splitRegex);
          Pattern p = Pattern.compile(tagRegex);
          Map<String, String> tags = new HashMap<>();
-         String k = null, v = null;
+         String k;
+         String v;
          for (String  line: lines) {
             if (line.trim().isEmpty()) continue; // skip empty lines
             Matcher m = p.matcher(line);
diff --git a/src/org/openstreetmap/josm/tools/Utils.java b/src/org/openstreetmap/josm/tools/Utils.java
index 7a85389..10fc99e 100644
--- a/src/org/openstreetmap/josm/tools/Utils.java
+++ b/src/org/openstreetmap/josm/tools/Utils.java
@@ -394,7 +394,7 @@ public final class Utils {
         if (array != null) {
             return Arrays.copyOf(array, array.length);
         }
-        return null;
+        return array;
     }
 
     /**
@@ -407,7 +407,7 @@ public final class Utils {
         if (array != null) {
             return Arrays.copyOf(array, array.length);
         }
-        return null;
+        return array;
     }
 
     /**
@@ -420,7 +420,7 @@ public final class Utils {
         if (array != null) {
             return Arrays.copyOf(array, array.length);
         }
-        return null;
+        return array;
     }
 
     /**
diff --git a/src/org/openstreetmap/josm/tools/bugreport/DebugTextDisplay.java b/src/org/openstreetmap/josm/tools/bugreport/DebugTextDisplay.java
index a0e2841..28f88ac 100644
--- a/src/org/openstreetmap/josm/tools/bugreport/DebugTextDisplay.java
+++ b/src/org/openstreetmap/josm/tools/bugreport/DebugTextDisplay.java
@@ -14,7 +14,7 @@ import org.openstreetmap.josm.tools.Utils;
  * @since 10055
  */
 public class DebugTextDisplay extends JScrollPane {
-    private String text;
+    private final String text;
 
     /**
      * Creates a new text are with the fixed text
diff --git a/src/org/openstreetmap/josm/tools/bugreport/ReportedException.java b/src/org/openstreetmap/josm/tools/bugreport/ReportedException.java
index 41bf1ba..1fe31ca 100644
--- a/src/org/openstreetmap/josm/tools/bugreport/ReportedException.java
+++ b/src/org/openstreetmap/josm/tools/bugreport/ReportedException.java
@@ -209,9 +209,9 @@ public class ReportedException extends RuntimeException {
             if (lines <= MAX_COLLECTION_ENTRIES) {
                 str.append(e);
             } else {
-                str.append("\n    ... (");
-                str.append(value.size());
-                str.append(" entries)");
+                str.append("\n    ... (")
+                   .append(value.size())
+                   .append(" entries)");
                 break;
             }
         }
@@ -250,8 +250,8 @@ public class ReportedException extends RuntimeException {
 
     private static class Section {
 
-        private String sectionName;
-        private ArrayList<SectionEntry> entries = new ArrayList<>();
+        private final String sectionName;
+        private final ArrayList<SectionEntry> entries = new ArrayList<>();
 
         Section(String sectionName) {
             this.sectionName = sectionName;
diff --git a/src/org/openstreetmap/josm/tools/template_engine/SearchExpressionCondition.java b/src/org/openstreetmap/josm/tools/template_engine/SearchExpressionCondition.java
index 423216a..622ad54 100644
--- a/src/org/openstreetmap/josm/tools/template_engine/SearchExpressionCondition.java
+++ b/src/org/openstreetmap/josm/tools/template_engine/SearchExpressionCondition.java
@@ -25,6 +25,6 @@ public class SearchExpressionCondition implements TemplateEntry {
 
     @Override
     public String toString() {
-        return condition.toString() + " '" + text + '\'';
+        return condition + " '" + text + '\'';
     }
 }
diff --git a/test/functional/org/openstreetmap/josm/tools/HttpClientTest.java b/test/functional/org/openstreetmap/josm/tools/HttpClientTest.java
index 2455ce3..f54bbbf 100644
--- a/test/functional/org/openstreetmap/josm/tools/HttpClientTest.java
+++ b/test/functional/org/openstreetmap/josm/tools/HttpClientTest.java
@@ -100,6 +100,7 @@ public class HttpClientTest {
         final HttpClient.Response response = HttpClient.create(new URL("https://httpbin.org/post"), "POST")
                 .setHeader("Content-Type", "text/plain")
                 .setRequestBody(text.getBytes(StandardCharsets.UTF_8))
+                .setFinishOnCloseOutput(false) // to fix #12583, not sure if it's the best way to do it
                 .connect(progress);
         assertThat(response.getResponseCode(), is(200));
         try (final InputStream in = response.getContent();
@@ -113,6 +114,7 @@ public class HttpClientTest {
         final HttpClient.Response response = HttpClient.create(new URL("https://httpbin.org/post"), "POST")
                 .setHeader("Content-Type", "text/plain")
                 .setRequestBody("".getBytes(StandardCharsets.UTF_8))
+                .setFinishOnCloseOutput(false) // to fix #12583, not sure if it's the best way to do it
                 .connect(progress);
         assertThat(response.getResponseCode(), is(200));
         try (final InputStream in = response.getContent();
diff --git a/test/unit/org/openstreetmap/josm/gui/layer/NativeScaleLayerTest.java b/test/unit/org/openstreetmap/josm/gui/layer/NativeScaleLayerTest.java
index 85effc2..8d64417 100644
--- a/test/unit/org/openstreetmap/josm/gui/layer/NativeScaleLayerTest.java
+++ b/test/unit/org/openstreetmap/josm/gui/layer/NativeScaleLayerTest.java
@@ -28,6 +28,5 @@ public class NativeScaleLayerTest {
     @Test
     public void testTicket12255() {
         assertNull(new NativeScaleLayer.ScaleList(Collections.<Double>emptyList()).getSnapScale(10, 2, false));
-        assertNull(new NativeScaleLayer.ScaleList(new double[0]).getSnapScale(10, 2, false));
     }
 }
diff --git a/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTestIT.java b/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTestIT.java
index e6b7272..6f05834 100644
--- a/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTestIT.java
+++ b/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTestIT.java
@@ -89,8 +89,9 @@ public class MapPaintPreferenceTestIT {
                     if (!warnings.isEmpty()) {
                         allWarnings.put(source.url, warnings);
                     }
-                } else if (!source.url.contains("www.freietonne.de")) {
+                } else if (!source.url.contains("www.freietonne.de") && !source.url.contains("yopaseopor/traffic_signs")) {
                     // ignore frequent network errors with www.freietonne.de causing too much Jenkins failures
+                    // also ignore https://github.com/yopaseopor/traffic_signs_style_JOSM because of far too frequent missing icons errors
                     allWarnings.put(source.url, Collections.singleton("MapPaintStyles.addStyle() returned null"));
                 }
             }
diff --git a/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTestIT.java b/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTestIT.java
index 1324468..a37ff93 100644
--- a/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTestIT.java
+++ b/test/unit/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreferenceTestIT.java
@@ -69,7 +69,8 @@ public class TaggingPresetPreferenceTestIT {
                 } catch (SAXException | IOException e1) {
                     e.printStackTrace();
                     // ignore frequent network errors with www.freietonne.de causing too much Jenkins failures
-                    if (!source.url.contains("www.freietonne.de")) {
+                    // also ignore https://github.com/yopaseopor/traffic_signs_preset_JOSM because of far too frequent missing icons errors
+                    if (!source.url.contains("www.freietonne.de") && !source.url.contains("yopaseopor/traffic_signs")) {
                         allErrors.add(e1);
                     }
                     System.out.println(" => KO");
diff --git a/test/unit/org/openstreetmap/josm/io/CertificateAmendmentTest.java b/test/unit/org/openstreetmap/josm/io/CertificateAmendmentTest.java
index 0b64c42..64b5089 100644
--- a/test/unit/org/openstreetmap/josm/io/CertificateAmendmentTest.java
+++ b/test/unit/org/openstreetmap/josm/io/CertificateAmendmentTest.java
@@ -43,7 +43,8 @@ public class CertificateAmendmentTest {
     public void testLetsEncrypt() throws IOException {
         // signed by letsencrypt's own ISRG root
         // (not included yet)
-        connect("https://helloworld.letsencrypt.org", false);
+        // TODO: they switched to cross-sign CA, re-enable it if ISRG root is used again
+        // connect("https://helloworld.letsencrypt.org", false);
         // signed by letsencrypt's cross-sign CA
         connect("https://letsencrypt.org", true);
         // signed by letsencrypt's cross-sign CA, requires SNI

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/josm.git



More information about the Pkg-grass-devel mailing list