[josm] 01/11: Imported Upstream version 0.0.svn7906+dfsg1

Bas Couwenberg sebastic at xs4all.nl
Mon Dec 29 23:09:06 UTC 2014


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

sebastic-guest pushed a commit to branch master
in repository josm.

commit 4adb53ec0103702ce2dbfb2e7d7ae86847c9620e
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Mon Dec 29 22:01:55 2014 +0100

    Imported Upstream version 0.0.svn7906+dfsg1
---
 .classpath                                         |    4 +-
 CONTRIBUTION                                       |    4 +-
 README                                             |   34 +-
 REVISION                                           |    8 +-
 build.xml                                          |   16 +-
 data/defaultpresets.xml                            |  102 +-
 data/validator/combinations.mapcss                 |   22 +-
 data/validator/deprecated.mapcss                   |   19 +-
 data/validator/geometry.mapcss                     |   49 +
 data/validator/highway.mapcss                      |   29 +-
 data/validator/multiple.mapcss                     |   35 +-
 data/validator/numeric.mapcss                      |   15 +-
 i18n/launchpad.pl                                  |    6 +-
 i18n/po/af.po                                      |  188 +-
 i18n/po/am.po                                      |  188 +-
 i18n/po/ar.po                                      |  190 +-
 i18n/po/ast.po                                     | 2894 +++++++++--------
 i18n/po/az.po                                      |  188 +-
 i18n/po/be.po                                      |  188 +-
 i18n/po/bg.po                                      |  192 +-
 i18n/po/bn.po                                      |  188 +-
 i18n/po/br.po                                      |  188 +-
 i18n/po/bs.po                                      |  188 +-
 i18n/po/ca.po                                      |  233 +-
 i18n/po/ca at valencia.po                             |  206 +-
 i18n/po/cs.po                                      |  229 +-
 i18n/po/cy.po                                      |  188 +-
 i18n/po/da.po                                      | 1723 +++++-----
 i18n/po/de.po                                      |  242 +-
 i18n/po/de_DE.po                                   |  188 +-
 i18n/po/el.po                                      |  196 +-
 i18n/po/en_AU.po                                   |  196 +-
 i18n/po/en_CA.po                                   |  188 +-
 i18n/po/en_GB.po                                   |  210 +-
 i18n/po/eo.po                                      |  190 +-
 i18n/po/es.po                                      |  269 +-
 i18n/po/et.po                                      |  190 +-
 i18n/po/eu.po                                      |  194 +-
 i18n/po/fa.po                                      |  188 +-
 i18n/po/fi.po                                      |  204 +-
 i18n/po/fil.po                                     |  188 +-
 i18n/po/fr.po                                      |  224 +-
 i18n/po/gl.po                                      |  198 +-
 i18n/po/he.po                                      |  190 +-
 i18n/po/hi.po                                      |  188 +-
 i18n/po/hr.po                                      |  188 +-
 i18n/po/ht.po                                      |  188 +-
 i18n/po/hu.po                                      |  208 +-
 i18n/po/hy.po                                      |  188 +-
 i18n/po/ia.po                                      |  188 +-
 i18n/po/id.po                                      |  206 +-
 i18n/po/is.po                                      |  190 +-
 i18n/po/it.po                                      |  211 +-
 i18n/po/ja.po                                      |  212 +-
 i18n/po/ka.po                                      |  188 +-
 i18n/po/km.po                                      | 3354 ++++++++++++--------
 i18n/po/ko.po                                      |  188 +-
 i18n/po/ky.po                                      |  188 +-
 i18n/po/lo.po                                      |  188 +-
 i18n/po/lt.po                                      |  196 +-
 i18n/po/lv.po                                      |  188 +-
 i18n/po/mk.po                                      |  188 +-
 i18n/po/ms.po                                      |  188 +-
 i18n/po/nb.po                                      |  192 +-
 i18n/po/nds.po                                     |  188 +-
 i18n/po/nl.po                                      |  210 +-
 i18n/po/nn.po                                      |  188 +-
 i18n/po/oc.po                                      |  188 +-
 i18n/po/pa.po                                      |  188 +-
 i18n/po/pl.po                                      |  362 ++-
 i18n/po/pt.po                                      |  206 +-
 i18n/po/pt_BR.po                                   |  235 +-
 i18n/po/rm.po                                      |  188 +-
 i18n/po/ro.po                                      |  188 +-
 i18n/po/ru.po                                      |  248 +-
 i18n/po/sk.po                                      |  394 ++-
 i18n/po/sl.po                                      |  188 +-
 i18n/po/sq.po                                      |  188 +-
 i18n/po/sr.po                                      |  188 +-
 i18n/po/sv.po                                      |  248 +-
 i18n/po/ta.po                                      |  190 +-
 i18n/po/te.po                                      |  188 +-
 i18n/po/th.po                                      |  188 +-
 i18n/po/tr.po                                      |  190 +-
 i18n/po/ug.po                                      |  188 +-
 i18n/po/uk.po                                      | 1938 +++++------
 i18n/po/ur.po                                      |  188 +-
 i18n/po/vi.po                                      |  188 +-
 i18n/po/zh_CN.po                                   |  235 +-
 i18n/po/zh_TW.po                                   |  230 +-
 images/presets/cattle_grid.png                     |  Bin 459 -> 0 bytes
 images/presets/motorway_exit.png                   |  Bin 856 -> 0 bytes
 images/presets/stile.png                           |  Bin 291 -> 0 bytes
 images/presets/traffic-light.png                   |  Bin 322 -> 0 bytes
 linux/latest/usr/share/man/man1/josm-latest.1      |   19 +-
 linux/tested/usr/share/man/man1/josm.1             |   19 +-
 src/org/openstreetmap/josm/Main.java               |   97 +-
 .../josm/actions/AlignInLineAction.java            |  148 +-
 .../josm/actions/AutoScaleAction.java              |    4 +-
 .../josm/actions/DistributeAction.java             |    2 +-
 .../josm/actions/ImageryAdjustAction.java          |   50 +-
 src/org/openstreetmap/josm/actions/InfoAction.java |   10 +-
 .../openstreetmap/josm/actions/InfoWebAction.java  |    7 +
 .../josm/actions/JoinNodeWayAction.java            |   22 +-
 src/org/openstreetmap/josm/actions/JosmAction.java |    1 -
 .../openstreetmap/josm/actions/JumpToAction.java   |    2 +
 .../josm/actions/LassoModeAction.java              |    7 +
 .../josm/actions/MapRectifierWMSmenuAction.java    |   22 +-
 .../josm/actions/MergeLayerAction.java             |    2 +-
 .../josm/actions/MergeNodesAction.java             |   15 +-
 .../josm/actions/MergeSelectionAction.java         |   33 +-
 .../openstreetmap/josm/actions/MirrorAction.java   |    3 +-
 src/org/openstreetmap/josm/actions/MoveAction.java |   14 +-
 .../openstreetmap/josm/actions/MoveNodeAction.java |    3 +
 .../openstreetmap/josm/actions/OpenFileAction.java |   12 +-
 .../josm/actions/OpenLocationAction.java           |   12 +-
 .../josm/actions/OrthogonalizeAction.java          |   12 +-
 .../josm/actions/SelectByInternalPointAction.java  |   12 +-
 .../actions/downloadtasks/DownloadOsmTask.java     |   22 +-
 .../josm/actions/mapmode/AddNoteAction.java        |    9 +-
 .../josm/actions/upload/FixDataHook.java           |    4 +-
 .../josm/corrector/ReverseWayNoTagCorrector.java   |   20 +-
 src/org/openstreetmap/josm/data/AutosaveTask.java  |   10 +-
 .../josm/data/CustomConfigurator.java              |   28 +-
 src/org/openstreetmap/josm/data/Preferences.java   |  181 +-
 .../openstreetmap/josm/data/ProjectionBounds.java  |    3 +
 src/org/openstreetmap/josm/data/ViewportData.java  |   36 +-
 .../josm/data/osm/AbstractPrimitive.java           |    6 +-
 src/org/openstreetmap/josm/data/osm/DataSet.java   |   14 +
 .../josm/data/osm/DatasetConsistencyTest.java      |    2 +-
 src/org/openstreetmap/josm/data/osm/Node.java      |    9 +-
 src/org/openstreetmap/josm/data/osm/NoteData.java  |   76 +
 .../josm/data/osm/OsmPrimitiveType.java            |   11 +-
 src/org/openstreetmap/josm/data/osm/OsmUtils.java  |    3 +-
 src/org/openstreetmap/josm/data/osm/Relation.java  |    2 +-
 .../josm/data/osm/RelationMember.java              |    7 +-
 src/org/openstreetmap/josm/data/osm/Way.java       |    4 +-
 .../josm/data/osm/visitor/BoundingXYVisitor.java   |    5 +-
 .../data/osm/visitor/paint/StyledMapRenderer.java  |    7 +-
 .../josm/data/validation/OsmValidator.java         |   10 +-
 .../josm/data/validation/TestError.java            |    2 +-
 .../data/validation/routines/DomainValidator.java  |  565 +++-
 .../data/validation/routines/EmailValidator.java   |    5 +-
 .../validation/routines/InetAddressValidator.java  |    1 +
 .../data/validation/routines/RegexValidator.java   |    1 +
 .../data/validation/routines/UrlValidator.java     |    8 +-
 .../josm/data/validation/tests/Highways.java       |    8 +-
 .../josm/data/validation/tests/InternetTags.java   |  111 +-
 .../josm/data/validation/tests/Lanes.java          |   10 +-
 .../data/validation/tests/MapCSSTagChecker.java    |   97 +-
 .../data/validation/tests/RelationChecker.java     |  259 +-
 .../data/validation/tests/SimilarNamedWays.java    |  162 +-
 src/org/openstreetmap/josm/gui/ExtendedDialog.java |    2 +-
 .../openstreetmap/josm/gui/MainApplication.java    |   30 +-
 src/org/openstreetmap/josm/gui/MapFrame.java       |    6 +-
 src/org/openstreetmap/josm/gui/MapStatus.java      |    6 +-
 src/org/openstreetmap/josm/gui/MapView.java        |   61 +-
 .../josm/gui/NavigatableComponent.java             |   74 +-
 src/org/openstreetmap/josm/gui/NoteSortDialog.java |   88 +
 .../josm/gui/conflict/pair/ListMergeModel.java     |    2 +-
 .../tags/MultiValueResolutionDecision.java         |    6 +-
 .../josm/gui/dialogs/ChangesetDialog.java          |    2 +-
 .../josm/gui/dialogs/DialogsPanel.java             |    6 +-
 .../josm/gui/dialogs/InspectPrimitiveDialog.java   |    6 +-
 .../josm/gui/dialogs/MapPaintDialog.java           |    5 +-
 .../dialogs/{NoteDialog.java => NotesDialog.java}  |   65 +-
 .../josm/gui/dialogs/OsmIdSelectionDialog.java     |   45 +-
 .../josm/gui/dialogs/SelectionListDialog.java      |   50 +-
 .../changeset/query/ChangesetQueryDialog.java      |    2 +-
 .../gui/dialogs/properties/PropertiesDialog.java   |    3 +
 .../josm/gui/dialogs/properties/TagEditHelper.java |    1 +
 .../dialogs/relation/GenericRelationEditor.java    |   25 +-
 .../josm/gui/download/DownloadDialog.java          |    4 +-
 src/org/openstreetmap/josm/gui/help/HelpUtil.java  |    8 +-
 .../josm/gui/history/TagInfoViewer.java            |    2 +
 .../josm/gui/history/TagTableColumnModel.java      |   11 +-
 .../io/DownloadPrimitivesWithReferrersTask.java    |    2 +-
 .../josm/gui/io/UploadStrategySelectionPanel.java  |    2 -
 .../openstreetmap/josm/gui/layer/NoteLayer.java    |   33 +-
 src/org/openstreetmap/josm/gui/layer/TMSLayer.java |   68 +-
 .../gui/layer/geoimage/CorrelateGpxWithImages.java |    2 +-
 .../josm/gui/layer/geoimage/GeoImageLayer.java     |   13 +
 .../josm/gui/layer/geoimage/ImageViewerDialog.java |   25 +-
 .../josm/gui/layer/geoimage/ThumbsLoader.java      |   11 +-
 .../openstreetmap/josm/gui/mappaint/Cascade.java   |    2 +-
 .../josm/gui/mappaint/MapPaintStyles.java          |   11 +
 .../josm/gui/mappaint/NodeElemStyle.java           |    4 +-
 src/org/openstreetmap/josm/gui/mappaint/Range.java |   14 +-
 .../josm/gui/mappaint/StyleCache.java              |    4 +-
 .../josm/gui/mappaint/mapcss/Instruction.java      |    3 +-
 .../josm/gui/mappaint/mapcss/MapCSSRule.java       |   10 +
 .../josm/gui/mappaint/mapcss/Selector.java         |    9 +-
 .../josm/gui/mappaint/xml/XmlCondition.java        |    5 +-
 .../preferences/advanced/AdvancedPreference.java   |    2 +-
 .../gui/preferences/imagery/ImageryPreference.java |   45 +-
 .../projection/AbstractProjectionChoice.java       |    2 +-
 .../projection/CodeProjectionChoice.java           |    2 +-
 .../projection/CustomProjectionChoice.java         |    2 +-
 .../projection/ListProjectionChoice.java           |    2 +-
 .../projection/UTMProjectionChoice.java            |    2 +-
 .../josm/gui/preferences/shortcut/PrefJPanel.java  |    2 +-
 .../josm/gui/tagging/TagEditorModel.java           |    6 +-
 .../josm/gui/tagging/TaggingPresetItems.java       |    6 +-
 .../josm/gui/tagging/TaggingPresetReader.java      |   38 +-
 .../gui/tagging/ac/AutoCompletingComboBox.java     |    7 +-
 .../josm/gui/tagging/ac/AutoCompletionList.java    |   13 +-
 .../gui/tagging/ac/AutoCompletionListItem.java     |    7 +-
 src/org/openstreetmap/josm/gui/util/GuiHelper.java |   45 +
 .../josm/gui/widgets/EditableList.java             |   20 +-
 .../josm/gui/widgets/JosmComboBox.java             |   22 +-
 .../josm/gui/widgets/JosmEditorPane.java           |    7 +-
 .../josm/gui/widgets/MultiSplitLayout.java         |   13 +-
 src/org/openstreetmap/josm/io/CachedFile.java      |   18 +-
 src/org/openstreetmap/josm/io/Compression.java     |    6 +-
 src/org/openstreetmap/josm/io/GpxExporter.java     |    6 +-
 src/org/openstreetmap/josm/io/GpxReader.java       |    3 -
 src/org/openstreetmap/josm/io/NoteImporter.java    |   31 +-
 .../josm/io/OsmChangesetContentParser.java         |    8 +-
 src/org/openstreetmap/josm/io/OsmImporter.java     |   17 +-
 src/org/openstreetmap/josm/io/OsmReader.java       |   15 +-
 .../josm/io/remotecontrol/DNSName.java             |    2 +
 .../josm/io/remotecontrol/RemoteControl.java       |   20 +-
 .../io/remotecontrol/RemoteControlHttpServer.java  |   11 +-
 .../io/remotecontrol/RemoteControlHttpsServer.java |   14 +-
 .../io/remotecontrol/handler/ImageryHandler.java   |   35 +-
 .../remotecontrol/handler/LoadAndZoomHandler.java  |    2 +-
 src/org/openstreetmap/josm/tools/Diff.java         |    1 -
 src/org/openstreetmap/josm/tools/ExifReader.java   |    2 +-
 src/org/openstreetmap/josm/tools/Geometry.java     |   32 +-
 src/org/openstreetmap/josm/tools/I18n.java         |  131 +-
 .../openstreetmap/josm/tools/ImageProvider.java    |   43 +-
 .../openstreetmap/josm/tools/ImageResource.java    |    4 +-
 src/org/openstreetmap/josm/tools/PlatformHook.java |   21 +
 .../openstreetmap/josm/tools/PlatformHookOsx.java  |   71 +-
 .../josm/tools/PlatformHookUnixoid.java            |   16 +
 .../josm/tools/PlatformHookWindows.java            |   15 +
 .../openstreetmap/josm/tools/TextTagParser.java    |    2 +-
 src/org/openstreetmap/josm/tools/Utils.java        |  128 +-
 .../openstreetmap/josm/tools/XmlObjectParser.java  |   14 +
 styles/standard/elemstyles.mapcss                  |  137 +-
 .../josm/actions/AlignInLineActionTest.java        |  191 ++
 .../data/validation/tests/InternetTagsTest.java    |   79 +
 .../validation/tests/RelationCheckerTest.groovy    |   15 +-
 .../validation/tests/SimilarNamedWaysTest.groovy   |  107 +
 .../org/openstreetmap/josm/tools/GeometryTest.java |   52 +
 .../josm/tools/TextTagParserTest.java              |    4 +-
 windows/README.txt                                 |   66 +
 windows/josm-nsis-brand.bmp                        |  Bin 0 -> 154542 bytes
 windows/josm-setup-unix.sh                         |  151 +
 windows/josm.nsi                                   |  471 +++
 windows/langmacros.nsh                             |   84 +
 windows/launch4j.xml                               |   35 +
 windows/locale/english.nsh                         |   51 +
 windows/locale/french.nsh                          |   51 +
 windows/locale/german.nsh                          |   51 +
 windows/logo.ico                                   |  Bin 0 -> 370070 bytes
 .../plugins/stdutils/Contrib/StdUtils/ComUtils.h   |   96 +
 .../stdutils/Contrib/StdUtils/DetectOsVersion.cpp  |  294 ++
 .../stdutils/Contrib/StdUtils/DetectOsVersion.h    |   26 +
 .../stdutils/Contrib/StdUtils/InvokeShellVerb.cpp  |  258 ++
 .../stdutils/Contrib/StdUtils/InvokeShellVerb.h    |   26 +
 .../stdutils/Contrib/StdUtils/ParameterParser.cpp  |  152 +
 .../stdutils/Contrib/StdUtils/ParameterParser.h    |   23 +
 .../plugins/stdutils/Contrib/StdUtils/RandUtils.h  |  101 +
 .../stdutils/Contrib/StdUtils/ShellExecAsUser.cpp  |  189 ++
 .../stdutils/Contrib/StdUtils/ShellExecAsUser.h    |   26 +
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.aps |  Bin 0 -> 18740 bytes
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.cpp |  921 ++++++
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.h   |   43 +
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.rc  |  Bin 0 -> 4986 bytes
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.sln |   22 +
 .../stdutils/Contrib/StdUtils/StdUtils.vcxproj     |  205 ++
 .../Contrib/StdUtils/StdUtils.vcxproj.filters      |   63 +
 .../Contrib/StdUtils/StdUtils.vcxproj.user         |    7 +
 .../stdutils/Contrib/StdUtils/UnicodeSupport.cpp   |   96 +
 .../stdutils/Contrib/StdUtils/UnicodeSupport.h     |   47 +
 .../Contrib/StdUtils/include/ansi/nsis/api.h       |   83 +
 .../Contrib/StdUtils/include/ansi/nsis/pluginapi.h |   77 +
 .../Contrib/StdUtils/include/common/msvc_utils.h   |   55 +
 .../Contrib/StdUtils/include/unicode/nsis/api.h    |   83 +
 .../StdUtils/include/unicode/nsis/nsis_tchar.h     |  214 ++
 .../StdUtils/include/unicode/nsis/pluginapi.h      |  101 +
 .../stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib   |  Bin 0 -> 235942 bytes
 .../Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib   |  Bin 0 -> 4668 bytes
 .../StdUtils/lib/nsis_pluginapi_unicode.lib        |  Bin 0 -> 6902 bytes
 .../plugins/stdutils/Contrib/StdUtils/resource.h   |   26 +
 .../stdutils/Contrib/StdUtils/utils/Date.exe       |  Bin 0 -> 39424 bytes
 .../stdutils/Contrib/StdUtils/utils/Zip.exe        |  Bin 0 -> 68096 bytes
 .../plugins/stdutils/Docs/StdUtils/StdUtils.html   |  752 +++++
 .../plugins/stdutils/Examples/StdUtils/!_Make.bat  |   29 +
 .../stdutils/Examples/StdUtils/GetParameters.nsi   |   38 +
 .../stdutils/Examples/StdUtils/InvokeShellVerb.nsi |   53 +
 .../stdutils/Examples/StdUtils/ShellExecAsUser.nsi |   29 +
 .../stdutils/Examples/StdUtils/ShellExecWait.nsi   |   44 +
 .../stdutils/Examples/StdUtils/StdUtilsTest.nsi    |  399 +++
 windows/plugins/stdutils/Include/StdUtils.nsh      |  301 ++
 windows/plugins/stdutils/LGPL.txt                  |  502 +++
 windows/plugins/stdutils/LGPL_EXCEPTION.txt        |    4 +
 .../stdutils/Plugins/Release_ANSI/StdUtils.dll     |  Bin 0 -> 22016 bytes
 .../stdutils/Plugins/Release_Unicode/StdUtils.dll  |  Bin 0 -> 23040 bytes
 windows/plugins/stdutils/ReadMe.txt                |   30 +
 windows/plugins/stdutils/make_pack.bat             |   54 +
 windows/plugins/stdutils/make_pack.lst             |   13 +
 303 files changed, 27796 insertions(+), 8208 deletions(-)

diff --git a/.classpath b/.classpath
index 9fb16b4..bbf3acb 100644
--- a/.classpath
+++ b/.classpath
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src"/>
+	<classpathentry excluding="org/apache/commons/compress/compressors/lzma/|org/apache/commons/compress/compressors/xz/|org/apache/commons/compress/compressors/CompressorStreamFactory.java|org/apache/commons/compress/compressors/deflate/|org/apache/commons/compress/compressors/gzip/|org/apache/commons/compress/compressors/lzw/|org/apache/commons/compress/compressors/pack200/|org/apache/commons/compress/compressors/snappy/|org/apache/commons/compress/compressors/z/" kind="src" path="src"/>
 	<classpathentry kind="src" path="test/unit"/>
 	<classpathentry kind="src" path="test/functional"/>
 	<classpathentry kind="src" path="test/performance"/>
-	<classpathentry excluding="build/|data_nodist/|dist/|linux/|macosx/|nb/|src/|test/|test/build/|test/functional/|test/performance/|test/unit/|tools/|utils/" kind="src" path=""/>
+	<classpathentry excluding="build/|data_nodist/|dist/|linux/|macosx/|nb/|src/|test/|test/build/|test/functional/|test/performance/|test/unit/|tools/|utils/|windows/" kind="src" path=""/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
 	<classpathentry kind="lib" path="test/lib/fest/fest-assert-1.0.jar"/>
 	<classpathentry kind="lib" path="test/lib/fest/fest-reflect-1.1.jar"/>
diff --git a/CONTRIBUTION b/CONTRIBUTION
index 209243a..8dbae3e 100644
--- a/CONTRIBUTION
+++ b/CONTRIBUTION
@@ -27,6 +27,8 @@ Many minor contributions and patches by others; see SVN history
 at http://josm.openstreetmap.de/svn/ for details. Use
 "josm-dev AT openstreetmap.org" to contact still active authors.
 
+The logo has been designed by Ilya Palikov.
+
 Copyright rests with the contributors.
 
 -------------------------------- EXTERNAL CODE --------------------------------
@@ -35,7 +37,7 @@ The jpeg metadata extraction code is from Drew Noakes
 (http://code.google.com/p/metadata-extractor/) and licensed
 with Apache license version 2.0.
 
-The Bzip2 code is from Keiron Liddle (Apache project) and licensed
+The Bzip2 code is from Apache Commons Compress and licensed
 with Apache license version 2.0.
 
 The signpost code (http://code.google.com/p/oauth-signpost/)
diff --git a/README b/README
index a214ab4..6a04b73 100644
--- a/README
+++ b/README
@@ -58,14 +58,17 @@ This is an overview of the files and directories in the JOSM code repository:
 - build.xml                 ant build file (standard way to create a JOSM binary)
 - CONTRIBUTION              list of major code contributors
 - data/                     data files that will be included in the JOSM jar file
-    - *.gsb                 NTv2 grid files for projection support
+    - fonts/                font files used for map rendering
+    - projection/           projection files
+      - *.gsb               NTv2 grid files for projection support
+      - epsg                list of projection definitions
     - *.lang                translation data
     - *.xsd                 xml schema files for validation of configuration files
-    - epsg                  list of projection definitions
     - help-browser.css      CSS file for the help sites (HTML content is downloaded from the website
                             on demand, but displayed inside the programm in a Java web browser component.)
-    - ignoretags.cfg, tagchecker.cfg
-                            data files used by the JOSM validator feature
+    - validator/            data files used by the JOSM validator feature
+      - *.cfg               files designed for the old tagchecker, still used
+      - *.mapcss            default validation rules for the new mapcss-based tagchecker
 - data_nodist/              data files that are useful for development, but not distributed
     - exif-direction-example.jpg
                             sample image, that contains direction information in the EXIF header
@@ -87,14 +90,18 @@ This is an overview of the files and directories in the JOSM code repository:
     - styles/standard       images for the main map style (external repository)
 - images_nodist/            images, which are not for distribution, but may be useful later (e.g. high
                             resolution and vector versions)
-- josm.jnlp                 Java Web Start launcher file (used on the website)
-- lib/                      libraries (directory is empty at the moment)
+- josm.jnlp                 Java Web Start launcher file (used on the website for the tested version)
+- josm-latest.jnlp          Java Web Start launcher file (used on the website for the latest version)
 - LICENSE                   the JOSM license terms
-- macosx/                   files needed to create the MacOS package
+- linux/                    files useful for Linux distributions, including Appdata files, .desktop
+                            files, Debian/Ubuntu scripts, man pages, icons, etc.
+- macosx/                   files needed to create the MacOS X package
 - netbeans/                 preconfigured Netbeans project
 - optimize-images           short script to decrease size of PNG images
 - patches/                  patches for external libraries used in JOSM (see below)
 - README                    this file
+- resources/                resource files that will be included in the JOSM jar file
+- scripts/                  various scripts used by JOSM developers
 - src/                      the source code of the program
 - start.html                HTML page to run the applet version of JOSM
 - styles/                   map styles included in JOSM
@@ -107,15 +114,18 @@ This is an overview of the files and directories in the JOSM code repository:
     - performance/          performance tests (source code)
     - unit/                 unit tests (source code)
 - tools/                    libraries and tools that help in the development process
-    - animal-sniffer-ant-tasks-1.8.jar
+    - animal-sniffer-ant-tasks-1.11.jar
                             TODO: what is this?
     - appbundler-1.0ea.jar  used to build Mac OS X package for Oracle Java 7
     - findbugs/             libs and config files for findbugs (automatically detects common bugs and potential
                             problems in source code); can be launched as an ant target in build.xml
+    - groovy-all-2.3.9.jar  used for some unit tests and various scripts
     - jacocoant.jar         used to include coverage data into JUnit test reports 
     - javacc.jar            used in the build process to generate some .java files from a javacc source file
                             (src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParser.jj)
     - proguard.jar          optimize final binary jar - see build.xml (not used in production so far)
+    - xmltask.jar           used to edit XML files from Ant for the OSX package
+- windows/                  files needed to create the Windows installer
 
 The 'patches' directory
 -----------------------
@@ -132,17 +142,17 @@ Of course, it is also possible to apply the patch files manually one by one.
 
 Third party libraries
 ---------------------
-There are a couple of third party libraries which are directly included in the source code tree, in particular:
+There are some third party libraries which are directly included in the source code tree, in particular:
 
 * jmapviewer: Java component to browse a TMS map
     src/org/openstreetmap/gui (svn external)
     -> http://svn.openstreetmap.org/applications/viewer/jmapviewer/
-* Apache Ant's bzip2: Support for bzip2 compression when opening files
-    src/org/apache/tools/bzip2 (svn external)
-    -> http://svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/tools/bzip2
 * Apache commons codec: Better Base64 support
     src/org/apache/commons/codec (svn external)
     -> http://svn.apache.org/repos/asf/commons/proper/codec/trunk/src/main/java/org/apache/commons/codec
+* Apache commons compress: Support for bzip2 compression when opening files
+    src/org/apache/commons/compress/compressors (svn external)
+    -> http://svn.apache.org/repos/asf/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors
 * Apache commons validator: Improved validator routines
     src/org/openstreetmap/josm/data/validation/routines
     -> http://commons.apache.org/proper/commons-validator
diff --git a/REVISION b/REVISION
index fc69434..f2ad7dd 100644
--- a/REVISION
+++ b/REVISION
@@ -2,7 +2,7 @@
 <info>
 <entry
    path="trunk"
-   revision="7778"
+   revision="7906"
    kind="dir">
 <url>http://josm.openstreetmap.de/svn/trunk</url>
 <repository>
@@ -10,9 +10,9 @@
 <uuid>0c6e7542-c601-0410-84e7-c038aed88b3b</uuid>
 </repository>
 <commit
-   revision="7778">
-<author>bastiK</author>
-<date>2014-12-10T00:39:46.964719Z</date>
+   revision="7906">
+<author>Don-vip</author>
+<date>2014-12-28T23:13:58.752464Z</date>
 </commit>
 </entry>
 </info>
diff --git a/build.xml b/build.xml
index aafecea..e611844 100644
--- a/build.xml
+++ b/build.xml
@@ -177,6 +177,13 @@ Build-Date: ${build.tstamp}
             <param name="bundle.jar" value="dist/josm-custom.jar"/>
         </antcall>
     </target>
+    <!-- Windows target -->
+    <target name="distwin" depends="dist">
+        <exec dir="windows" executable="./josm-setup-unix.sh">
+            <arg value="${version.entry.commit.revision}"/>
+            <arg value="../dist/josm-custom.jar"/>
+        </exec>
+    </target>
     <target name="javacc" depends="init" unless="javacc.notRequired">
         <mkdir dir="${mapcss.dir}/parsergen"/>
         <exec append="false" executable="java" failifexecutionfails="true">
@@ -208,13 +215,14 @@ Build-Date: ${build.tstamp}
     </target>
     <target name="compile" depends="init,javacc,jaxb">
         <!-- COTS -->
-        <javac srcdir="${src.dir}" includes="com/**,oauth/**,org/apache/commons/codec/**,org/glassfish/**" nowarn="on"
+        <javac srcdir="${src.dir}" includes="com/**,oauth/**,org/apache/commons/**,org/glassfish/**" nowarn="on"
+            excludes="org/apache/commons/compress/compressors/lzma/**,org/apache/commons/compress/compressors/xz/**,org/apache/commons/compress/compressors/CompressorStreamFactory.java,org/apache/commons/compress/compressors/deflate/**,org/apache/commons/compress/compressors/gzip/**,org/apache/commons/compress/compressors/lzw/**,org/apache/commons/compress/compressors/pack200/**,org/apache/commons/compress/compressors/snappy/**,org/apache/commons/compress/compressors/z/**"
             destdir="build" target="1.7" source="1.7" debug="on" includeantruntime="false" createMissingPackageInfoClass="false" encoding="iso-8859-1">
             <!-- get rid of "internal proprietary API" warning -->
             <compilerarg value="-XDignore.symbol.file"/>
         </javac>
         <!-- JMapViewer/JOSM -->
-        <javac srcdir="${src.dir}" excludes="com/**,oauth/**,org/apache/commons/codec/**,org/glassfish/**,org/openstreetmap/gui/jmapviewer/Demo.java" 
+        <javac srcdir="${src.dir}" excludes="com/**,oauth/**,org/apache/commons/**,org/glassfish/**,org/openstreetmap/gui/jmapviewer/Demo.java" 
             destdir="build" target="1.7" source="1.7" debug="on" includeantruntime="false" createMissingPackageInfoClass="false" encoding="UTF-8">
             <compilerarg value="-Xlint:cast"/>
             <compilerarg value="-Xlint:deprecation"/>
@@ -270,7 +278,7 @@ Build-Date: ${build.tstamp}
             <include name="**/*.jar"/>
         </fileset>
         <pathelement path="dist/josm-custom.jar"/>
-        <pathelement path="tools/groovy-all-2.3.7.jar"/>
+        <pathelement path="tools/groovy-all-2.3.9.jar"/>
     </path>
     <macrodef name="init-test-preferences">
         <attribute name="testfamily"/>
@@ -317,7 +325,7 @@ Build-Date: ${build.tstamp}
         </sequential>
     </macrodef>
     <target name="test-compile" depends="test-init,dist">
-        <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpath="tools/groovy-all-2.3.7.jar"/>
+        <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpath="tools/groovy-all-2.3.9.jar"/>
         <call-groovyc testfamily="unit">
             <cp-elements>
                 <path refid="test.classpath"/>
diff --git a/data/defaultpresets.xml b/data/defaultpresets.xml
index 27bc283..38f42a8 100644
--- a/data/defaultpresets.xml
+++ b/data/defaultpresets.xml
@@ -169,7 +169,7 @@
     </chunk>
     <chunk id="payment_base">
         <check key="payment:coins" text="Coins" />
-        <check key="payment:notes" text="Notes" />
+        <check key="payment:notes" text="Notes" text_context="payment" />
         <check key="payment:electronic_purses" text="Electronic purses and Charge cards" />
         <check key="payment:debit_cards" text="Debit cards" />
         <check key="payment:credit_cards" text="Credit cards" />
@@ -704,7 +704,7 @@
                 <text key="name" text="Name" />
                 <reference ref="highway_base" />
                 <reference ref="highway_yesno_incline_oneway_lit_width_sidewalk" />
-                <combo key="junction" text="Junction" values="roundabout,jughandle,yes" />
+                <combo key="junction" text="Junction" values="roundabout,jughandle" />
             </optional>
         </item> <!-- Construction -->
         <separator/>
@@ -988,7 +988,7 @@
         </item> <!-- Steps -->
     </group> <!-- Ways -->
     <group name="Waypoints" icon="presets/waypoints.png">
-        <item name="Motorway Junction" icon="presets/motorway_exit.png" type="node" preset_name_label="true">
+        <item name="Motorway Junction" icon="styles/standard/vehicle/motorway_junction.svg" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=motorway_junction"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=motorway_junction"
                   es.href="http://wiki.openstreetmap.org/wiki/ES:Tag:highway=motorway_junction"
@@ -1034,7 +1034,7 @@
             </optional>
         </item> <!-- Rest Area -->
         <separator/>
-        <item name="Traffic Signal" icon="presets/traffic-light.png" type="node" preset_name_label="true">
+        <item name="Traffic Signal" icon="styles/standard/vehicle/traffic_signals.svg" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=traffic_signals"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=traffic_signals"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:highway=traffic_signals"
@@ -1052,7 +1052,10 @@
                 <check key="bicycle" text="Cross by bicycle" />
                 <check key="horse" text="Cross on horseback" />
             </optional>
-        </item> <!-- Traffic Signal -->
+            <optional text="Optional values for specific countries">
+                <text key="name" text="Name" />
+            </optional>
+            </item> <!-- Traffic Signal -->
         <item name="Stop" icon="presets/Stop.png" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=stop"
                   es.href="http://wiki.openstreetmap.org/wiki/ES:Tag:highway=stop"
@@ -1083,7 +1086,7 @@
             <space />
             <combo key="direction" text="Direction" values="clockwise" />
         </item> <!-- Mini-Roundabout -->
-        <item name="Pedestrian Crossing" icon="styles/standard/vehicle/zebra_crossing.png" type="node" preset_name_label="true">
+        <item name="Pedestrian Crossing" icon="styles/standard/vehicle/crossing.svg" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Key:crossing"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Key:crossing"
                   fi.href="http://wiki.openstreetmap.org/wiki/Fi:Key:crossing"
@@ -1160,6 +1163,17 @@
                 <text key="maxspeed" text="Max. speed (km/h)" />
             </optional>
         </item> <!-- Speed Camera -->
+        <item name="Traffic Mirror" icon="styles/standard/vehicle/traffic_mirror.svg" type="node" preset_name_label="true">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=traffic_mirror"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=traffic_mirror" />
+            <key key="highway" value="traffic_mirror" />
+        </item> <!-- Traffic Mirror -->
+        <item name="Named Junction" name_context="junction=yes" type="node,closedway" preset_name_label="true">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:junction=yes" />
+            <key key="junction" value="yes" />
+            <label text="Used in some countries for a named road junction who’s name serves for local orientation." />
+            <text key="name" text="Name" />
+        </item> <!-- Named Junction -->
         <separator/>
         <item name="Elevator" icon="styles/standard/service/elevator.png" type="node,way,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=elevator"
@@ -1231,7 +1245,7 @@
             <reference ref="barrier_4" />
             <reference ref="optional_maxwidth" />
         </item> <!-- Cycle Barrier -->
-        <item name="Cattle Grid" icon="presets/cattle_grid.png" type="node" preset_name_label="true">
+        <item name="Cattle Grid" icon="styles/standard/vehicle/cattle_grid.png" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=cattle_grid"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:barrier=cattle_grid"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:barrier=cattle_grid" />
@@ -1312,7 +1326,7 @@
                 <text key="height" text="Height (meters)" length="7" />
             </optional>
         </item> <!-- Fence -->
-        <item name="Guard Rail" type="way" preset_name_label="true">
+        <item name="Guard Rail" type="way,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=guard_rail"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:barrier=guard_rail" />
             <key key="barrier" value="guard_rail" />
@@ -1350,7 +1364,7 @@
             <key key="barrier" value="retaining_wall" />
             <reference ref="optional_height" />
         </item> <!-- Retaining Wall -->
-        <item name="Ditch" name_context="Barrier" type="way" preset_name_label="true">
+        <item name="Ditch" name_context="Barrier" type="way,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=ditch"
                   it.href="http://wiki.openstreetmap.org/wiki/IT:Tag:barrier=ditch"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:barrier=ditch"
@@ -1378,7 +1392,7 @@
             <reference ref="barrier_5" />
             <reference ref="optional_maxwidth" />
         </item> <!-- Entrance (Barrier Opening) -->
-        <item name="Gate" icon="presets/gate.png" type="node" preset_name_label="true">
+        <item name="Gate" icon="styles/standard/vehicle/gate.png" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=gate"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:barrier=gate"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:barrier=gate"
@@ -1450,14 +1464,14 @@
             <reference ref="barrier_2" />
             <reference ref="optional_maxwidth" />
         </item> <!-- Kissing Gate -->
-        <item name="Chain" icon="styles/standard/vehicle/chain.svg" type="node,way" preset_name_label="true">
+        <item name="Chain" icon="styles/standard/vehicle/chain.svg" type="node,way,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=chain"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:barrier=chain" />
             <key key="barrier" value="chain" />
             <reference ref="barrier_5" />
             <reference ref="optional_maxwidth" />
         </item> <!-- Chain -->
-        <item name="Stile" icon="presets/stile.png" type="node" preset_name_label="true">
+        <item name="Stile" icon="styles/standard/vehicle/stile.svg" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:barrier=stile" />
             <space />
             <key key="barrier" value="stile" />
@@ -1778,7 +1792,8 @@
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:natural=water"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:natural=water"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:natural=water"
-                  ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:natural=water" />
+                  ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:natural=water"
+                  uk.href="http://wiki.openstreetmap.org/wiki/Uk:Tag:natural=water" />
             <label text="A body of standing water, such as a lake or pond." />
             <space />
             <key key="natural" value="water" />
@@ -2579,7 +2594,7 @@
                   uk.href="http://wiki.openstreetmap.org/wiki/Uk:Tag:shop=bicycle" />
             <space />
             <key key="shop" value="bicycle" />
-            <text key="name" text="Name" />
+            <reference ref="name_oh" />
             <check key="service:bicycle:retail" text="Bicycles are sold" />
             <check key="service:bicycle:second_hand" text="Second-hand bicycles are sold" />
             <check key="service:bicycle:repair" text="Bicycles are repaired" />
@@ -2899,6 +2914,7 @@
     <group name="Airport" icon="presets/plane.png">
         <item name="Airport Ground" icon="presets/plane.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=aerodrome"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:aeroway=aerodrome"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:aeroway=aerodrome"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:aeroway=aerodrome"
                   ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:aeroway=aerodrome" />
@@ -2914,6 +2930,7 @@
         <separator/>
         <item name="Runway" icon="presets/runway.png" type="way,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=runway"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:aeroway=runway"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:aeroway=runway"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:aeroway=runway"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:aeroway=runway"
@@ -2925,6 +2942,7 @@
         </item> <!-- Runway -->
         <item name="Taxiway" icon="presets/taxiway.png" type="way,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=taxiway"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:aeroway=taxiway"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:aeroway=taxiway"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:aeroway=taxiway"
                   ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:aeroway=taxiway" />
@@ -2947,6 +2965,7 @@
         </item> <!-- Helipad -->
         <item name="Apron" icon="presets/apron.png" type="closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=apron"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:aeroway=apron"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:aeroway=apron"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:aeroway=apron"
                   ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:aeroway=apron" />
@@ -2954,6 +2973,7 @@
         </item> <!-- Apron -->
         <item name="Hangar" icon="presets/hangar.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=hangar"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:aeroway=hangar"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:aeroway=hangar"
                   pt.href="http://wiki.openstreetmap.org/wiki/Pt:Tag:aeroway=hangar" />
             <key key="building" value="hangar" />
@@ -2973,6 +2993,7 @@
         <separator/>
         <item name="Terminal" icon="styles/standard/transport/airport/terminal.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=terminal"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:aeroway=terminal"
                   es.href="http://wiki.openstreetmap.org/wiki/ES:Tag:aeroway=terminal"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:aeroway=terminal"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:aeroway=terminal"
@@ -2985,6 +3006,7 @@
         </item> <!-- Terminal -->
         <item name="Gate" name_context="airport" icon="presets/aeroway_gate.png" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:aeroway=gate"
+                  de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:aeroway=gate"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:aeroway=gate"
                   ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:aeroway=gate" />
             <space />
@@ -3310,6 +3332,7 @@
         <separator/>
         <item name="Information Office" icon="presets/informationoffice.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Key:information"
+                  cs.href="http://wiki.openstreetmap.org/wiki/Cs:Key:information"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Key:information"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Key:information"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Key:information"
@@ -3422,6 +3445,7 @@
         </item> <!-- Audio Guide -->
         <item name="Other Information Point" icon="presets/information.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=information"
+                  cs.href="http://wiki.openstreetmap.org/wiki/Cs:Tag:tourism=information"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:tourism=information"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:tourism=information"
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:tourism=information"
@@ -3572,6 +3596,12 @@
             <text key="name" text="Name" />
             <check key="fireplace" text="Fireplace" />
         </item> <!-- Picnic Site -->
+        <item name="Picnic Table" icon="presets/picnic.png" type="node" preset_name_label="true">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:leisure=picnic_table" />
+            <space />
+            <key key="leisure" value="picnic_table" />
+            <check key="covered" text="Covered" />
+        </item> <!-- Picnic Table -->
         <item name="Public Grill" icon="presets/bbq.png" type="node" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:amenity=bbq"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:amenity=bbq"
@@ -3668,6 +3698,7 @@
         </item> <!-- Arts Centre -->
         <item name="Artwork" icon="presets/arts_centre.png" type="node,way,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:tourism=artwork"
+                  cs.href="http://wiki.openstreetmap.org/wiki/Cs:Tag:tourism=artwork"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:tourism=artwork"
                   es.href="http://wiki.openstreetmap.org/wiki/ES:Tag:tourism=artwork"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:tourism=artwork"
@@ -4431,6 +4462,24 @@
             <combo key="fire_hydrant:pressure" text="Pressure (in bar)" values="5,6,8,suction" />
             <text key="fire_hydrant:count" text="Count" />
         </item> <!-- Fire Hydrant -->
+        <separator/>
+        <item name="Advertising Column" icon="styles/standard/leisure/advertising_column.svg" type="node" preset_name_label="true">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:advertising=column"
+                  pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:advertising=column" />
+            <space />
+            <key key="advertising" value="column" />
+            <optional>
+                <check key="lit" text="Lit" />
+            </optional>
+        </item> <!-- Advertising Column -->
+        <item name="Billboard" icon="styles/standard/leisure/billboard.svg" type="node" preset_name_label="true">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:advertising=billboard" />
+            <space />
+            <key key="advertising" value="billboard" />
+            <optional>
+                <check key="lit" text="Lit" />
+            </optional>
+        </item> <!-- Billboard -->   
     </group> <!-- Facilities -->
   </group>  <!-- Facilities -->
   <group name="Sports" icon="styles/standard/sport/soccer.png">
@@ -4526,7 +4575,8 @@
             <combo key="leisure" text="Type" values="pitch,sports_centre,stadium" />
         </item> <!-- Nine-pin Bowling -->
         <item name="Ten-pin Bowling" icon="styles/standard/sport/10pin.png" type="node,closedway" preset_name_label="true">
-            <link href="http://wiki.openstreetmap.org/wiki/Tag:sport=10pin" />
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:sport=10pin"
+                  ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:sport=10pin" />
             <space />
             <key key="sport" value="10pin" />
             <text key="name" text="Name" />
@@ -4889,7 +4939,8 @@
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:highway=raceway"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:highway=raceway"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:highway=raceway"
-                  pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:highway=raceway" />
+                  pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:highway=raceway"
+                  ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:highway=raceway" />
             <space />
             <key key="highway" value="raceway" />
             <text key="name" text="Name" />
@@ -4938,6 +4989,7 @@
             <link href="http://wiki.openstreetmap.org/wiki/Key:entrance"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Key:entrance"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Key:entrance"
+                  ja.href="http://wiki.openstreetmap.org/wiki/JA:Key:entrance"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Key:entrance"
                   ru.href="http://wiki.openstreetmap.org/wiki/RU:Key:entrance"
                   uk.href="http://wiki.openstreetmap.org/wiki/Uk:Key:entrance" />
@@ -5082,6 +5134,7 @@
         <item name="Water Tower" icon="presets/water_tower.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:man_made=water_tower"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:man_made=water_tower"
+                  fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:man_made=water_tower"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:man_made=water_tower"
                   ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:man_made=water_tower" />
             <space />
@@ -6750,6 +6803,7 @@
     <group name="Places" icon="presets/places.png">
         <item name="Continent" icon="presets/places.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:place=continent"
+                  ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:place=continent"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:place=continent" />
             <space />
             <key key="place" value="continent" />
@@ -6757,6 +6811,7 @@
         </item> <!-- Places -->
         <item name="Country" icon="presets/places.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:place=country"
+                  ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:place=country"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:place=country" />
             <space />
             <key key="place" value="country" />
@@ -6764,6 +6819,7 @@
         </item> <!-- Country -->
         <item name="State" icon="presets/places.png" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:place=state"
+                  ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:place=state"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:place=state" />
             <space />
             <key key="place" value="state" />
@@ -6891,6 +6947,7 @@
             <link href="http://wiki.openstreetmap.org/wiki/Tag:place=locality"
                   de.href="http://wiki.openstreetmap.org/wiki/DE:Tag:place=locality"
                   fr.href="http://wiki.openstreetmap.org/wiki/FR:Tag:place=locality"
+                  ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:place=locality"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:place=locality"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:place=locality"
                   ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:place=locality" />
@@ -7060,7 +7117,8 @@
                   ja.href="http://wiki.openstreetmap.org/wiki/JA:Tag:landuse=forest"
                   pl.href="http://wiki.openstreetmap.org/wiki/Pl:Tag:landuse=forest"
                   pt_BR.href="http://wiki.openstreetmap.org/wiki/Pt-br:Tag:landuse=forest"
-                  ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:landuse=forest" />
+                  ru.href="http://wiki.openstreetmap.org/wiki/RU:Tag:landuse=forest"
+                  uk.href="http://wiki.openstreetmap.org/wiki/Uk:Tag:landuse=forest" />
             <space />
             <key key="landuse" value="forest" />
             <text key="name" text="Name" />
@@ -7568,7 +7626,6 @@
             <space />
             <text key="addr:housenumber" text="House number" match="key" auto_increment="-2,-1,+1,+2" />
             <optional>
-                <text key="addr:housename" text="House name" match="key" alternative_autocomplete_keys="name" />
                 <text key="addr:street" text="Street name" use_last_as_default="force" match="key" alternative_autocomplete_keys="name" />
                 <text key="addr:place" text="Place name" use_last_as_default="force" match="key" alternative_autocomplete_keys="name" />
                 <text key="addr:city" text="City name" use_last_as_default="force" match="key" />
@@ -7576,6 +7633,7 @@
                 <combo key="addr:country" text="Country code" values_from="java.util.Locale#getISOCountries" use_last_as_default="force" match="key" />
             </optional>
             <optional text="Optional values for specific countries">
+                <text key="addr:housename" text="House name" match="key" alternative_autocomplete_keys="name" />
                 <text key="addr:hamlet" text="Hamlet" match="key" />
                 <text key="addr:suburb" text="Suburb" use_last_as_default="force" match="key" />
                 <text key="addr:subdistrict" text="Subdistrict" use_last_as_default="force" match="key" />
@@ -7657,8 +7715,8 @@
                 <text key="name" text="Name" />
             </optional>
             <roles>
-                <role key="outer" text="outer segment" requisite="required" type="way" />
-                <role key="inner" text="inner segment" requisite="optional" type="way" />
+                <role key="outer" text="outer segment" requisite="required" type="way,closedway" />
+                <role key="inner" text="inner segment" requisite="optional" type="way,closedway" />
             </roles>
         </item> <!-- Multipolygon -->
         <item name="Boundary" icon="presets/boundaries.png" type="relation" preset_name_label="true">
@@ -7678,8 +7736,8 @@
                 <combo key="admin_level" text="Administrative level" values="1,2,3,4,5,6,7,8,9,10" />
             </optional>
             <roles>
-                <role key="outer" text="outer segment" requisite="required" type="way" />
-                <role key="inner" text="inner segment" requisite="optional" type="way" />
+                <role key="outer" text="outer segment" requisite="required" type="way,closedway" />
+                <role key="inner" text="inner segment" requisite="optional" type="way,closedway" />
                 <role key="subarea" text="Sub area" requisite="optional" type="relation" />
                 <role key="admin_centre" text="Administration centre" requisite="optional" type="node" count="1" />
                 <role key="label" text="Label point" requisite="optional" type="node" count="1" />
diff --git a/data/validator/combinations.mapcss b/data/validator/combinations.mapcss
index 7024184..14ff4b3 100644
--- a/data/validator/combinations.mapcss
+++ b/data/validator/combinations.mapcss
@@ -3,7 +3,7 @@
  */
 
 /* {0.key} without {1.key} (warning level) */
-way[junction                   ][!highway],
+way[junction                   ][!highway][junction!=yes],
 *[lanes                        ][!highway],
 *[lcn                          ][!highway],
 *[living_street                ][!highway],
@@ -133,6 +133,12 @@ way[junction                   ][!highway],
   throwWarning: tr("{0} without {1}, {2} or {3}", "{0.key}", "{1.key}", "{2.key}", "{3.tag}");
 }
 
+/* {0.key} together with {1.key}, see #10837 */
+*[noname?][name],
+*[highway]["addr:street"] {
+  throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
+}
+
 /* {0} on suspicious object */
 *[tunnel  ][!highway][!railway][!waterway][public_transport != platform][man_made != pipeline],
 *[bridge  ][!highway][!railway][!waterway][!piste:type][public_transport != platform][man_made !~ /^(bridge|pipeline)$/][building != bridge],
@@ -164,7 +170,7 @@ way[highway][natural],
   fixRemove: "natural";
 }
 
-/* see ticket #9593 */
+/* see #9593 */
 *[sport][tourism != hotel][highway != raceway][leisure !~ /^(sports_centre|stadium|track|pitch|golf_course|water_park|swimming_pool|recreation_ground)$/][natural !~ /^(beach|bare_rock)$/][amenity !~ /^(pub|restaurant|swimming_pool)$/][landuse !~ /^(recreation_ground|piste|farm|farmland)$/] {
     throwWarning: tr("sport without physical feature");
     assertMatch: "node sport=tennis";
@@ -186,3 +192,15 @@ way[highway] > node[ford?] { set ford_on_highway; }
 node[ford?]!.ford_on_waterway, node[ford?]!.ford_on_highway {
     throwWarning: tr("{0} should be on the node where {1} and {2} intersect", "ford", "highway", "waterway");
 }
+
+/* any other *_name tag (except old_name, loc_name and uic_name) but not a name , see #10837 */
+*[/_name$/][!name][!old_name][!loc_name][!uic_name] {
+  throwWarning: tr("alternative name without {0}", "{1.key}");
+}
+
+/* see #10837 */
+way[destination][!oneway?] {
+  throwWarning: tr("incomplete usage of {0} on a way without {1}", "{0.key}", "{1.key}");
+  suggestAlternative: "destination:forward";
+  suggestAlternative: "destination:backward";
+}
\ No newline at end of file
diff --git a/data/validator/deprecated.mapcss b/data/validator/deprecated.mapcss
index fb67b73..21a604f 100644
--- a/data/validator/deprecated.mapcss
+++ b/data/validator/deprecated.mapcss
@@ -329,16 +329,22 @@
   fixAdd: "park_ride=yes";
 }
 
-/* see #10661 */
-*[barrier=yes] {
+/* see #10661, #10837 */
+*[barrier=yes],
+*[amenity=yes],
+*[place=yes] {
   throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by a specific value.", "{0.key}", "{0.value}");
 }
 
-/* see #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name */
+/* see #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name , #10837 */
 *[place_name][!name] {
   throwWarning: tr("{0} should be replaced with {1}", "{0.key}", "{1.key}");
   fixChangeKey: "place_name => name";
 }
+*[place][place_name = *name] {
+  throwWarning: tr("{0} = {1}; remove {0}", "{1.key}", "{1.value}");
+  fixRemove: "{1.key}";
+}
 
 way[sidewalk=yes] {
   throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or ''both''.", "{0.key}", "{0.value}");
@@ -353,4 +359,11 @@ way[sidewalk=yes] {
   throwWarning: tr("{0} is deprecated", "{0.tag}");
   fixRemove: "waterway";
   fixAdd: "mooring=yes";
+}
+
+/* see #10837 */
+*[building][levels] {
+  throwWarning: tr("{0} is deprecated", "{1.key}");
+  suggestAlternative: "building:levels";
+  fixChangeKey: "levels => building:levels";
 }
\ No newline at end of file
diff --git a/data/validator/geometry.mapcss b/data/validator/geometry.mapcss
index 280ae39..d6be64f 100644
--- a/data/validator/geometry.mapcss
+++ b/data/validator/geometry.mapcss
@@ -2,6 +2,7 @@
 node[oneway],
 node[bridge?],
 node[sidewalk],
+node[footway],
 node[waterway=river],
 node[waterway=riverbank],
 node[waterway=canal],
@@ -105,4 +106,52 @@ node[tag("shop") = parent_tag("shop")] ∈ *[shop] {
 }
 node[tag("power") = parent_tag("power")] ∈ *[power] {
   throwWarning: tr("{0} inside {1}", concat("power=", tag("power")), concat("power=", tag("power")));
+}
+
+/* isolated nodes which should be part of a way, see #10825 */
+node:unconnected[entrance],
+node:unconnected[traffic_calming],
+node:unconnected[highway=passing_place],
+node:unconnected[highway=mini_roundabout],
+node:unconnected[highway=motorway_junction],
+node:unconnected[highway=turning_loop],
+node:unconnected[highway=turning_circle],
+node:unconnected[highway=stop],
+node:unconnected[highway=give_way],
+node:unconnected[highway=traffic_signals],
+node:unconnected[highway=crossing],
+node:unconnected[crossing],
+node:unconnected[railway=crossing],
+node:unconnected[railway=level_crossing],
+node:unconnected[railway=buffer_stop],
+node:unconnected[public_transport=stop_position],
+node:unconnected[noexit],
+node:unconnected[waterway=dam],
+node:unconnected[waterway=weir],
+node:unconnected[waterway=waterfall],
+node:unconnected[amenity=ferry_terminal],
+node:unconnected[mountain_pass=yes],
+node:unconnected[barrier=gate],
+node:unconnected[barrier=lift_gate],
+node:unconnected[barrier=swing_gate],
+node:unconnected[barrier=toll_booth],
+node:unconnected[barrier=turnstile],
+node:unconnected[barrier=full-height_turnstile],
+node:unconnected[barrier=motorcycle_barrier],
+node:unconnected[barrier=rope],
+node:unconnected[barrier=sally_port],
+node:unconnected[barrier=spikes],
+node:unconnected[barrier=stile],
+node:unconnected[barrier=sump_buster],
+node:unconnected[barrier=kerb],
+node:unconnected[barrier=border_control],
+node:unconnected[barrier=bump_gate],
+node:unconnected[barrier=bus_trap],
+node:unconnected[barrier=cattle_grid],
+node:unconnected[barrier=chain],
+node:unconnected[barrier=cycle_barrier],
+node:unconnected[barrier=hampshire_gate],
+node:unconnected[barrier=height_restrictor],
+node:unconnected[barrier=debris] {
+  throwWarning: tr("{0} must be connected to a way", "{1.tag}");
 }
\ No newline at end of file
diff --git a/data/validator/highway.mapcss b/data/validator/highway.mapcss
index 528fca2..9b4a715 100644
--- a/data/validator/highway.mapcss
+++ b/data/validator/highway.mapcss
@@ -63,16 +63,12 @@ way[highway=road] {
 
 way[highway=footway][maxspeed],
 way[highway=steps][maxspeed],
-way[highway=cycleway][bicycle?!],
-way[highway=footway][foot?!],
+way[highway=cycleway][bicycle=no],
+way[highway=footway][foot=no],
 way[highway=cycleway][cycleway=lane] {
   throwWarning: tr("{0} used with {1}", "{0.value}", "{1.tag}");
-  assertMatch: "way highway=cycleway bicycle=false";
-  assertMatch: "way highway=cycleway bicycle=0";
   assertNoMatch: "way highway=cycleway bicycle=yes";
   assertNoMatch: "way highway=cycleway";
-  assertMatch: "way highway=footway foot=false";
-  assertMatch: "way highway=footway foot=0";
   assertNoMatch: "way highway=footway foot=yes";
   assertNoMatch: "way highway=footway";
   assertMatch: "way highway=cycleway cycleway=lane";
@@ -89,3 +85,24 @@ way[highway=cycleway][cycleway=lane] {
   assertMatch: "way name=Foobar-Strassenweg";
   assertNoMatch: "way name=Foobarstraße";
 }
+
+/* footway, see #10851 */
+way[footway=left],
+way[footway=right],
+way[footway=both],
+way[footway=no] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "sidewalk";
+  fixChangeKey: "footway => sidewalk";
+  set footway_to_sidewalk;
+}
+way[footway=none] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "sidewalk=no";
+  fixRemove: "footway";
+  fixAdd: "sidewalk=no";
+  set footway_to_sidewalk;
+}
+way[footway][footway!=sidewalk][footway!=crossing]!.footway_to_sidewalk { /* do not trigger this rule if already one of the two previous rules applied */
+  throwWarning: tr("Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use ''{3}'' instead.", "{0.key}", "{1.value}", "{2.value}", "sidewalk=left|right|both|no");
+}
\ No newline at end of file
diff --git a/data/validator/multiple.mapcss b/data/validator/multiple.mapcss
index b49d5b6..fac1c93 100644
--- a/data/validator/multiple.mapcss
+++ b/data/validator/multiple.mapcss
@@ -1,4 +1,4 @@
-/* see #9757 - Better handling of semicolon in values
+/* see #9757, #10869 - Better handling of semicolon in values
 */
 *["addr:street" =~ /.+;(.+)?/],
 *[highway =~ /.+;(.+)?/],
@@ -9,3 +9,36 @@
 *[water =~ /.+;(.+)?/] {
     throwWarning: tr("{0} with multiple values", "{0.key}");
 }
+
+*[source              =~ /^(;.*|.*;;.*|.*;)$/],
+*["source:addr"       =~ /^(;.*|.*;;.*|.*;)$/],
+*["source:maxspeed"   =~ /^(;.*|.*;;.*|.*;)$/],
+*["source:name"       =~ /^(;.*|.*;;.*|.*;)$/],
+*["source:position"   =~ /^(;.*|.*;;.*|.*;)$/],
+*["source:postcode"   =~ /^(;.*|.*;;.*|.*;)$/],
+*[ref                 =~ /^(;.*|.*;;.*|.*;)$/],
+*[int_ref             =~ /^(;.*|.*;;.*|.*;)$/],
+*[old_ref             =~ /^(;.*|.*;;.*|.*;)$/],
+*[source_ref          =~ /^(;.*|.*;;.*|.*;)$/],
+*[route_ref           =~ /^(;.*|.*;;.*|.*;)$/],
+*[attribution         =~ /^(;.*|.*;;.*|.*;)$/],
+*[name                =~ /^(;.*|.*;;.*|.*;)$/],
+*[alt_name            =~ /^(;.*|.*;;.*|.*;)$/],
+*[note                =~ /^(;.*|.*;;.*|.*;)$/],
+*[fixme               =~ /^(;.*|.*;;.*|.*;)$/],
+*["addr:housenumber"  =~ /^(;.*|.*;;.*|.*;)$/],
+*[destination         =~ /^(;.*|.*;;.*|.*;)$/],
+*[exit_to             =~ /^(;.*|.*;;.*|.*;)$/],
+*[surface             =~ /^(;.*|.*;;.*|.*;)$/],
+*["building:use"      =~ /^(;.*|.*;;.*|.*;)$/],
+*[traffic_sign        =~ /^(;.*|.*;;.*|.*;)$/],
+*[voltage             =~ /^(;.*|.*;;.*|.*;)$/],
+*[cuisine             =~ /^(;.*|.*;;.*|.*;)$/] {
+	throwWarning: tr("empty value in semicolon-separated ''{0}''", "{0.key}");
+	assertMatch: "node ref=;A1";
+	assertMatch: "node ref=A1;";
+	assertMatch: "node ref=;";
+	assertMatch: "node ref=A1;;A2";
+	assertNoMatch: "node ref=A1";
+	assertNoMatch: "node ref=A1;A2";
+}
diff --git a/data/validator/numeric.mapcss b/data/validator/numeric.mapcss
index b2a2ee3..ae5d18b 100644
--- a/data/validator/numeric.mapcss
+++ b/data/validator/numeric.mapcss
@@ -138,4 +138,17 @@ way[incline][incline !~ /^(up|down|-?([0-9]+?(\.[1-9]%)?|100)[%°]?)$/] {
 /* see ticket #9631 */
 *[population][population !~ /^[0-9]+$/ ] {
   throwWarning: tr("{0} must be a numeric value", "{0.key}");
-}
\ No newline at end of file
+}
+
+/* lanes* must be an integer positive number only, see #10837 */
+way[highway][lanes][lanes !~ /^[1-9]([0-9]*)$/],
+way[highway]["lanes:backward"]["lanes:backward" !~ /^[1-9]([0-9]*)$/],
+way[highway]["lanes:forward"]["lanes:forward" !~ /^[1-9]([0-9]*)$/] {
+  throwError: tr("{0} must be a positive integer number", "{1.key}");
+  assertMatch: "way highway=residential lanes=-1";
+  assertMatch: "way highway=residential lanes=5.5";
+  assertMatch: "way highway=residential lanes=1;2";
+  assertMatch: "way highway=residential lanes:forward=-1";
+  assertMatch: "way highway=residential lanes:backward=-1";
+  assertNoMatch: "way highway=residential lanes=1";
+}
diff --git a/i18n/launchpad.pl b/i18n/launchpad.pl
index a978d2b..924df6e 100755
--- a/i18n/launchpad.pl
+++ b/i18n/launchpad.pl
@@ -15,13 +15,13 @@ $pwd = '';
 
 # list of supported languages
 my %lang = map {$_ => 1} (
-"bg", "ca", "cs", "da", "de", "el", "en_AU", "en_GB",
+"ast", "bg", "ca", "cs", "da", "de", "el", "en_AU", "en_GB",
 "es", "et", "fi", "fr", "gl", "hu", "id",
-"it", "ja", "nl", "pl", "pt", "pt_BR", "ru", "sk",
+"it", "ja", "km", "nl", "pl", "pt", "pt_BR", "ru", "sk",
 "sv", "uk", "zh_CN", "zh_TW"
 );
 
-my $revision = '$Revision: 30399 $';
+my $revision = '$Revision: 30879 $';
 $revision =~ s/^.*?(\d+).*$/$1/;
 my $agent = "JOSM_Launchpad/1.$revision";
 
diff --git a/i18n/po/af.po b/i18n/po/af.po
index 4efbc30..bf54bb5 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:31+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:31+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: af\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/am.po b/i18n/po/am.po
index 6f66608..d13d86d 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:32+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:33+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: am\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ar.po b/i18n/po/ar.po
index 12b982e..090d29c 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-03-30 14:17+0000\n"
 "Last-Translator: Chdoula <chdoula 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: 2014-12-10 04:33+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:34+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ar\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3743,6 +3743,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3949,19 +3952,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4501,10 +4505,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4759,6 +4788,21 @@ msgstr "الطبقة ليست في اللائحة."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "إسم المستخدم"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6103,6 +6147,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7085,9 +7135,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7870,9 +7917,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "إسم المستخدم"
-
 msgid "Password"
 msgstr "كلمة‌المرور"
 
@@ -8552,6 +8596,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "إحفظ الطبقة"
 
+msgid "Note"
+msgstr "الملاحظة"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8998,6 +9045,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12390,6 +12440,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "حضّر المعطيات أو.أس.أم ..."
 
@@ -12570,7 +12623,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12582,7 +12635,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13542,9 +13595,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14780,6 +14830,10 @@ msgstr ""
 msgid "Coins"
 msgstr "عملات معدنية"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15602,6 +15656,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "إشارة وقوف"
 
@@ -15659,6 +15716,18 @@ msgstr "الإسم الثاني"
 msgid "Speed Camera"
 msgstr "كاميرا مراقبة السير"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17103,6 +17172,9 @@ msgstr "موقع تنزه"
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17708,6 +17780,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19578,9 +19656,6 @@ msgstr "ألعاب"
 msgid "vouchers"
 msgstr "قسائم"
 
-msgid "Note"
-msgstr "الملاحظة"
-
 msgid "Geography"
 msgstr ""
 
@@ -19964,9 +20039,6 @@ msgstr ""
 msgid "House number"
 msgstr "رقم المنزل"
 
-msgid "House name"
-msgstr "تسمية المنزل"
-
 msgid "Street name"
 msgstr "إسم الشارع"
 
@@ -19979,8 +20051,8 @@ msgstr "إسم المدينة"
 msgid "Country code"
 msgstr "رمز البلد"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "تسمية المنزل"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20651,6 +20723,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20785,6 +20864,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21030,6 +21112,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21387,6 +21472,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21405,6 +21493,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21441,6 +21535,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21479,6 +21576,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21500,9 +21600,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21537,6 +21645,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22731,6 +22842,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25748,7 +25865,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26409,6 +26528,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26448,6 +26570,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26938,7 +27066,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ast.po b/i18n/po/ast.po
index f7733d0..d86acfe 100644
--- a/i18n/po/ast.po
+++ b/i18n/po/ast.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-10-04 23:51+0000\n"
-"Last-Translator: edrux <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-28 13:03+0000\n"
+"Last-Translator: Don-vip <Unknown>\n"
 "Language-Team: Asturian <ast 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: 2014-12-10 04:35+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:36+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ast\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -50,10 +50,10 @@ msgid "Invalid value {0} for parameter ''has_arg''"
 msgstr "Valor {0} inválidu pal parámetru ''has_arg''"
 
 msgid "Background Terms of Use"
-msgstr "Condiciones d'usu del fondu"
+msgstr "Condiciones d''usu del fondu"
 
 msgid "Opening link not supported on current platform (''{0}'')"
-msgstr "Nun hai sofitu p'abrir l'enllaz na plataforma actual (''{0}'')"
+msgstr "Nun hai sofitu p''abrir l''enllaz na plataforma actual (''{0}'')"
 
 msgid "ERROR: {0}"
 msgstr "ERROR: {0}"
@@ -71,16 +71,16 @@ msgid "Cause: "
 msgstr "Causa: "
 
 msgid "Executing platform startup hook"
-msgstr "Executando l'enganche d'aniciu de la plataforma"
+msgstr "Executando l''enganche d''aniciu de la plataforma"
 
 msgid "Building main menu"
-msgstr "Construyendo'l menú principal"
+msgstr "Construyendo''l menú principal"
 
 msgid "Help"
 msgstr "Ayuda"
 
 msgid "Initializing OSM API"
-msgstr "Aniciando API d'OSM"
+msgstr "Aniciando API d''OSM"
 
 msgid "Initializing validator"
 msgstr "Aniciando validador"
@@ -92,10 +92,10 @@ msgid "Initializing map styles"
 msgstr "Aniciando estilos de mapa"
 
 msgid "Loading imagery preferences"
-msgstr "Cargando les preferencies d'imaxes"
+msgstr "Cargando les preferencies d''imaxes"
 
 msgid "Updating user interface"
-msgstr "Anovando interfaz d'usuariu"
+msgstr "Anovando interfaz d''usuariu"
 
 msgid "{0} completed in {1}"
 msgstr "{0} completáu en {1}"
@@ -137,7 +137,7 @@ msgid "Display the about screen."
 msgstr "Amosar la pantalla Tocante a..."
 
 msgid "Java OpenStreetMap Editor"
-msgstr "Editor Java d'OpenStreetMap"
+msgstr "Editor Java d''OpenStreetMap"
 
 msgid "Version {0}"
 msgstr "Versión {0}"
@@ -149,7 +149,7 @@ msgid "Java Version {0}"
 msgstr "Versión de Java {0}"
 
 msgid "Homepage"
-msgstr "Páxina d'aniciu"
+msgstr "Páxina d''aniciu"
 
 msgid "Bug Reports"
 msgstr "Informes de fallos"
@@ -183,10 +183,10 @@ msgid_plural ""
 "screen with browser windows<br>and take some time to finish."
 msgstr[0] ""
 "Ta a piques de llanzar una {0} ventana del navegador.<br>Esto pue apexar la "
-"so pantalla coles ventanes del navegador<br>y tardar un tiempu'n finar."
+"so pantalla coles ventanes del navegador<br>y tardar un tiempu''n finar."
 msgstr[1] ""
 "Ta a piques de llanzar una {0} ventana del navegador.<br>Esto pue apexar la "
-"so pantalla coles ventanes del navegador<br>y tardar un tiempu'n finar."
+"so pantalla coles ventanes del navegador<br>y tardar un tiempu''n finar."
 
 msgid "Continue"
 msgstr "Siguir"
@@ -228,7 +228,7 @@ msgid "Add imagery layer {0}"
 msgstr "Amestar capa de imaxes {0}"
 
 msgid "Select image format for WMS layer"
-msgstr "Escoyer formatu d'imaxe pa la capa WMS"
+msgstr "Escoyer formatu d''imaxe pa la capa WMS"
 
 msgid "Select WMS layers"
 msgstr "Escoyer capes WMS"
@@ -323,7 +323,7 @@ msgid "next"
 msgstr "siguiente"
 
 msgid "Nothing selected to zoom to."
-msgstr "Nun s'esbilló nada p'ampliar."
+msgstr "Nun s''esbilló nada p''ampliar."
 
 msgid "Information"
 msgstr "Información"
@@ -338,7 +338,7 @@ msgid "View: {0}"
 msgstr "Vista: {0}"
 
 msgid "No conflicts to zoom to"
-msgstr "Nun hai conflictos qu'ampliar."
+msgstr "Nun hai conflictos qu''ampliar."
 
 msgid "Changeset Manager"
 msgstr "Alministrador de cambios"
@@ -458,14 +458,14 @@ msgstr "Distribuir nodos"
 
 msgid "Distribute the selected nodes to equal distances along a line."
 msgstr ""
-"Distribuir los nodos seleicionaos a distancies iguales a lo llargo d'una "
+"Distribuir los nodos seleicionaos a distancies iguales a lo llargo d''una "
 "llinia."
 
 msgid "Ignoring {0} nodes with null coordinates"
 msgstr "Ignorando {0} nodos con coordenaes nules"
 
 msgid "Download from OSM..."
-msgstr "Descargar d'OSM..."
+msgstr "Descargar d''OSM..."
 
 msgid "Download map data from the OSM server."
 msgstr "Descargar datos del mapa del sirvidor OSM."
@@ -503,7 +503,7 @@ msgid "Exit"
 msgstr "Colar"
 
 msgid "Exit the application."
-msgstr "Colar de l'aplicación"
+msgstr "Colar de l''aplicación"
 
 msgid "Expert Mode"
 msgstr "Mou espertu"
@@ -543,7 +543,7 @@ msgstr "Historial"
 
 msgid "Display history information about OSM ways, nodes, or relations."
 msgstr ""
-"Amostrar la información del historial de víes, nodos o rellaciones d'OSM."
+"Amostrar la información del historial de víes, nodos o rellaciones d''OSM."
 
 msgid "Show history"
 msgstr "Amosar historial"
@@ -555,14 +555,14 @@ msgid ""
 "Display history information about OSM ways, nodes, or relations in web "
 "browser."
 msgstr ""
-"Amosar información del historial de les víes, nodos, o rellaciones d'OSM nel "
-"restolador web."
+"Amosar información del historial de les víes, nodos, o rellaciones d''OSM "
+"nel restolador web."
 
 msgid "New offset"
 msgstr "Nueva distancia"
 
 msgid "Adjust the position of this imagery layer"
-msgstr "Axusta la posición d'esta capa d'imaxes"
+msgstr "Axusta la posición d''esta capa d''imaxes"
 
 msgid "Adjust imagery offset"
 msgstr "Axusta la posición de les imaxes"
@@ -576,10 +576,10 @@ msgid ""
 "You can also enter east and north offset in the {0} coordinates.\n"
 "If you want to save the offset as bookmark, enter the bookmark name below"
 msgstr ""
-"Usa les fleches o arrastra la capa d'imaxes col mur p'axustar la posición de "
-"les imaxes.\n"
+"Usa les fleches o arrastra la capa d''imaxes col mur p''axustar la posición "
+"de les imaxes.\n"
 "Tamién puedes escribir la distancia al este y al norte nes coordenaes {0}.\n"
-"Si quies guardar la distancia nún marcador, escribi'l so nome abaxo"
+"Si quies guardar la distancia nún marcador, escribi''l so nome abaxo"
 
 msgid "Offset: "
 msgstr "Distancia: "
@@ -599,7 +599,8 @@ msgstr "Información avanzada"
 msgid ""
 "Display advanced object information about OSM nodes, ways, or relations."
 msgstr ""
-"Amosar información avanzada d'oxetu de les víes, nodos, o rellaciones d'OSM."
+"Amosar información avanzada d''oxetu de les víes, nodos, o rellaciones "
+"d''OSM."
 
 msgid "Advanced info (web)"
 msgstr "Información avanzada (web)"
@@ -608,7 +609,7 @@ msgid ""
 "Display object information about OSM nodes, ways, or relations in web "
 "browser."
 msgstr ""
-"Amosar información d'oxetu de les víes, nodos, o rellaciones d'OSM nel "
+"Amosar información d''oxetu de les víes, nodos, o rellaciones d''OSM nel "
 "restolador web."
 
 msgid "Join overlapping Areas"
@@ -647,10 +648,10 @@ msgid "Please abort if you are not sure"
 msgstr "Por favor, encaboxa si nun tas seguru"
 
 msgid "The selected area is incomplete. Continue?"
-msgstr "L'área seleicionada ta incompleta. ¿Siguir?"
+msgstr "L''área seleicionada ta incompleta. ¿Siguir?"
 
 msgid "No intersection found. Nothing was changed."
-msgstr "Nun s'alcontró denguna interseición. Nun se camudó ren."
+msgstr "Nun s''alcontró denguna interseición. Nun se camudó ren."
 
 msgid "Move tags from ways to relations"
 msgstr "Treslladar les etiquetes dende les víes a les relaciones"
@@ -662,7 +663,7 @@ msgid "Removed duplicate nodes"
 msgstr "Se desaniciaron nodos duplicaos"
 
 msgid "Added node on all intersections"
-msgstr "S'amestó un nodu en toles interseiciones"
+msgstr "S''amestó un nodu en toles interseiciones"
 
 msgid "Assemble new polygons"
 msgstr "Ensamblar nuevos polígonos"
@@ -671,7 +672,7 @@ msgid "Delete relations"
 msgstr "Desaniciar rellaciones"
 
 msgid "Delete Ways that are not part of an inner multipolygon"
-msgstr "Desaniciar víes que nun son parte d'un multipolígonu interior"
+msgstr "Desaniciar víes que nun son parte d''un multipolígonu interior"
 
 msgid "Joined overlapping areas"
 msgstr "Se xuntaron árees superpuestes"
@@ -681,10 +682,10 @@ msgid ""
 "verify no errors have been introduced."
 msgstr ""
 "Dalgunes de les víes formaba parte de relaciones que fueron "
-"modificaes.<br>Por favor verifique que nun s'introducieron erros."
+"modificaes.<br>Por favor verifique que nun s''introducieron erros."
 
 msgid "Fix tag conflicts"
-msgstr "Arreglar conflictos d'etiquetes"
+msgstr "Arreglar conflictos d''etiquetes"
 
 msgid "Split ways into fragments"
 msgstr "Dividir víes en fragmentos"
@@ -733,7 +734,7 @@ msgstr "Mover nodu so la vía"
 
 msgid "Move the node onto the nearest way segments and include it"
 msgstr ""
-"Mover el nodo sobre'l segmentu de vía más cercana ya incluyilo n'este"
+"Mover el nodo sobre''l segmentu de vía más cercana ya incluyilo n''este"
 
 msgid "No Shortcut"
 msgstr "Dengún atayu"
@@ -779,7 +780,7 @@ msgid "Lasso Mode"
 msgstr "Mou Lasso"
 
 msgid "Lasso selection mode: select objects within a hand-drawn region"
-msgstr "Mou de selección Lasso: escoyer oxetos dientro d'una rexón dibuxada"
+msgstr "Mou de selección Lasso: escoyer oxetos dientro d''una rexón dibuxada"
 
 msgid "Rectified Image..."
 msgstr "Imaxe rectificada..."
@@ -809,7 +810,7 @@ msgid ""
 "Couldn''t match the entered link or id to the selected service. Please try "
 "again."
 msgstr ""
-"Nun casen l'enllaz o la id escritos col serviciu seleicionáu. Vuelvi a "
+"Nun casen l''enllaz o la id escritos col serviciu seleicionáu. Vuelvi a "
 "tentalo."
 
 msgid "No valid WMS URL or id"
@@ -819,7 +820,7 @@ msgid "Merge layer"
 msgstr "Xunir capa"
 
 msgid "Merge the current layer into another layer"
-msgstr "Sumir la capa actual n'otra capa"
+msgstr "Sumir la capa actual n''otra capa"
 
 msgid "Merging layers with different upload policies"
 msgstr "Fundiendo capes con distintes polítiques de carga"
@@ -835,7 +836,7 @@ msgid ""
 msgstr ""
 "Ta a puntu de fundir datos ente les capes  ''{0}'' y ''{1}''.<br /><br "
 "/>Estes capes tienen distintes polítiques de carga y nun tendríen de ser "
-"fundíes.<br/>La fusión va dar llugar a l'aplicación de la política más "
+"fundíes.<br/>La fusión va dar llugar a l''aplicación de la política más "
 "estricta (prohibir la carga) a ''{1}''.<br /><br /><b>Esta nun ye la manera "
 "encamentada de fundir esti tipu de datos</b>.<br />Tendría de comprobar y "
 "fundir cada oxetu, ún por ún, usando''<i>Opción fundir</i>''.<br /><br />¿Ta "
@@ -878,7 +879,7 @@ msgid "Merge selection"
 msgstr "Xunir la seleición"
 
 msgid "Merge the currently selected objects into another layer"
-msgstr "Xune los oxetos seleicionaos anguaño n'otra capa"
+msgstr "Xune los oxetos seleicionaos anguaño n''otra capa"
 
 msgid "Merging too many objects with different upload policies"
 msgstr "Fundiendo demasiaos oxetos con distintes polítiques de carga"
@@ -925,13 +926,13 @@ msgid "Moves Objects {0}"
 msgstr "Mueve los oxetos {0}"
 
 msgid "Cannot move objects outside of the world."
-msgstr "Nun pueden movese oxetos pa fuera'l mundu."
+msgstr "Nun pueden movese oxetos pa fuera''l mundu."
 
 msgid "Move Node..."
 msgstr "Mover nodu..."
 
 msgid "Edit latitude and longitude of a node."
-msgstr "Editar la llatitú y llonxitú d'un nodu."
+msgstr "Editar la llatitú y llonxitú d''un nodu."
 
 msgid "New Layer"
 msgstr "Capa nueva"
@@ -1030,7 +1031,7 @@ msgid ""
 "patterns shown:<br>{1}"
 msgstr ""
 "Non se pue abrir la URL \"{0}\" <br> Les siguientes xeres de descarga "
-"acepten los patrones d'URL que s'amuesen de siguío:<br>{1}"
+"acepten los patrones d''URL que s''amuesen de siguío:<br>{1}"
 
 msgid ""
 "<h3>When one or more ways are selected, the shape is adjusted such, that all "
@@ -1039,10 +1040,10 @@ msgid ""
 "can undo the movement for certain nodes:<br>Select them and press the "
 "shortcut for Orthogonalize / Undo. The default is Shift-Q.)"
 msgstr ""
-"<h3>Al seleicionar una o más víes, la forma s'axusta de manera que tolos "
+"<h3>Al seleicionar una o más víes, la forma s''axusta de manera que tolos "
 "ángulos formen 90 ó 180 graos.</h3>Pues amestar dos nodos a la seleición. "
 "Entós, la direición la marquen esos dos nodos de referencia. (Dempués podrás "
-"desfacer el movimientu pa dellos nodos:<br>Seleiciónalos y calca l'atayu pa "
+"desfacer el movimientu pa dellos nodos:<br>Seleiciónalos y calca l''atayu pa "
 "Ortogonalizar / Desfacer. El predetermináu ye Mayús-Q.)"
 
 msgid "Orthogonalize Shape"
@@ -1161,9 +1162,9 @@ msgid ""
 "removed from the layer, but <i>not</i> deleted<br> on the server when "
 "uploading."
 msgstr ""
-"Esta operación fai que JOSM s'escaeza de los oxetos seleicionaos.<br> Se "
+"Esta operación fai que JOSM s''escaeza de los oxetos seleicionaos.<br> Se "
 "llimpiarán de la capa, pero <i>nun</i> se desaniciarán<br>cuando se faiga la "
-"xuba de datos al sirvidor"
+"xuba de datos al sirvidor."
 
 msgid ""
 "The following dependent objects will be purged<br> in addition to the "
@@ -1215,7 +1216,7 @@ msgid "Restart"
 msgstr "Reaniciar"
 
 msgid "Restart the application."
-msgstr "Reaniciar l'aplicación"
+msgstr "Reaniciar l''aplicación"
 
 msgid "Click to restart later."
 msgstr "Faiga clic pa reaniciar más tarde."
@@ -1245,7 +1246,7 @@ msgid "File {0} exists. Overwrite?"
 msgstr "El ficheru {0} esiste. ¿Sobroscribir?"
 
 msgid "No Exporter found! Nothing saved."
-msgstr "¡Nun s'alcontró esportador!. Nun se guardó nada."
+msgstr "¡Nun s''alcontró esportador!. Nun se guardó nada."
 
 msgid "File exists. Overwrite?"
 msgstr "Ficheru esistente. ¿Sobroscribir?"
@@ -1267,10 +1268,10 @@ msgstr ""
 "tamién seleiciona los oxetos incompletos."
 
 msgid "Non-branching way sequences"
-msgstr "Secuencies de víes que nun s'encrucien"
+msgstr "Secuencies de víes que nun s''encrucien"
 
 msgid "Select non-branching sequences of ways"
-msgstr "Escoyer secuencies de víes que nun s'encrucien"
+msgstr "Escoyer secuencies de víes que nun s''encrucien"
 
 msgid "Load Session"
 msgstr "Cargar sesión"
@@ -1326,19 +1327,19 @@ msgid "No exporter for this layer"
 msgstr "Nengún esportador pa esta capa"
 
 msgid "Show Status Report"
-msgstr "Amosar informe d'estáu"
+msgstr "Amosar informe d''estáu"
 
 msgid ""
 "Show status report with useful information that can be attached to bugs"
 msgstr ""
-"Amosar l'informe d'estáu con información útil que se pue axuntar a los "
+"Amosar l''informe d''estáu con información útil que se pue axuntar a los "
 "errores"
 
 msgid "Help: {0}"
 msgstr "Ayuda: {0}"
 
 msgid "Status Report"
-msgstr "Informe d'estáu"
+msgstr "Informe d''estáu"
 
 msgid "Copy to clipboard and close"
 msgstr "Copiar al cartafueyu y zarrar"
@@ -1350,7 +1351,7 @@ msgid "Simplify Way"
 msgstr "Simplificar vía"
 
 msgid "Delete unnecessary nodes from a way."
-msgstr "Desaniciar los nodos innecesarios d'una vía."
+msgstr "Desaniciar los nodos innecesarios d''una vía."
 
 msgid "Please select at least one way to simplify."
 msgstr "Seleiciona polo menos una vía pa simplificar."
@@ -1408,7 +1409,7 @@ msgid_plural ""
 "There is more than one way using the nodes you selected. Please select the "
 "way also."
 msgstr[0] ""
-"Hai más de una vía usando'l nodu que seleicionasti. Por favor seleiciona "
+"Hai más de una vía usando''l nodu que seleicionasti. Por favor seleiciona "
 "tamién la vía."
 msgstr[1] ""
 "Hai más de una vía usando los nodos que seleicionasti. Por favor seleiciona "
@@ -1465,10 +1466,10 @@ msgid "This node is not glued to anything else."
 msgstr "Esti nodo nun ta pegáu a nenguna otra cosa."
 
 msgid "None of these nodes are glued to anything else."
-msgstr "Nengún d'éstos nodos ta pegáu a nenguna otra cosa."
+msgstr "Nengún d''éstos nodos ta pegáu a nenguna otra cosa."
 
 msgid "None of this way''s nodes are glued to anything else."
-msgstr "Nengún de los nodos d'esta vía ta pegáu a nenguna otra cosa."
+msgstr "Nengún de los nodos d''esta vía ta pegáu a nenguna otra cosa."
 
 msgid "The current selection cannot be used for unglueing."
 msgstr "La selección actual non puede usase pa desapegar."
@@ -1480,19 +1481,19 @@ msgid "* One tagged node, or"
 msgstr "* Un nodo etiquetáu, o"
 
 msgid "* One node that is used by more than one way, or"
-msgstr "* Un nodo que sía usáu por más d'una vía, o"
+msgstr "* Un nodo que sía usáu por más d''una vía, o"
 
 msgid ""
 "* One node that is used by more than one way and one of those ways, or"
-msgstr "* Un nodo usáu por más d'una vía y una d'eses víes, o"
+msgstr "* Un nodo usáu por más d''una vía y una d''eses víes, o"
 
 msgid ""
 "* One way that has one or more nodes that are used by more than one way, or"
-msgstr "* Una vía que tenga un nodo o más usáu por más d'una vía, o"
+msgstr "* Una vía que tenga un nodo o más usáu por más d''una vía, o"
 
 msgid ""
 "* One way and one or more of its nodes that are used by more than one way."
-msgstr "* Una vía y un nodo o más de los sos nodos usaos por más d'una vía."
+msgstr "* Una vía y un nodo o más de los sos nodos usaos por más d''una vía."
 
 msgid ""
 "Note: If a way is selected, this way will get fresh copies of the unglued\n"
@@ -1534,13 +1535,13 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to unglue?"
 msgstr ""
 "Ta a puntu de desapegar oxetos incompletos.<br>Esto va causar problemes por "
-"cuenta de que nun va ver l'oxetu real.<br>¿Realmente quier desapegar?"
+"cuenta de que nun va ver l''oxetu real.<br>¿Realmente quier desapegar?"
 
 msgid "Disconnect Node from Way"
 msgstr "Desconectar nodo de la vía"
 
 msgid "Disconnect nodes from a way they currently belong to"
-msgstr "Desconectar nodos dende una vía a la qu'anguaño pertenecen"
+msgstr "Desconectar nodos dende una vía a la qu''anguaño pertenecen"
 
 msgid "Select at least one node to be disconnected."
 msgstr "Escueye siquier un nodo a ser desconectáu."
@@ -1580,7 +1581,7 @@ msgid "Update data"
 msgstr "Anovar datos"
 
 msgid "Updates the objects in the active data layer from the server."
-msgstr "Actualizar dende'l servidor los oxetos na capa de datos activa."
+msgstr "Actualizar dende''l servidor los oxetos na capa de datos activa."
 
 msgid "Update modified"
 msgstr "Anovamientu camudáu"
@@ -1588,8 +1589,8 @@ msgstr "Anovamientu camudáu"
 msgid ""
 "Updates the currently modified objects from the server (re-downloads data)"
 msgstr ""
-"Actualiza dende'l servidor los objectos anguaño modificaos (vuelve descargar "
-"los datos)"
+"Actualiza dende''l servidor los objectos anguaño modificaos (vuelve "
+"descargar los datos)"
 
 msgid "No current dataset found"
 msgstr "Actualización de datos non atopada"
@@ -1603,7 +1604,7 @@ msgstr "Anovar seleición"
 msgid ""
 "Updates the currently selected objects from the server (re-downloads data)"
 msgstr ""
-"Actualizar los oxetos anguaño escoyíos dende'l servidor (re-descarga de "
+"Actualizar los oxetos anguaño escoyíos dende''l servidor (re-descarga de "
 "datos)"
 
 msgid "There are no selected objects to update."
@@ -1692,7 +1693,7 @@ msgstr "Siguimientu automáticu"
 
 msgid "Enable/disable automatic moving of the map view to last placed node"
 msgstr ""
-"Habilitar / deshabilitar movimientu automáticu de la vista del mapa hasta'l "
+"Habilitar / deshabilitar movimientu automáticu de la vista del mapa hasta''l "
 "postreru nodo asitiáu"
 
 msgid "Toggle Viewport Following"
@@ -1726,16 +1727,16 @@ msgid "Zoom to the object the first selected member refers to"
 msgstr "Averar al oxetu al que se refier el primer miembru escoyíu"
 
 msgid "Zooming disabled because layer of this relation is not active"
-msgstr "Zoom desactiváu, porque la capa d'esta relación nun ta activa"
+msgstr "Zoom desactiváu, porque la capa d''esta relación nun ta activa"
 
 msgid "Zooming disabled because there is no selected member"
-msgstr "Desactivóse'l zoom por cuenta de que nun hai nengún miembru escoyíu"
+msgstr "Desactivóse''l zoom por cuenta de que nun hai nengún miembru escoyíu"
 
 msgid "Zoom to the first selected node"
 msgstr "Zoom al primer nodo escoyíu"
 
 msgid "Zooming disabled because layer of this way is not active"
-msgstr "Zoom desactiváu porque la capa d'esta vía nun ta activa"
+msgstr "Zoom desactiváu porque la capa d''esta vía nun ta activa"
 
 msgid "Zooming disabled because there is no selected node"
 msgstr "Zoom desactiváu porque nun hai nengún nodo escoyíu"
@@ -1834,7 +1835,7 @@ msgstr ""
 "Ignorando la esceición yá que la descarga foi atayada. La esceición yera: {0}"
 
 msgid "No data found in this area."
-msgstr "Nun s'alcontraron datos nesti área."
+msgstr "Nun s''alcontraron datos nesti área."
 
 msgid "OSM Server URL:"
 msgstr "URL del servidor OSM:"
@@ -2010,7 +2011,7 @@ msgid "Create new node."
 msgstr "Crear un nodu nuevu."
 
 msgid "Select node under cursor."
-msgstr "Seleicionar el nodu baxo'l cursor."
+msgstr "Seleicionar el nodu baxo''l cursor."
 
 msgid "Insert new node into way."
 msgid_plural "Insert new node into {0} ways."
@@ -2018,10 +2019,10 @@ msgstr[0] "Inxertar un nodu nuevu na vía."
 msgstr[1] "Inxertar un nodu nuevu en {0} víes."
 
 msgid "Start new way from last node."
-msgstr "Principiar una nueva vía dende'l caberu nodu."
+msgstr "Principiar una nueva vía dende''l caberu nodu."
 
 msgid "Continue way from last node."
-msgstr "Siguir la vía dende'l caberu nodu."
+msgstr "Siguir la vía dende''l caberu nodu."
 
 msgid "Angle snapping active."
 msgstr "Autoensambláu d`ángulos activu."
@@ -2060,16 +2061,16 @@ msgid "0,30,45,60,90,..."
 msgstr "0,30,45,60,90,..."
 
 msgid "Angle snapping"
-msgstr "Autoensambláu d'ángulos"
+msgstr "Autoensambláu d''ángulos"
 
 msgid "Switch angle snapping mode while drawing"
-msgstr "Conmutar el mou d'axuste d'ángulu mientres se dibuxa"
+msgstr "Conmutar el mou d''axuste d''ángulu mientres se dibuxa"
 
 msgid "Dual alignment"
 msgstr "Alliniadura dual"
 
 msgid "Switch dual alignment mode while extruding"
-msgstr "Mou d'alliniadura dual mientres la estrusión"
+msgstr "Mou d''alliniadura dual mientres la estrusión"
 
 msgid "Extrude"
 msgstr "Estrusionar"
@@ -2087,7 +2088,7 @@ msgid ""
 msgstr ""
 "Arrastra un segmentu de vía pa facer un rectángulu. Ctrl+Arrastrar pa mover "
 "un segmentu a lo llargo de la normal, Alt+Arrastrar pa crear un rectángulu "
-"nuevu, doble clic p'amestar un nodu nuevu."
+"nuevu, doble clic p''amestar un nodu nuevu."
 
 msgid "Dual alignment active."
 msgstr "Alliniadura dual activa"
@@ -2097,16 +2098,16 @@ msgstr "Segmentu colapsáu  por cuenta del so sentíu inversu."
 
 msgid "Move a segment along its normal, then release the mouse button."
 msgstr ""
-"Muevi un segmentu a lo llargo de la normal, y llueu suelta'l botón del mur."
+"Muevi un segmentu a lo llargo de la normal, y llueu suelta''l botón del mur."
 
 msgid ""
 "Move the node along one of the segments, then release the mouse button."
 msgstr ""
-"Mueva'l nodo a lo llargo de los segmentos, depués suelte'l botón del mure"
+"Mueva''l nodo a lo llargo de los segmentos, depués suelte''l botón del mure"
 
 msgid "Draw a rectangle of the desired size, then release the mouse button."
 msgstr ""
-"Dibuxa un rectángulu del tamañu deseáu, y llueu suelta'l botón del mur."
+"Dibuxa un rectángulu del tamañu deseáu, y llueu suelta''l botón del mur."
 
 msgid "Extrude: main line"
 msgstr "Estrusión: llínea principal"
@@ -2124,7 +2125,7 @@ msgid "Improve Way Accuracy mode"
 msgstr "Mou de meyora de la precisión de la vía"
 
 msgid "improve way accuracy helper line"
-msgstr "llínea guía p'ameyorar la precisión de la vía"
+msgstr "llínea guía p''ameyorar la precisión de la vía"
 
 msgid "Click on the way to start improving its shape."
 msgstr "Faiga click na vía pa entamar a ameyorar la so forma."
@@ -2136,7 +2137,7 @@ msgid ""
 "Click to add a new node. Release Ctrl to move existing nodes or hold Alt to "
 "delete."
 msgstr ""
-"Faiga clic p'añedir un nuevu nodo. Suelte la tecla Ctrl pa mover los nodos "
+"Faiga clic p''añedir un nuevu nodo. Suelte la tecla Ctrl pa mover los nodos "
 "esistentes o caltenga apertada la tecla Alt pa esaniciar."
 
 msgid ""
@@ -2144,17 +2145,17 @@ msgid ""
 "hold Ctrl to add new nodes."
 msgstr ""
 "Faiga clic pa esaniciar el nodo escoyíu. Suelte la tecla Alt pa mover los "
-"nodos esistentes o calten pulsiáu Ctrl p'añedir nuevos nodos."
+"nodos esistentes o calten pulsiáu Ctrl p''añedir nuevos nodos."
 
 msgid ""
 "Click to move the highlighted node. Hold Ctrl to add new nodes, or Alt to "
 "delete."
 msgstr ""
-"Faiga clic pa mover el nodo resaltáu. Caltenga pulsiáu Ctrl p'añedir nuevos "
+"Faiga clic pa mover el nodo resaltáu. Caltenga pulsiáu Ctrl p''añedir nuevos "
 "nodos o Alt pa esaniciar."
 
 msgid "Cannot place a node outside of the world."
-msgstr "Non puede asitiase un nodo fora'l mundu."
+msgstr "Non puede asitiase un nodo fora''l mundu."
 
 msgid "Add a new node to way"
 msgid_plural "Add a new node to {0} ways"
@@ -2182,7 +2183,7 @@ msgid ""
 msgstr ""
 "Esbilla víes como nel mou Seleición. Arrastra les víes esbillaes o una vía "
 "única pa crear una copia paralela (Alt activa o desactiva la conservación "
-"d'etiquetes)"
+"d''etiquetes)"
 
 msgid "Hold Ctrl to toggle snapping"
 msgstr "Caltener pulsiáu Ctrl pa conmutar el autoensambláu"
@@ -2205,7 +2206,7 @@ msgid ""
 "SHIFT+release to synchronize audio at that point."
 msgstr ""
 "Mueva la flecha de reproducción y suéltela cerca de la trazar pa reproducir "
-"audiu dende esi puntu; usa MAYUS+soltar pa sincronizar l'audiu nesi puntu."
+"audiu dende esi puntu; usa MAYUS+soltar pa sincronizar l''audiu nesi puntu."
 
 msgid "Select"
 msgstr "Escoyer"
@@ -2246,20 +2247,20 @@ msgid "Ctrl to merge with nearest node."
 msgstr "Ctrl pa xuntar nodos cercanos."
 
 msgid "Release the mouse button to stop moving."
-msgstr "Suelte'l botón del mure pa detener el movimientu."
+msgstr "Suelte''l botón del mure pa detener el movimientu."
 
 msgid "Release the mouse button to stop rotating."
 msgstr "Soltar el botón del mure pa dexar de rotar."
 
 msgid "Release the mouse button to stop scaling."
-msgstr "Suelte'l botón del mure pa detener l'escaláu"
+msgstr "Suelte''l botón del mure pa detener l''escaláu"
 
 msgid ""
 "Move objects by dragging; Shift to add to selection (Ctrl to toggle); Shift-"
 "Ctrl to rotate selected; Alt-Ctrl to scale selected; or change selection"
 msgstr ""
-"Mover los oxetos abasnando'l mure: Shift p'añedir a la selección (Ctrl para "
-"conmutar); Shift-Ctrl pa rotar la selección; Alt-Ctrl pa esguilar la "
+"Mover los oxetos abasnando''l mure: Shift p''añedir a la selección (Ctrl "
+"para conmutar); Shift-Ctrl pa rotar la selección; Alt-Ctrl pa esguilar la "
 "selección; o camudar la selección"
 
 msgid "Add and move a virtual new node to way"
@@ -2309,7 +2310,7 @@ msgid "Download incomplete members"
 msgstr "Descargar miembros incompletos"
 
 msgid "Create a copy of this relation and open it in another editor window"
-msgstr "Crear una copia d'esta relación y abrir n'otra ventana d'edición."
+msgstr "Crear una copia d''esta relación y abrir n''otra ventana d''edición."
 
 msgid "Edit"
 msgstr "Editar"
@@ -2389,7 +2390,7 @@ msgid "<key>"
 msgstr "<clave>"
 
 msgid "<question mark>"
-msgstr "<signu d'interrogación>"
+msgstr "<signu d''interrogación>"
 
 msgid "<end-of-file>"
 msgstr "<fin-de-ficheru>"
@@ -2540,7 +2541,7 @@ msgid ""
 "<b>tags:</b>... - objects with given number of tags (<b>tags:</b>count, "
 "<b>tags:</b>min-max, <b>tags:</b>min- or <b>tags:</b>-max)"
 msgstr ""
-"<b>tags:</b>... - oxetos con un determináu númberu d'etiquetes "
+"<b>tags:</b>... - oxetos con un determináu númberu d''etiquetes "
 "(<b>tags:</b>contaos, <b>tags:</b>min-max, <b>tags:</b>min- o <b>tags:</b>-"
 "max)"
 
@@ -2621,11 +2622,11 @@ msgid ""
 "escaped by a preceding <b>\\</b> (e.g. <b>\\\"</b> and <b>\\\\</b>)."
 msgstr ""
 "Dientro de les cadenes ente comines los carauteres <b>\"</b> y <b>\\</b> "
-"tienen d'escapase  poniendo antes <b>\\</b> (p.ex. <b>\\\"</b> y <b>\\\\"
+"tienen d''escapase  poniendo antes <b>\\</b> (p.ex. <b>\\\"</b> y <b>\\\\"
 "</b>)."
 
 msgid "Use <b>(</b> and <b>)</b> to group expressions"
-msgstr "Usar <b>(</b> y <b>)</b> p'agrupar espresiones"
+msgstr "Usar <b>(</b> y <b>)</b> p''agrupar espresiones"
 
 msgid "basic examples"
 msgstr "exemplos básicos"
@@ -2665,7 +2666,7 @@ msgstr "coincidencies si la \"clave\" esiste"
 
 msgid "matches if ''key'' is greater than ''value'' (analogously, less than)"
 msgstr ""
-"concuerda si ''clave'' ye menor que ''value'' (n'otres palabres, menor que)"
+"concuerda si ''clave'' ye menor que ''value'' (n''otres palabres, menor que)"
 
 msgid "combinators"
 msgstr "combinadores"
@@ -2681,7 +2682,7 @@ msgid "logical not"
 msgstr "non lóxicu"
 
 msgid "use parenthesis to group expressions"
-msgstr "usar paréntesis p'arrexuntar espresiones"
+msgstr "usar paréntesis p''arrexuntar espresiones"
 
 msgid ""
 "to quote operators.<br>Within quoted strings the <b>\"</b> and <b>\\</b> "
@@ -2853,8 +2854,8 @@ msgstr "Rangu de versiones esperaos"
 
 msgid "Key cannot be empty when tag operator is used. Sample use: key=value"
 msgstr ""
-"La clave nun puede tar vacida cuando s'usa l'operador d'etiqueta. Exemplu "
-"d'usu: clave=valor"
+"La clave nun puede tar vacida cuando s''usa l''operador d''etiqueta. Exemplu "
+"d''usu: clave=valor"
 
 msgid "Unknown primitive type: {0}. Allowed values are node, way or relation"
 msgstr ""
@@ -2865,7 +2866,7 @@ msgid "Positive integer expected"
 msgstr "Enteru positivu esperáu"
 
 msgid "Range of numbers expected"
-msgstr "S'esperaba un rangu de númberos"
+msgstr "S''esperaba un rangu de númberos"
 
 msgid "Unexpected token. Expected {0}, found {1}"
 msgstr "Elementu ensin esperar. Esperábase {0} pero atopóse {1}"
@@ -2945,7 +2946,7 @@ msgid ""
 "cancel this dialog, you can find the entries in the validator side panel to "
 "inspect them."
 msgstr ""
-"Los resultaos siguientes vienen d'una validación automática. Prueba a "
+"Los resultaos siguientes vienen d''una validación automática. Prueba a "
 "igualos, pero ten cuidáu (nun destruyas datos válidos). Si tienes duldes, "
 "inóralos.<br>Cuando encaboxes esti diálogu, pues alcontrar les entraes nel "
 "panel llateral del validador pa revisales."
@@ -2954,7 +2955,7 @@ msgid "Errors"
 msgstr "Fallos"
 
 msgid "Usually this should be fixed."
-msgstr "Normalmente esto tendría d'arreglase."
+msgstr "Normalmente esto tendría d''arreglase."
 
 msgid "Warnings"
 msgstr "Alvertencies"
@@ -2967,7 +2968,7 @@ msgstr "Otru"
 
 msgid "Informational warnings, expect many false entries."
 msgstr ""
-"Avisos informativos, anque ye probable qu'ente ellos esistan falsos "
+"Avisos informativos, anque ye probable qu''ente ellos esistan falsos "
 "problemes."
 
 msgid "Suspicious data found. Upload anyway?"
@@ -3055,7 +3056,7 @@ msgid "Change relation member role for {0} {1}"
 msgstr "Modificar la función del miembru de la relación pa {0} {1}"
 
 msgid "At least one object to delete required, got empty collection"
-msgstr "Ríquese siquier un oxetu pa borrar, nun s'escoyó nengún."
+msgstr "Ríquese siquier un oxetu pa borrar, nun s''escoyó nengún."
 
 msgid "Delete node {0}"
 msgstr "Desaniciar el nodu {0}"
@@ -3097,8 +3098,8 @@ msgid ""
 "downloaded.<br>This can cause problems because other objects (that you do "
 "not see) might use them.<br>Do you really want to delete?"
 msgstr ""
-"Ta a puntu d'esaniciar nodos fuera de la área que se descargó.<br>Esto puede "
-"causar problemes yá que otros oxetos (que nun puede ver) pueden tar "
+"Ta a puntu d''esaniciar nodos fuera de la área que se descargó.<br>Esto "
+"puede causar problemes yá que otros oxetos (que nun puede ver) pueden tar "
 "usándolos.<br>¿Ta seguru que quier borrar?"
 
 msgid ""
@@ -3106,7 +3107,7 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to delete?"
 msgstr ""
 "Va esaniciar oxetos incompletos.<br> Esto va causar problemes porque nun ve "
-"l'oxetu real.<br>¿Ta seguru que deseya borrar?"
+"l''oxetu real.<br>¿Ta seguru que deseya borrar?"
 
 msgid ""
 "You are about to delete {0} relation: {1}<br/>This step is rarely necessary "
@@ -3309,14 +3310,14 @@ msgid "Roles in relations referring to"
 msgstr "Roles nes rellaciones que refieren a"
 
 msgid "Automatic tag correction"
-msgstr "Correición automática d'etiquetes"
+msgstr "Correición automática d''etiquetes"
 
 msgid "Unable to create directory {0}, autosave will be disabled"
 msgstr ""
-"Nun se pue crear el directoriu {0}. Va evacuase'l guardáu automáticu."
+"Nun se pue crear el directoriu {0}. Va evacuase''l guardáu automáticu."
 
 msgid "Unable to create file {0}, other filename will be used"
-msgstr "Imposible crear l`arquivu {0}, va utilizase otru nome d'arquivu"
+msgstr "Imposible crear l`arquivu {0}, va utilizase otru nome d''arquivu"
 
 msgid "IOError while creating file, autosave will be skipped: {0}"
 msgstr "IOError creando l`arquivu. Nun se va guardar automáticamente: {0}"
@@ -3465,7 +3466,7 @@ msgstr ""
 "''{0}''"
 
 msgid "The revision file ''/REVISION'' is missing."
-msgstr "Falta l'arquivu de revisión ''/REVISION''."
+msgstr "Falta l''arquivu de revisión ''/REVISION''."
 
 msgid "Already registered a conflict for primitive ''{0}''."
 msgstr "Yá se rexistró un conflictu pa la primitiva «{0}»."
@@ -3499,7 +3500,7 @@ msgid "E"
 msgstr "E"
 
 msgid "Not in cache"
-msgstr "Nun ta'n caché"
+msgstr "Nun ta''n caché"
 
 msgid "Projection ''{0}'' is not found, bookmark ''{1}'' is not usable"
 msgstr ""
@@ -3578,7 +3579,7 @@ msgid ""
 "other is not"
 msgstr ""
 "Non puede realizase la unión porque una de de les primitives participantes "
-"ye nueva y l'otra non."
+"ye nueva y l''otra non."
 
 msgid ""
 "Cannot merge primitives with different ids. This id is {0}, the other is {1}"
@@ -3611,8 +3612,8 @@ msgid ""
 "Tag collection cannot be applied to a primitive because there are keys with "
 "multiple values."
 msgstr ""
-"Non puede aplicase el conxuntu d'etiquetes a una primitiva porque hai claves "
-"con múltiples valores."
+"Non puede aplicase el conxuntu d''etiquetes a una primitiva porque hai "
+"claves con múltiples valores."
 
 msgid "<anonymous>"
 msgstr "<anónimu>"
@@ -3669,15 +3670,15 @@ msgid "Wireframe Map Renderer"
 msgstr "Renderizador de mapa esquemáticu"
 
 msgid "Renders the map as simple wire frame."
-msgstr "Renderiza el mapa como un armazón d'alambre senciellu."
+msgstr "Renderiza el mapa como un armazón d''alambre senciellu."
 
 msgid "Styled Map Renderer"
 msgstr "Renderizador de mapa estilizáu"
 
 msgid "Renders the map using style rules in a set of style sheets."
 msgstr ""
-"Dibuxa'l mapa usando riegles d'estilu definíes nun conxuntu de fueyes "
-"d'estilu."
+"Dibuxa''l mapa usando riegles d''estilu definíes nun conxuntu de fueyes "
+"d''estilu."
 
 msgid "inactive"
 msgstr "inactivu"
@@ -3743,7 +3744,7 @@ msgid "Ellipsoid ''{0}'' not supported."
 msgstr "Elipsoide ''{0}'' non almitíu."
 
 msgid "Combination of ellipsoid parameters is not supported."
-msgstr "La combinación de parámetros d'elipsoide nun ye almitida"
+msgstr "La combinación de parámetros d''elipsoide nun ye almitida"
 
 msgid "Ellipsoid required (+ellps=* or +a=*, +b=*)"
 msgstr "Elipsoide riquíu (+ellps=* or +a=*, +b=*)"
@@ -3762,7 +3763,7 @@ msgstr "Riquise (+datum=*, +towgs84=* or +nadgrids=*)"
 msgid ""
 "Unexpected number of arguments for parameter ''towgs84'' (must be 3 or 7)"
 msgstr ""
-"Númberu inesperáu d'argumentos pal parámetru ''towgs84'' (tien de tener 3 o "
+"Númberu inesperáu d''argumentos pal parámetru ''towgs84'' (tien de tener 3 o "
 "7)"
 
 msgid "Unable to parse value of parameter ''towgs84'' (''{0}'')"
@@ -3776,7 +3777,7 @@ msgstr "Identificador de proyección desconocíu: ''{0}''."
 
 msgid "Unexpected number of arguments for parameter ''+bounds'' (must be 4)"
 msgstr ""
-"Númberu inesperáu d'argumentos pal parámetru \"+bounds\" (tien de ser 4)"
+"Númberu inesperáu d''argumentos pal parámetru \"+bounds\" (tien de ser 4)"
 
 msgid "Unknown parameter ''{0}''"
 msgstr "Parámetru ''{0}'' desconocíu"
@@ -3901,7 +3902,7 @@ msgstr "Capacidaes API"
 
 msgid "Checks for errors against API capabilities"
 msgstr ""
-"Comprueba la esistencia d'erros en contra de les capacidaes de la API"
+"Comprueba la esistencia d''erros en contra de les capacidaes de la API"
 
 msgid ""
 "Way contains more than {0} nodes. It should be replaced by a multipolygon"
@@ -3918,7 +3919,7 @@ msgid "Checks for errors in barriers and entrances."
 msgstr "Busca erros en barreres y entraes"
 
 msgid "Barrier entrance not set on a barrier"
-msgstr "Entrada de barrera fita fuera d'una barrera"
+msgstr "Entrada de barrera fita fuera d''una barrera"
 
 msgid "Coastlines"
 msgstr "Llínees de mariña"
@@ -3957,7 +3958,7 @@ msgid "Crossing ways"
 msgstr "Encruz de víes"
 
 msgid "Crossing buildings"
-msgstr "Edificios qu'intersecten"
+msgstr "Edificios qu''intersecten"
 
 msgid "Crossing waterways"
 msgstr "Encruz de víes navegables"
@@ -3988,7 +3989,7 @@ msgid "Mixed type duplicated nodes"
 msgstr "Amestar nodos con tipu duplicáu"
 
 msgid "Highway duplicated nodes"
-msgstr "Nodos doblaos d'autopista"
+msgstr "Nodos doblaos d''autopista"
 
 msgid "Railway duplicated nodes"
 msgstr "Nodos doblaos de fierrocarril"
@@ -4000,7 +4001,7 @@ msgid "Boundary duplicated nodes"
 msgstr "Nodos doblaos de frontera"
 
 msgid "Power duplicated nodes"
-msgstr "Nodos doblaos d'elletricidá"
+msgstr "Nodos doblaos d''elletricidá"
 
 msgid "Natural duplicated nodes"
 msgstr "Elementu natural con nodos duplicaos"
@@ -4065,10 +4066,10 @@ msgid "Incorrect roundabout (highway: {0} instead of {1})"
 msgstr "Rotonda incorreuta (camín: {0} en llugar de {1})"
 
 msgid "Highway link is not linked to adequate highway/link"
-msgstr "L'enllaz de vía nun ta conectáu a la vía/enllaz fayadizu"
+msgstr "L''enllaz de vía nun ta conectáu a la vía/enllaz fayadizu"
 
 msgid "Missing pedestrian crossing information"
-msgstr "Falta información d'encruz peatonal"
+msgstr "Falta información d''encruz peatonal"
 
 msgid "Unknown country code: {0}"
 msgstr "Códigu de país desconocíu: {0}"
@@ -4077,10 +4078,13 @@ msgid "Unknown source:maxspeed context: {0}"
 msgstr "Fuente desconocía: contestu maxspeed: {0}"
 
 msgid "Internet tags"
-msgstr "Etiquetes d'Internet"
+msgstr "Etiquetes d''Internet"
 
 msgid "Checks for errors in internet-related tags."
-msgstr "Busca erros n'etiquetes rellacionaes a Internet."
+msgstr "Busca erros n''etiquetes rellacionaes a Internet."
+
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
 
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
@@ -4110,7 +4114,7 @@ msgstr ""
 "Númberu de valores dependientes del carril inconsistentes nel sen inversu"
 
 msgid "Tag checker (MapCSS based)"
-msgstr "Verificador d'etiquetes (basáu'n MapCSS)"
+msgstr "Verificador d''etiquetes (basáu''n MapCSS)"
 
 msgid "This test checks for errors in tag keys and values."
 msgstr ""
@@ -4150,7 +4154,7 @@ msgid "Role for ''{0}'' should be ''{1}''"
 msgstr "El rol pa ''{0}'' tendría de ser ''{1}''"
 
 msgid "No area style for multipolygon"
-msgstr "Nun hai un estilu d'área pa multipolígonu"
+msgstr "Nun hai un estilu d''área pa multipolígonu"
 
 msgid ""
 "Multipolygon relation should be tagged with area tags and not the outer way"
@@ -4164,16 +4168,16 @@ msgstr[1] ""
 "non de les víes esternes"
 
 msgid "Style for inner way equals multipolygon"
-msgstr "L'estilu de vía interna ye igual al del multipolígonu"
+msgstr "L''estilu de vía interna ye igual al del multipolígonu"
 
 msgid "Style for outer way mismatches"
 msgstr "Estilu pa vía esterna non compatible"
 
 msgid "Style for outer way mismatches polygon"
-msgstr "L'estilu de la vía esterna nun coincide col polígonu"
+msgstr "L''estilu de la vía esterna nun coincide col polígonu"
 
 msgid "Area style on outer way"
-msgstr "Estilu d'área en vía esterna"
+msgstr "Estilu d''área en vía esterna"
 
 msgid "Multipolygon is not closed"
 msgstr "El multipolígonu non tá peslláu"
@@ -4198,25 +4202,26 @@ msgid ""
 "to some ''name:*'' attribute and not a composition of ''name:*'' attributes, "
 "e.g., Italia - Italien - Italy."
 msgstr ""
-"Esta prueba detecta los oxetos multilingües que'l so atributu \"name\" nun "
+"Esta prueba detecta los oxetos multilingües que''l so atributu \"name\" nun "
 "coinciden con dalgún de los atributos \"name:*\" introducíos (por casu, "
 "España - Spanien - Spain)."
 
 msgid "A name:* translation is missing."
-msgstr "Un nome:* traducción nun s'atopa."
+msgstr "Un nome:* traducción nun s''atopa."
 
 msgid "A name is missing, even though name:* exists."
-msgstr "Un nome non s'atopa, anque'l nome: * esiste."
+msgstr "Un nome non s''atopa, anque''l nome: * esiste."
 
 msgid "Opening hours syntax"
-msgstr "Sintaxis d'horarios d'apertura"
+msgstr "Sintaxis d''horarios d''apertura"
 
 msgid "This test checks the correct usage of the opening hours syntax."
 msgstr ""
-"Esta prueba verifica el correuto usu de la sintaxis de l'horariu d'apertura."
+"Esta prueba verifica el correuto usu de la sintaxis de l''horariu "
+"d''apertura."
 
 msgid "opening_hours value can be prettified"
-msgstr "el valor d'opening_hours (horarios d'apertura) pue ser ameyoráu"
+msgstr "el valor d''opening_hours (horarios d''apertura) pue ser ameyoráu"
 
 msgid "Unexpected token:"
 msgstr "Elementu inesperáu:"
@@ -4237,7 +4242,7 @@ msgid "Unexpected token in month range:"
 msgstr "Elementu inesperáu nel rangu de meses:"
 
 msgid "Unexpected token in year range:"
-msgstr "Elementu inesperáu nel rangu d'años:"
+msgstr "Elementu inesperáu nel rangu d''años:"
 
 msgid "Invalid/unsupported syntax."
 msgstr "Sintaxis non válida o non soportada."
@@ -4249,11 +4254,11 @@ msgid ""
 "This test checks that a connection between two nodes is not used by more "
 "than one way."
 msgstr ""
-"Esti test comprueba si una conexón ente dos nodos nun s'usa por más d'una "
+"Esti test comprueba si una conexón ente dos nodos nun s''usa por más d''una "
 "vía."
 
 msgid "Areas share segment"
-msgstr "Segmentu d'árees compartíes"
+msgstr "Segmentu d''árees compartíes"
 
 msgid "Highways share segment with area"
 msgstr "Segmentu de carreteres compartíes con área"
@@ -4274,16 +4279,16 @@ msgid "Way contains segment twice"
 msgstr "La vía contien el mesmu segmentu 2 vegaes"
 
 msgid "Power lines"
-msgstr "Llínees d'enerxía"
+msgstr "Llínees d''enerxía"
 
 msgid ""
 "Checks for nodes in power lines that do not have a power=tower/pole tag."
 msgstr ""
-"Busca nodos en llínees d'enerxía que nun tienen una etiqueta "
+"Busca nodos en llínees d''enerxía que nun tienen una etiqueta "
 "power=tower/pole."
 
 msgid "Missing power tower/pole within power line"
-msgstr "Nun s'atopen torres o postes nel tendíu eléctricu"
+msgstr "Nun s''atopen torres o postes nel tendíu eléctricu"
 
 msgid "Role verification problem"
 msgstr "Problema de verificación de rol"
@@ -4306,20 +4311,21 @@ msgstr "Tipu de relación desconocía"
 msgid "Relation is empty"
 msgstr "La relación tá vacida"
 
-msgid "<empty>"
-msgstr "<vacíu>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rol {0} desconocíu"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Atopóse un rol vacíu"
+msgid "<empty>"
+msgstr "<vacíu>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "El miembru pal rol ''{0}'' non concuerda con ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Miembru de rol {0} con tipu erróneu"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Falta el rol {0}"
@@ -4331,12 +4337,12 @@ msgid "Number of {0} roles too high ({1})"
 msgstr "{0} ye una cantidá de roles bien alta ({1})"
 
 msgid "Self-intersecting ways"
-msgstr "Víes que s'interseccionen elles mesmes"
+msgstr "Víes que s''interseccionen elles mesmes"
 
 msgid ""
 "This test checks for ways that contain some of their nodes more than once."
 msgstr ""
-"Esti test comprueba víes que contienen dalgunos de los sos nodos más d'una "
+"Esti test comprueba víes que contienen dalgunos de los sos nodos más d''una "
 "vegada."
 
 msgid "Similarly named ways"
@@ -4349,7 +4355,7 @@ msgstr ""
 "mal."
 
 msgid "Tag checker"
-msgstr "Correutor d'etiquetes"
+msgstr "Correutor d''etiquetes"
 
 msgid "Adding {0} to ignore tags"
 msgstr "Agregando {0} a les etiquetes a ignorar"
@@ -4371,7 +4377,7 @@ msgstr ""
 "{0}"
 
 msgid "Suspicious tag/value combinations"
-msgstr "Combinaciones d'etiquetes/valores estraños"
+msgstr "Combinaciones d''etiquetes/valores estraños"
 
 msgid "Key ''{0}'' invalid."
 msgstr "Clave ''{0}'' non válida."
@@ -4395,10 +4401,10 @@ msgid "Invalid property key"
 msgstr "Clave de propiedá non válida"
 
 msgid "Invalid white space in property key"
-msgstr "Espaciu'n blancu non válidu na clave de propiedá"
+msgstr "Espaciu''n blancu non válidu na clave de propiedá"
 
 msgid "Property values start or end with white space"
-msgstr "Los valores de la propiedá entamen y finen con un espaciu'n blancu"
+msgstr "Los valores de la propiedá entamen y finen con un espaciu''n blancu"
 
 msgid "Property values contain HTML entity"
 msgstr "Los valores de propiedá contienen entidá de HTML"
@@ -4430,10 +4436,10 @@ msgid "Use complex property checker."
 msgstr "Usar analizador de propiedá complexa."
 
 msgid "Validate property values and tags using complex rules."
-msgstr "Validar valores de propiedá y etiquetes qu'usen riegles complexes"
+msgstr "Validar valores de propiedá y etiquetes qu''usen riegles complexes"
 
 msgid "TagChecker source"
-msgstr "Fonte del validador d'etiquetes"
+msgstr "Fonte del validador d''etiquetes"
 
 msgid "Data sources ({0})"
 msgstr "Oríxenes de datos ({0})"
@@ -4450,19 +4456,19 @@ msgid "Check for FIXMES."
 msgstr "Comprobar FIXMES"
 
 msgid "Looks for nodes or ways with FIXME in any property value."
-msgstr "Buscar nodos o viales con FIXME'n cualesquier propiedá de valor"
+msgstr "Buscar nodos o viales con FIXME''n cualesquier propiedá de valor"
 
 msgid "Fix tags"
 msgstr "Correxir etiquetes"
 
 msgid "Could not find element type"
-msgstr "Non pudo atopase'l tipu d'elementu"
+msgstr "Non pudo atopase''l tipu d''elementu"
 
 msgid "Incorrect number of parameters"
 msgstr "Númberu incorreutu de parámetros"
 
 msgid "Could not find warning level"
-msgstr "Non pudo atopase'l nivel d'alerta"
+msgstr "Non pudo atopase''l nivel d''alerta"
 
 msgid "Illegal expression ''{0}''"
 msgstr "Espresión illegal ''{0}''"
@@ -4483,32 +4489,33 @@ msgid "Unknown member type"
 msgstr "Tipu de miembru desconocíu"
 
 msgid "More than one \"from\" way found"
-msgstr "Atopóse más d'una vía \"de\""
+msgstr "Atopóse más d''una vía \"de\""
 
 msgid "More than one \"to\" way found"
-msgstr "Atopóse más d'una vía \"A\""
+msgstr "Atopóse más d''una vía \"A\""
 
 msgid "More than one \"via\" node found"
-msgstr "Atopóse más d'un nodo \"vía\""
+msgstr "Atopóse más d''un nodo \"vía\""
 
 msgid "Cannot mix node and way for role \"via\""
 msgstr "Non se pue amestar el nodo y la vía pal rol \"via\""
 
 msgid "No \"from\" way found"
-msgstr "Non s'atopó una vía \"de\""
+msgstr "Non s''atopó una vía \"de\""
 
 msgid "No \"to\" way found"
-msgstr "Non s'atopó una vía \"a\""
+msgstr "Non s''atopó una vía \"a\""
 
 msgid "No \"via\" node or way found"
-msgstr "Non s'atopó un nodo o vía \"vía\""
+msgstr "Non s''atopó un nodo o vía \"vía\""
 
 msgid "The \"from\" way does not start or end at a \"via\" node."
 msgstr "La vía \"from\" non entama o non fina nun nodo \"via\"."
 
 msgid "Superfluous turnrestriction as \"to\" way is oneway"
 msgstr ""
-"Restricción de xiru redundante yá que la vía \"escontra\" ye d'un solu sentíu"
+"Restricción de xiru redundante yá que la vía \"escontra\" ye d''un solu "
+"sentíu"
 
 msgid "The \"to\" way does not start or end at a \"via\" node."
 msgstr "La vía \"to\" non entama o non fina nun nodo \"via\"."
@@ -4571,29 +4578,29 @@ msgid "Unconnected railways"
 msgstr "Víes de fierrocarril desconectaes"
 
 msgid "Unconnected waterways"
-msgstr "Cursos d'agua desconectaos"
+msgstr "Cursos d''agua desconectaos"
 
 msgid "Unconnected natural lands and landuses"
 msgstr "Usos del suelu y tierres naturales desconectaos"
 
 msgid "Unconnected power ways"
-msgstr "Llínees d'enerxía desconectaes"
+msgstr "Llínees d''enerxía desconectaes"
 
 msgid "This test checks if a way has an endpoint very near to another way."
 msgstr ""
 "Esti test comprueba si una vía tien un nodo final mui averáu a otra vía."
 
 msgid "Way end node near other highway"
-msgstr "Nodo d'estremu de vía averada a otra carretera"
+msgstr "Nodo d''estremu de vía averada a otra carretera"
 
 msgid "Way end node near other way"
-msgstr "Nodo d'estremu de vía averáu a otru vial"
+msgstr "Nodo d''estremu de vía averáu a otru vial"
 
 msgid "Way node near other way"
 msgstr "Nodo de vía averáu a otru vial"
 
 msgid "Connected way end node near other way"
-msgstr "Conectáu nodo d'estremu de vía averáu a otru vial"
+msgstr "Conectáu nodo d''estremu de vía averáu a otru vial"
 
 msgid "Untagged and unconnected nodes"
 msgstr "Nodos aislaos non etiquetaos"
@@ -4757,13 +4764,13 @@ msgid "Conflict"
 msgstr "Conflictu"
 
 msgid "Authentication Failed"
-msgstr "Falló l'autenticación"
+msgstr "Falló l''autenticación"
 
 msgid "Access to redacted version ''{0}'' of {1} {2} is forbidden."
 msgstr "Nun se dexa l´accesu a la versión redactada \"{0}\" de {1} {2}"
 
 msgid "Authorisation Failed"
-msgstr "Falló l'autorización"
+msgstr "Falló l''autorización"
 
 msgid "Client Time Out"
 msgstr "Desconexón por tiempu del veceru"
@@ -4775,7 +4782,7 @@ msgid "Communication with OSM server failed"
 msgstr "Comunicación fallida col servidor OSM"
 
 msgid "Authentication failed"
-msgstr "Falló l'autenticación"
+msgstr "Falló l''autenticación"
 
 msgid "Unknown host"
 msgstr "Host desconociu"
@@ -4786,7 +4793,7 @@ msgstr[0] "Oxetu desaniciáu"
 msgstr[1] "Oxetos desaniciaos"
 
 msgid "Show help information"
-msgstr "Amosar información d'ayuda"
+msgstr "Amosar información d''ayuda"
 
 msgid "Downloading \"Message of the day\""
 msgstr "Descargando \"Mensaxe del día\""
@@ -4801,7 +4808,7 @@ msgid "Click to close the dialog"
 msgstr "Faga clic pa zarrar el cuadru de diálogu"
 
 msgid "Imagery offset"
-msgstr "Desplazamientu d'imaxes"
+msgstr "Desplazamientu d''imaxes"
 
 msgid "Imagery"
 msgstr "Imaxes"
@@ -4824,24 +4831,24 @@ msgid "Show this help"
 msgstr "Amuesa esta axuda"
 
 msgid "Standard unix geometry argument"
-msgstr "Argumentu de xeometría standard d'unix"
+msgstr "Argumentu de xeometría standard d''unix"
 
 msgid "Download the bounding box"
-msgstr "Descargue'l cuadru allindiador"
+msgstr "Descargue''l cuadru allindiador"
 
 msgid "Download the location at the URL (with lat=x&lon=y&zoom=z)"
 msgstr "Descargar la localización na URL (con lat=x&lon=y&zoom=z)"
 
 msgid "Open a file (any file type that can be opened with File/Open)"
 msgstr ""
-"Abrir arquivu (cualesquier tipu d'arquivu que puede abrir con Arquivu/Abrir)"
+"Abrir arquivu (cualesquier tipu d''arquivu que puede abrir con Arquivu/Abrir)"
 
 msgid "Download the bounding box as raw GPS"
 msgstr "Descargar el cuadru de llende como GPS crudu"
 
 msgid "Download the location at the URL (with lat=x&lon=y&zoom=z) as raw GPS"
 msgstr ""
-"Descargar l'allugamientu na URL (con lat=x&lon=y&zoom=z) como datos GPS en "
+"Descargar l''allugamientu na URL (con lat=x&lon=y&zoom=z) como datos GPS en "
 "crudu"
 
 msgid "Select with the given search"
@@ -4854,7 +4861,7 @@ msgid "Reset the preferences to default"
 msgstr "Restablecer les preferencies a los valores predeterminaos"
 
 msgid "Changes preferences according to the XML file"
-msgstr "Camudar les preferencies según l'arquivu XML"
+msgstr "Camudar les preferencies según l''arquivu XML"
 
 msgid "Set preference key to value"
 msgstr "Asigna un valor a una entrada de les preferencies"
@@ -4869,16 +4876,41 @@ msgid "Print debugging messages to console"
 msgstr "Imprimir los mensaxes de depuración a la consola"
 
 msgid "Disable access to the given resource(s), separated by comma"
-msgstr "Evacuar l'accesu al recursu(s) dáu(s), dixebraos por comes"
+msgstr "Evacuar l''accesu al recursu(s) dáu(s), dixebraos por comes"
 
 msgid "options provided as Java system properties"
 msgstr "opciones proporcionaes como propiedaes de sistema Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Camudar la carpeta pa toles configuraciones d'usuariu"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5043,20 +5075,22 @@ msgstr "Editar barra de ferramientes"
 
 msgid "Toggles the visibility of the edit toolbar (i.e., the vertical tool)"
 msgstr ""
-"Alterna la visibilidá de la barra de ferramientes d'edición (esto ye, la "
+"Alterna la visibilidá de la barra de ferramientes d''edición (esto ye, la "
 "ferramienta vertical)"
 
 msgid "Preset preferences"
 msgstr "Preferencies de los predefiníos"
 
 msgid "Click to open the tagging presets tab in the preferences"
-msgstr "Faiga clic p'abrir la pestaña d'etiquetes prefixaes nes preferencies"
+msgstr ""
+"Faiga clic p''abrir la pestaña d''etiquetes prefixaes nes preferencies"
 
 msgid "Imagery preferences"
-msgstr "Preferencies d'imaxes"
+msgstr "Preferencies d''imaxes"
 
 msgid "Click to open the imagery tab in the preferences"
-msgstr "Faiga clic p'abrir la pestaña d'imaxes satelitales nes preferencies"
+msgstr ""
+"Faiga clic p''abrir la pestaña d''imaxes satelitales nes preferencies"
 
 msgid "Audio"
 msgstr "Audiu"
@@ -5068,7 +5102,7 @@ msgid "Hide this button"
 msgstr "Despintar esti botón"
 
 msgid "Click the arrow at the bottom to show it again."
-msgstr "Faiga clic na flecha na parte inferior p'amosar de nuevu."
+msgstr "Faiga clic na flecha na parte inferior p''amosar de nuevu."
 
 msgid "Hide edit toolbar"
 msgstr "Despintar la barra de ferramientes"
@@ -5101,16 +5135,16 @@ msgid "scale"
 msgstr "escala"
 
 msgid "Status bar background"
-msgstr "Fondu de la barra d'estáu"
+msgstr "Fondu de la barra d''estáu"
 
 msgid "Status bar background: active"
-msgstr "Fondu de la barra d'estáu: activu"
+msgstr "Fondu de la barra d''estáu: activu"
 
 msgid "Status bar foreground"
-msgstr "Frente de la barra d'estáu"
+msgstr "Frente de la barra d''estáu"
 
 msgid "Status bar foreground: active"
-msgstr "Frente de la barra d'estáu: activu"
+msgstr "Frente de la barra d''estáu: activu"
 
 msgid "{0} ({1})"
 msgstr "{0} ({1})"
@@ -5125,13 +5159,13 @@ msgid "The (compass) heading of the line segment being drawn."
 msgstr "La direición (brúxula) del segmentu de llínea que se ta dibuxando."
 
 msgid "The angle between the previous and the current way segment."
-msgstr "L'ángulu ente'l segmentu actual de vía y  l'anterior."
+msgstr "L''ángulu ente''l segmentu actual de vía y  l''anterior."
 
 msgid "The length of the new way segment being drawn."
 msgstr "El llargor del nuevu segmentu de llínea que se ta dibuxando."
 
 msgid "The name of the object at the mouse pointer."
-msgstr "El nome de l'oxetu nel punteru'l mure"
+msgstr "El nome de l''oxetu nel punteru''l mure"
 
 msgid ""
 "Middle click again to cycle through.<br>Hold CTRL to select directly from "
@@ -5147,7 +5181,7 @@ msgid "User:"
 msgstr "Usuariu:"
 
 msgid "Do not hide status bar"
-msgstr "Non despintar la barra d'estáu"
+msgstr "Non despintar la barra d''estáu"
 
 msgid "System of measurement changed to {0}"
 msgstr "El sistema de midida camudó a {0}"
@@ -5158,8 +5192,23 @@ msgstr "la capa no ta na llista"
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "La capa ''{0}'' tien de tar na llista de capes"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nome d''usuariu"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
-msgstr "Faga clic p'atayar la operación actual"
+msgstr "Faga clic p''atayar la operación actual"
 
 msgid "In background"
 msgstr "En segundu planu"
@@ -5171,7 +5220,7 @@ msgid ""
 "Aerial imagery might be misaligned. Please check its offset using GPS tracks!"
 msgstr ""
 "Les imaxes aérees puen tar equivocadamente alliniaes. ¡Por favor, "
-"compruebe'l so desplazamientu usando trazar de GPS!"
+"compruebe''l so desplazamientu usando trazar de GPS!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 msgstr "http://wiki.openstreetmap.org/wiki/Using_Imagery"
@@ -5186,7 +5235,7 @@ msgid ""
 "<html>Please confirm to remove <strong>1 object</strong> from <strong>1 "
 "relation</strong>.</html>"
 msgstr ""
-"<html>Confirme'l borráu de <strong>1 oxetu</strong> de <strong>1 "
+"<html>Confirme''l borráu de <strong>1 oxetu</strong> de <strong>1 "
 "relación</strong>.</html>"
 
 msgid ""
@@ -5225,7 +5274,7 @@ msgstr "Rol"
 
 msgid "Click to close the dialog and remove the object from the relations"
 msgstr ""
-"Faiga clic pa pesllar el cuadru de diálogu y esaniciar l'oxetu de les "
+"Faiga clic pa pesllar el cuadru de diálogu y esaniciar l''oxetu de les "
 "relaciones"
 
 msgid "Click to close the dialog and to abort deleting the objects"
@@ -5237,7 +5286,7 @@ msgid ""
 "<html>Please select a <strong>range of OSM tiles</strong> at a given zoom "
 "level.</html>"
 msgstr ""
-"<html>Escueya un <strong>rangu de teseles d'OSM</strong> nun nivel de zoom "
+"<html>Escueya un <strong>rangu de teseles d''OSM</strong> nun nivel de zoom "
 "dáu.</html>"
 
 msgid "Zoom level:"
@@ -5397,7 +5446,7 @@ msgid "Members"
 msgstr "Miembros"
 
 msgid "No pending tag conflicts to be resolved"
-msgstr "Nengún conflito d'etiqueta pendiente de ser resueltu"
+msgstr "Nengún conflito d''etiqueta pendiente de ser resueltu"
 
 msgid "Tags({0} conflict)"
 msgid_plural "Tags({0} conflicts)"
@@ -5416,13 +5465,13 @@ msgid ""
 "Merged node list frozen. No pending conflicts in the node list of this way"
 msgstr ""
 "Llista de nodos fundíos conxelada. Nun hai conflictos pindios na llista de "
-"nodos d'esta vía"
+"nodos d''esta vía"
 
 msgid "Nodes(with conflicts)"
 msgstr "Nodos (con conflictos)"
 
 msgid "Pending conflicts in the node list of this way"
-msgstr "Conflictos pendientes na llista de nodos d'esta vía"
+msgstr "Conflictos pendientes na llista de nodos d''esta vía"
 
 msgid "Members(resolved)"
 msgstr "Miembros (resueltos)"
@@ -5432,13 +5481,13 @@ msgid ""
 "relation"
 msgstr ""
 "Llista de miembros fundíos conxelada. Nun hai conflictos pendientes na "
-"llista de miembros d'esta relación"
+"llista de miembros d''esta relación"
 
 msgid "Members(with conflicts)"
 msgstr "Miembros (con conflictos)"
 
 msgid "Pending conflicts in the member list of this relation"
-msgstr "Conflictos pendientes na llista de miembros d'esta relación"
+msgstr "Conflictos pendientes na llista de miembros d''esta relación"
 
 msgid "No pending property conflicts"
 msgstr "Nengún conflictu de propiedaes pendiente"
@@ -5463,7 +5512,7 @@ msgstr ""
 "que fueron esaniciaos del conxuntu de datos destino:"
 
 msgid "Merging deleted objects failed"
-msgstr "Falló la unión d'oxetos esaniciaos"
+msgstr "Falló la unión d''oxetos esaniciaos"
 
 msgid "List in role {0} is currently not participating in a compare pair."
 msgstr ""
@@ -5486,7 +5535,7 @@ msgstr "La mio versión"
 
 msgid "List of elements in my dataset, i.e. the local dataset"
 msgstr ""
-"Llista d'elementos del mio conxuntu de datos, esto ye, el conxuntu de datos "
+"Llista d''elementos del mio conxuntu de datos, esto ye, el conxuntu de datos "
 "locales"
 
 msgid "Merged version"
@@ -5496,7 +5545,7 @@ msgid ""
 "List of merged elements. They will replace the list of my elements when the "
 "merge decisions are applied."
 msgstr ""
-"Llista d'elementos xuníos. Van reemplazar la llista de los mios elementos "
+"Llista d''elementos xuníos. Van reemplazar la llista de los mios elementos "
 "cuando la decisión de xunilos sía aplicada."
 
 msgid "Their version"
@@ -5504,7 +5553,7 @@ msgstr "La so versión"
 
 msgid "List of elements in their dataset, i.e. the server dataset"
 msgstr ""
-"Llista d'elementos del so conxuntu de datos, ye dicir el conxuntu de datos "
+"Llista d''elementos del so conxuntu de datos, ye dicir el conxuntu de datos "
 "del servidor"
 
 msgid "> top"
@@ -5519,7 +5568,7 @@ msgstr "> abaxo"
 
 msgid "Copy my selected elements to the end of the list of merged elements."
 msgstr ""
-"Copiar los mios elementos escoyíos a la fin de la llista d'elementos fundíos"
+"Copiar los mios elementos escoyíos a la fin de la llista d''elementos fundíos"
 
 msgid "> before"
 msgstr "> enantes"
@@ -5529,7 +5578,7 @@ msgid ""
 "merged elements."
 msgstr ""
 "Copiar los mios elementos escoyíos antes del primer elementu escoyíu na "
-"llista d'elementos fundíos"
+"llista d''elementos fundíos"
 
 msgid "> after"
 msgstr "> dempués"
@@ -5539,7 +5588,7 @@ msgid ""
 "merged elements."
 msgstr ""
 "Copiar los mios elementos escoyíos dempués del primer elementu escoyíu na "
-"llista d'elementos fundíos"
+"llista d''elementos fundíos"
 
 msgid "< top"
 msgstr "< enriba"
@@ -5547,7 +5596,7 @@ msgstr "< enriba"
 msgid ""
 "Copy their selected element to the start of the list of merged elements."
 msgstr ""
-"Copiar el so elementu escoyíu al entamu de la llista d'elementos fundíos"
+"Copiar el so elementu escoyíu al entamu de la llista d''elementos fundíos"
 
 msgid "< bottom"
 msgstr "< embaxo"
@@ -5555,7 +5604,7 @@ msgstr "< embaxo"
 msgid ""
 "Copy their selected elements to the end of the list of merged elements."
 msgstr ""
-"Copiar los sos elementos escoyíos a la fin de la llista d'elementos fundíos"
+"Copiar los sos elementos escoyíos a la fin de la llista d''elementos fundíos"
 
 msgid "< before"
 msgstr "< enantes"
@@ -5565,7 +5614,7 @@ msgid ""
 "of merged elements."
 msgstr ""
 "Copiar los sos elementos escoyíos antes del primer elementu escoyíu na "
-"llista d'elementos fundíos"
+"llista d''elementos fundíos"
 
 msgid "< after"
 msgstr "< dempués"
@@ -5574,8 +5623,8 @@ msgid ""
 "Copy their selected element after the first selected element in the list of "
 "merged elements"
 msgstr ""
-"Copia'l so elementu escoyíu dempués del primer elementu escoyíu na llista "
-"d'elementos fundíos"
+"Copia''l so elementu escoyíu dempués del primer elementu escoyíu na llista "
+"d''elementos fundíos"
 
 msgid "Copy all my elements to the target"
 msgstr "Copiar tolos mios elementos al destín"
@@ -5587,7 +5636,7 @@ msgid "Up"
 msgstr "Arriba"
 
 msgid "Move up the selected entries by one position."
-msgstr "Mueva les entraes escoyíes d'a una posición."
+msgstr "Mueva les entraes escoyíes d''a una posición."
 
 msgid "Down"
 msgstr "Abaxo"
@@ -5599,19 +5648,19 @@ msgid "Remove"
 msgstr "Desaniciar"
 
 msgid "Remove the selected entries from the list of merged elements."
-msgstr "Esaniciar les entraes escoyíes de la llista d'elementos fundíos"
+msgstr "Esaniciar les entraes escoyíes de la llista d''elementos fundíos"
 
 msgid "Freeze"
 msgstr "Conxelar"
 
 msgid "Freeze the current list of merged elements."
-msgstr "Conxelar la llista actual d'elementos fundíos"
+msgstr "Conxelar la llista actual d''elementos fundíos"
 
 msgid "Unfreeze"
 msgstr "Desconxelar"
 
 msgid "Unfreeze the list of merged elements and start merging."
-msgstr "Desconxelar la llista d'elementos fundíos y empezar la fusión"
+msgstr "Desconxelar la llista d''elementos fundíos y empezar la fusión"
 
 msgid ""
 "<html>Click <strong>{0}</strong> to start merging my and their "
@@ -5659,7 +5708,7 @@ msgid ""
 "elements when merge decisions are applied."
 msgstr ""
 "Propiedaes nel elementu fundíu. Van sustituyir a les propiedaes de los mios "
-"elementos cuando s'apliquen les decisiones de fundir."
+"elementos cuando s''apliquen les decisiones de fundir."
 
 msgid "Properties in their dataset, i.e. the server dataset"
 msgstr ""
@@ -5727,7 +5776,7 @@ msgid "Value"
 msgstr "Valor"
 
 msgid "Cannot apply undecided tag merge item."
-msgstr "Non pudo aplicase una etiqueta d'amiestu al artículu"
+msgstr "Non pudo aplicase una etiqueta d''amiestu al artículu"
 
 msgid "My version (local dataset)"
 msgstr "La mio versión (conxuntu de datos locales)"
@@ -5787,7 +5836,7 @@ msgid_plural ""
 "are shown a dialog to decide how to adapt the relations.<br/><br/>Do you "
 "want to continue?"
 msgstr[0] ""
-"Va combinar l'oxetu {1}, que ye parte de la relación {0}: <br/> {2}La unión "
+"Va combinar l´oxetu {1}, que ye parte de la relación {0}: <br/> {2}La unión "
 "d´estos oxetos puede romper esta relación. Si nun ta seguro, por favor ataye "
 "la operación. <br/> Si deseya siguir, va amosase un cuadru de diálogu pa "
 "decidir cómo afaer la relación a la nueva situación. <br/><br/> ¿Deseya "
@@ -5961,11 +6010,11 @@ msgid ""
 "ways that are members of the same relation: the combined way will take the "
 "place of the original way in the relation.</html>"
 msgstr ""
-"<html>Les víes combinaes son miembros d'una o más relaciones. Por favor "
+"<html>Les víes combinaes son miembros d''una o más relaciones. Por favor "
 "decida si deseya <strong>caltener</strong> estes membresías pa la vía "
 "combinada o si deseya <strong>quitar</strong>.<br>La opción por defectu ye "
 "<strong>caltener</strong> la membresía de la primer vía y "
-"<strong>quitar</strong> les de les otres víes que son miembros d'una mesma "
+"<strong>quitar</strong> les de les otres víes que son miembros d''una mesma "
 "relación: la vía combinada va tomar el llugar de la vía orixinal na "
 "relación.</html>"
 
@@ -5977,11 +6026,11 @@ msgid ""
 "other nodes that are members of the same relation: the target node will take "
 "the place of the original node in the relation.</html>"
 msgstr ""
-"<html>Los nodos combinaos son miembros d'una o más relaciones. Por favor "
+"<html>Los nodos combinaos son miembros d''una o más relaciones. Por favor "
 "decida si quier<strong>caltener</strong> estes membresías nel nodo en "
 "cuestión o si deseya <strong>quitar</strong>.<br>La opción por defectu ye "
 "<strong>caltener</strong> la membresía del primera nodo y "
-"<strong>quitar</strong> la de los otros que son miembros d'una mesma "
+"<strong>quitar</strong> la de los otros que son miembros d''una mesma "
 "relación: el nodo fundíu va tomar el llugar del nodo orixinal na "
 "relación.</html>"
 
@@ -6013,8 +6062,8 @@ msgid ""
 "only.<br>Unselect to show all changesets for objects in the current data "
 "layer.</html>"
 msgstr ""
-"<html>Activar p'amosar los cambeos de los oxetos escoyíos.<br>Desactivar "
-"p'amosar toes los cambeos de los oxetos de la capa actual.</html>"
+"<html>Activar p''amosar los cambeos de los oxetos escoyíos.<br>Desactivar "
+"p''amosar toes los cambeos de los oxetos de la capa actual.</html>"
 
 msgid "Changesets"
 msgstr "Cambeos"
@@ -6030,7 +6079,8 @@ msgstr "Descargar"
 
 msgid ""
 "Download information about the selected changesets from the OSM server"
-msgstr "Descarga información sobre los cambeos escoyíos dende'l servidor OSM"
+msgstr ""
+"Descarga información sobre los cambeos escoyíos dende''l servidor OSM"
 
 msgid "Closes the selected open changesets"
 msgstr "Peslla los cambeos abiertos escoyíos"
@@ -6045,10 +6095,10 @@ msgid "Details"
 msgstr "Detalles"
 
 msgid "Opens the Changeset Manager window for the selected changesets"
-msgstr "Abre'l xestor de cambeos pa los cambeos escoyíos"
+msgstr "Abre''l xestor de cambeos pa los cambeos escoyíos"
 
 msgid "Command Stack"
-msgstr "Pila d'ordes"
+msgstr "Pila d''ordes"
 
 msgid "Open a list of all commands (undo buffer)."
 msgstr "Abrir una llista de toles ordes (buffer desfacer)"
@@ -6075,7 +6125,7 @@ msgstr ""
 "esaniciaos) y faer zoom sobre ellos"
 
 msgid "Undo the selected and all later commands"
-msgstr "Desfae'l comandu escoyío y tolos posteriores"
+msgstr "Desfae''l comandu escoyío y tolos posteriores"
 
 msgid "Redo the selected and all earlier commands"
 msgstr "Refacer la orde escoyía y les anteriores"
@@ -6095,7 +6145,7 @@ msgid "Resolve"
 msgstr "Resolver"
 
 msgid "Open a merge dialog of all selected items in the list above."
-msgstr "Abrir un diálogu pa amestar tolos oxetos de la llista d'arriba"
+msgstr "Abrir un diálogu pa amestar tolos oxetos de la llista d''arriba"
 
 msgid ""
 "Set the selected elements on the map to the selected items in the list above."
@@ -6247,10 +6297,10 @@ msgstr[0] "<b>{0}</b> oxetu desactiváu"
 msgstr[1] "<b>{0}</b> oxetos desactivaos"
 
 msgid "</p><p>Close the filter dialog to see all objects.<p></html>"
-msgstr "</p><p>Pieslle'l diálogu de peñeráu pa ver tolos oxetos.<p></html>"
+msgstr "</p><p>Pieslle''l diálogu de peñeráu pa ver tolos oxetos.<p></html>"
 
 msgid "Advanced object info"
-msgstr "Información ampliada sobre l'oxetu"
+msgstr "Información ampliada sobre l''oxetu"
 
 msgid "map style"
 msgstr "estilu de mapa"
@@ -6333,7 +6383,7 @@ msgid "Bounding box (projected): "
 msgstr "Cuadru allindiador (proyectáu): "
 
 msgid "Center of bounding box: "
-msgstr "Centru'l Cuadru allindiador: "
+msgstr "Centru''l Cuadru allindiador: "
 
 msgid "Coordinates: "
 msgstr "Coordenaes: "
@@ -6382,10 +6432,10 @@ msgid ""
 msgstr ""
 "\n"
 "\n"
-"Llista d'Estilos xeneraos:\n"
+"Llista d''Estilos xeneraos:\n"
 
 msgid "The 2 selected objects have identical style caches."
-msgstr "Los 2 oxetos escoyíos tienen caxés d'idénticu estilu."
+msgstr "Los 2 oxetos escoyíos tienen caxés d''idénticu estilu."
 
 msgid "The 2 selected objects have different style caches."
 msgstr "Los 2 oxetos escoyíos tienen caxés de distintu estilu."
@@ -6393,7 +6443,7 @@ msgstr "Los 2 oxetos escoyíos tienen caxés de distintu estilu."
 msgid ""
 "Warning: The 2 selected objects have equal, but not identical style caches."
 msgstr ""
-"Atención: los dos oxetos escoyíos tienen caxés d'estilos iguales, pero non "
+"Atención: los dos oxetos escoyíos tienen caxés d''estilos iguales, pero non "
 "idéntiques."
 
 msgid "xml"
@@ -6525,7 +6575,7 @@ msgid "Map Paint Styles"
 msgstr "Estilos de semiología cartográfica"
 
 msgid "configure the map painting style"
-msgstr "Configurar l'estilo de dibuxáu del mapa"
+msgstr "Configurar l''estilo de dibuxáu del mapa"
 
 msgid "MapPaint"
 msgstr "MapPaint"
@@ -6537,10 +6587,10 @@ msgid "Turn selected styles on or off"
 msgstr "Activar o desactivar los estilos escoyíos"
 
 msgid "Move the selected entry one row down."
-msgstr "Mueve escontra baxo l'elementu escoyíu una fila."
+msgstr "Mueve escontra baxo l''elementu escoyíu una fila."
 
 msgid "Move the selected entry one row up."
-msgstr "Mueve escontra riba l'elementu escoyíu una fila."
+msgstr "Mueve escontra riba l''elementu escoyíu una fila."
 
 msgid "Reload from file"
 msgstr "Recargar dende ficheru"
@@ -6552,25 +6602,25 @@ msgid "Save as..."
 msgstr "Grabar como..."
 
 msgid "Save a copy of this Style to file and add it to the list"
-msgstr "Guarda una copia d'esti estilu a un arquivu y añedir a la llista"
+msgstr "Guarda una copia d''esti estilu a un arquivu y añedir a la llista"
 
 msgid "Map paint style file (*.mapcss, *.zip)"
-msgstr "Arquivu d'estilu de representación de mapa (*.mapcss, *.zip)"
+msgstr "Arquivu d''estilu de representación de mapa (*.mapcss, *.zip)"
 
 msgid "Map paint style file (*.xml, *.zip)"
-msgstr "Arquivu d'estilu de representación de mapa (*.xml, *.zip)"
+msgstr "Arquivu d''estilu de representación de mapa (*.xml, *.zip)"
 
 msgid "Reloading style sources"
-msgstr "Volviendo a cargar fuentes d'estilos"
+msgstr "Volviendo a cargar fuentes d''estilos"
 
 msgid "Save style ''{0}'' as ''{1}''"
 msgstr "Grabar estilu \"{0}\" como \"{1}\""
 
 msgid "view meta information, error log and source definition"
-msgstr "ver información meta, rexistru d'erros y definición de la fonte"
+msgstr "ver información meta, rexistru d''erros y definición de la fonte"
 
 msgid "Map Style info"
-msgstr "Información d'estilu de mapa"
+msgstr "Información d''estilu de mapa"
 
 msgid "Source"
 msgstr "Fonte"
@@ -6594,7 +6644,7 @@ msgid "Background:"
 msgstr "Fondu:"
 
 msgid "Style is currently active?"
-msgstr "¿Ta activu anguaño l'estilo?"
+msgstr "¿Ta activu anguaño l''estilo?"
 
 msgid "No"
 msgstr "Non"
@@ -6603,7 +6653,7 @@ msgid "Style settings"
 msgstr "Estilu de axustes"
 
 msgid "Customize the style"
-msgstr "Personaliza l'estilu"
+msgstr "Personaliza l''estilu"
 
 msgid "Add comment"
 msgstr ""
@@ -6638,15 +6688,21 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Axeitar"
+
 msgid "Object type:"
-msgstr "Triba d'oxetu:"
+msgstr "Triba d''oxetu:"
 
 msgctxt "osm object types"
 msgid "mixed"
 msgstr "amestáu"
 
 msgid "Choose the OSM object type"
-msgstr "Escueyi la triba d'oxetu OSM"
+msgstr "Escueyi la triba d''oxetu OSM"
 
 msgid "Object ID:"
 msgstr "ID del oxetu:"
@@ -6698,10 +6754,10 @@ msgid "Current Selection"
 msgstr "Seleición actual"
 
 msgid "Search for objects"
-msgstr "Busca d'oxetos"
+msgstr "Busca d''oxetos"
 
 msgid "Display the history of the selected objects."
-msgstr "Amosar l'hestóricu de los oxetos escoyíos."
+msgstr "Amosar l''hestóricu de los oxetos escoyíos."
 
 msgid "Zoom to selection"
 msgstr "Zoom a la escoyeta"
@@ -6713,7 +6769,7 @@ msgid "Sel.: Rel.:{0} / Ways:{1} / Nodes:{2}"
 msgstr "Sel.: Rel.:{0} / Víes:{1} / Nodos:{2}"
 
 msgid "Unselectable now"
-msgstr "Non se pue escoyer n'esti momentu"
+msgstr "Non se pue escoyer n''esti momentu"
 
 msgid "Selection: {0}"
 msgstr "Escoyeta: {0}"
@@ -6763,7 +6819,7 @@ msgid "Select objects submitted by this user"
 msgstr "Escoyer oxetos unviaos por esti usuariu"
 
 msgid "Launches a browser with information about the user"
-msgstr "Llanza un buscador con información sobre l'usuariu"
+msgstr "Llanza un buscador con información sobre l''usuariu"
 
 msgid "Only launching info browsers for the first {0} of {1} selected users"
 msgstr ""
@@ -6784,7 +6840,7 @@ msgid "Author"
 msgstr "Autor"
 
 msgid "# Objects"
-msgstr "Nº d'oxetos"
+msgstr "Nº d''oxetos"
 
 msgid "Validation Results"
 msgstr "Resultaos de la validación"
@@ -6799,10 +6855,10 @@ msgid "Fix"
 msgstr "Iguar"
 
 msgid "Fix the selected issue."
-msgstr "Igua'l problema escoyíu."
+msgstr "Igua''l problema escoyíu."
 
 msgid "Ignore the selected issue next time."
-msgstr "Ignora'l problema escoyíu la próxima vegada"
+msgstr "Ignora''l problema escoyíu la próxima vegada"
 
 msgid "Whole group"
 msgstr "Tol grupu"
@@ -6851,7 +6907,7 @@ msgid "Display the public discussion around this changeset"
 msgstr ""
 
 msgid "Changeset Management Dialog"
-msgstr "Diálogu d'alministración de conxuntos de cambeos"
+msgstr "Diálogu d''alministración de conxuntos de cambeos"
 
 msgid "Close the dialog"
 msgstr "Zarrar el diálogu"
@@ -6860,7 +6916,7 @@ msgid "Query"
 msgstr "Consulta"
 
 msgid "Launch the dialog for querying changesets"
-msgstr "Amuesa'l diálogu pa consultar cambeos"
+msgstr "Amuesa''l diálogu pa consultar cambeos"
 
 msgid "Remove from cache"
 msgstr "Esaniciar de la memoria"
@@ -6869,20 +6925,21 @@ msgid "Remove the selected changesets from the local cache"
 msgstr "Esanicia los cambeos escoyíos de la memoria local"
 
 msgid "Close the selected changesets"
-msgstr "Peslla'l cambéu escoyíu"
+msgstr "Peslla''l cambéu escoyíu"
 
 msgid "Update changeset"
 msgstr "Actualizar la modificación"
 
 msgid "Updates the selected changesets with current data from the OSM server"
 msgstr ""
-"Actualiza'l conxuntu de cambeos escoyíu colos datos actuales del servidor OSM"
+"Actualiza''l conxuntu de cambeos escoyíu colos datos actuales del servidor "
+"OSM"
 
 msgid "Download changeset content"
-msgstr "Descarga'l conteníu de les modificaciones"
+msgstr "Descarga''l conteníu de les modificaciones"
 
 msgid "Download the content of the selected changesets from the server"
-msgstr "Descarga'l conteníu de los cambeos escoyíos dende'l servidor"
+msgstr "Descarga''l conteníu de los cambeos escoyíos dende''l servidor"
 
 msgid "My changesets"
 msgstr "Los mios cambeos"
@@ -6897,7 +6954,8 @@ msgid ""
 msgstr ""
 "<html>JOSM ta executándose anguaño con un usuariu anónimu. Nun puede "
 "descargar <br>los sos sets de cambeos del servidor de OSM  sacantes "
-"qu'introduza el so nome d'usuariu de OSM<br>nes preferencies de JOSM.</html>"
+"qu''introduza el so nome d''usuariu de OSM<br>nes preferencies de "
+"JOSM.</html>"
 
 msgctxt "changeset.upload-comment"
 msgid "empty"
@@ -6954,16 +7012,16 @@ msgid "Download content"
 msgstr "Descargar conteníu"
 
 msgid "Download the changeset content from the OSM server"
-msgstr "Descarga'l conteníu del cambéu del servidor OSM"
+msgstr "Descarga''l conteníu del cambéu del servidor OSM"
 
 msgid "Update content"
 msgstr "Actualizar conteníu"
 
 msgid "Update the changeset content from the OSM server"
-msgstr "Actualiza'l conteníu del conxuntu de cambeos dende'l servidor OSM"
+msgstr "Actualiza''l conteníu del conxuntu de cambeos dende''l servidor OSM"
 
 msgid "Download and show the history of the selected objects"
-msgstr "Descarga y amuesa l'historial de los oxetos escoyíos"
+msgstr "Descarga y amuesa l''historial de los oxetos escoyíos"
 
 msgid "Select in layer"
 msgstr "Escoyer en capa"
@@ -6981,16 +7039,16 @@ msgid "Zoom to the corresponding objects in the current data layer"
 msgstr "Facer zoom a los oxetos correspondientes na capa de datos actual"
 
 msgid "Nothing to zoom to"
-msgstr "Naa p'agrandar"
+msgstr "Naa p''agrandar"
 
 msgid "The content of this changeset is not downloaded yet."
-msgstr "Nun se descargó'l conteníu d'esti cambéu."
+msgstr "Nun se descargó''l conteníu d''esti cambéu."
 
 msgid "Download now"
 msgstr "Descargar agora"
 
 msgid "Download the changeset content"
-msgstr "Descarga'l conteníu del cambéu"
+msgstr "Descarga''l conteníu del cambéu"
 
 msgid "Created"
 msgstr "Creáu"
@@ -7027,13 +7085,13 @@ msgstr ""
 "Esaniciar el cambéu nel panel de la vista de detalle de la memoria local"
 
 msgid "Update the changeset from the OSM server"
-msgstr "Actualizar el conxuntu de cambeos dende'l servidor de OSM"
+msgstr "Actualizar el conxuntu de cambeos dende''l servidor de OSM"
 
 msgid ""
 "Select the primitives in the content of this changeset in the current data "
 "layer"
 msgstr ""
-"Escoyer les primitives nel conteníu d'esti conxuntu de cambeos na capa de "
+"Escoyer les primitives nel conteníu d''esti conxuntu de cambeos na capa de "
 "datos actual"
 
 msgid ""
@@ -7047,7 +7105,7 @@ msgid ""
 "Zoom to the objects in the content of this changeset in the current data "
 "layer"
 msgstr ""
-"Facer zoom a los oxetos que formen parte d'esti conxuntu de cambeos na capa "
+"Facer zoom a los oxetos que formen parte d''esti conxuntu de cambeos na capa "
 "de datos actual"
 
 msgid "Update changeset discussion"
@@ -7075,12 +7133,12 @@ msgid "Changeset ID: "
 msgstr "ID de la modificación: "
 
 msgid "Enter a changeset id"
-msgstr "Introduza la id d'un conxuntu de cambeos"
+msgstr "Introduza la id d''un conxuntu de cambeos"
 
 msgid ""
 "Download the changeset with the specified id, including the changeset content"
 msgstr ""
-"Descarga'l cambéu col id especificáu, incluyendo'l conteníu del cambéu"
+"Descarga''l cambéu col id especificáu, incluyendo''l conteníu del cambéu"
 
 msgid "Select changesets owned by specific users"
 msgstr "Escoyer los cambeos efectuaos por un usuariu específicu"
@@ -7091,7 +7149,7 @@ msgstr "Escueye los cambeos dependiendo de si tán abiertes o zarraes"
 msgid ""
 "Select changesets based on the date/time they have been created or closed"
 msgstr ""
-"Escueye'l cambeos basándose na fecha/hora en que fueren creaos o zarraos"
+"Escueye''l cambeos basándose na fecha/hora en que fueren creaos o zarraos"
 
 msgid "Select only changesets related to a specific bounding box"
 msgstr ""
@@ -7110,7 +7168,7 @@ msgid "User ID:"
 msgstr "ID Usuariu:"
 
 msgid "User name:"
-msgstr "Nome d'usuariu:"
+msgstr "Nome d''usuariu:"
 
 msgid "Only changesets owned by myself"
 msgstr "Namá cambeos realizaos por mi"
@@ -7133,7 +7191,7 @@ msgid ""
 "is anonymous"
 msgstr ""
 "Non puede acutase la consulta del conxuntu de cambeos al usuariu actual  por "
-"cuenta de que'l mesmu ye anónimu"
+"cuenta de que''l mesmu ye anónimu"
 
 msgid "Current value ''{0}'' for user ID is not valid"
 msgstr "El valor actual \"{0}\" nun ye válidu pa la ID d´usuariu"
@@ -7144,16 +7202,16 @@ msgstr ""
 "\"{0}\""
 
 msgid "Please enter a valid user ID"
-msgstr "Por favor, introduza un ID d'usuariu válidu"
+msgstr "Por favor, introduza un ID d''usuariu válidu"
 
 msgid "Invalid user ID"
-msgstr "ID d'usuariu inválida"
+msgstr "ID d''usuariu inválida"
 
 msgid "Please enter a non-empty user name"
-msgstr "Por favor, introduza un nome d'usuariu non valeru"
+msgstr "Por favor, introduza un nome d''usuariu non valeru"
 
 msgid "Invalid user name"
-msgstr "Nome d'usuariu inválidu"
+msgstr "Nome d''usuariu inválidu"
 
 msgid "Date: "
 msgstr "Fecha: "
@@ -7175,13 +7233,13 @@ msgstr "Namá los cambeos zarraos dempués de fechar/hora siguiente"
 
 msgid "Only changesets closed after and created before a specific date/time"
 msgstr ""
-"Namá los cambeos zarraos dempués y creaos antes d'una fecha/hora determinada"
+"Namá los cambeos zarraos dempués y creaos antes d''una fecha/hora determinada"
 
 msgid ""
 "Cannot build changeset query with time based restrictions. Input is not "
 "valid."
 msgstr ""
-"Non puede construyise un pidimientu d'un conxuntu de cambeos con "
+"Non puede construyise un pidimientu d''un conxuntu de cambeos con "
 "restricciones de tiempu. La entrada nun ye válida."
 
 msgid ""
@@ -7198,7 +7256,7 @@ msgid ""
 "Cannot restrict the changeset query to a specific bounding box. The input is "
 "invalid."
 msgstr ""
-"Non puede acutase el pidimientu d'un conxuntu de cambeos a una ventana de "
+"Non puede acutase el pidimientu d''un conxuntu de cambeos a una ventana de "
 "selección específica. La entrada nun ye válida."
 
 msgid ""
@@ -7206,16 +7264,16 @@ msgid ""
 "changeset query to a specific bounding box.</html>"
 msgstr ""
 "<html>Por favor, introduza valores válidos de llonxitú/llatitú "
-"p'acutar<br>la consulta de cambeos a una ventana de selección "
+"p''acutar<br>la consulta de cambeos a una ventana de selección "
 "específica.</html>"
 
 msgid "Invalid bounding box"
-msgstr "Ventana d'escoyeta inválida"
+msgstr "Ventana d''escoyeta inválida"
 
 msgid ""
 "The current value is not a valid user ID. Please enter an integer value > 0"
 msgstr ""
-"El valor actual nun ye una ID d'usuariu válida. Por favor, introduza un "
+"El valor actual nun ye una ID d''usuariu válida. Por favor, introduza un "
 "valor enteru mayor que cero"
 
 msgid "Please enter an integer value > 0"
@@ -7225,11 +7283,11 @@ msgid ""
 "<html>The  current value is not a valid user name.<br>Please enter an non-"
 "empty user name.</html>"
 msgstr ""
-"<html>El valor actual nun ye un nome d'usuariu válidu.<br>Introduza un nome "
-"d'usuariu non valeru.</html>"
+"<html>El valor actual nun ye un nome d''usuariu válidu.<br>Introduza un nome "
+"d''usuariu non valeru.</html>"
 
 msgid "Please enter an non-empty user name"
-msgstr "Por favor, introduza un nome d'usuariu non valeru"
+msgstr "Por favor, introduza un nome d''usuariu non valeru"
 
 msgid ""
 "Please enter a date in the usual format for your locale.<br>Example: "
@@ -7252,7 +7310,7 @@ msgid ""
 "<html>Select to restrict the query to your changesets only.<br>Unselect to "
 "include all changesets in the query.</html>"
 msgstr ""
-"<html>Escueya p'acutar la consulta a los sos cambeos "
+"<html>Escueya p''acutar la consulta a los sos cambeos "
 "solamente.<br>Deseleccione pa incluyir tolos cambeos na busca.</html>"
 
 msgid ""
@@ -7263,7 +7321,7 @@ msgid ""
 msgstr ""
 "<html>Por favor, escueya una de les siguientes <strong>búsqueda "
 "estándar</strong>. Si solamente deseya descargar conxuntos de cambeos creaos "
-"por usté, escueya <strong>Descargar solamente'l mio conxuntu de "
+"por usté, escueya <strong>Descargar solamente''l mio conxuntu de "
 "cambeos</strong>.<br>Tenga en cuenta que JOSM va descargar un máximu 100 "
 "conxuntos de cambeos.</html>"
 
@@ -7275,7 +7333,7 @@ msgid ""
 "user name in the preferences first.</em></html>"
 msgstr ""
 "<html>Descargar los mios conxuntos de cambeos abiertos<br><em>Desactiváu. "
-"Por favor, primero indique'l so usuariu OSM en preferencies.</em></html>"
+"Por favor, primero indique''l so usuariu OSM en preferencies.</em></html>"
 
 msgid "<html>Download my open changesets</html>"
 msgstr "<html>Descargar los mios conxuntos de cambeos abiertos</html>"
@@ -7341,7 +7399,7 @@ msgid "Querying and downloading changesets"
 msgstr "Consultando y descargando cambeos"
 
 msgid "Determine user id for current user..."
-msgstr "Determinar l'ID d'usuariu pal usuariu actual..."
+msgstr "Determinar l''ID d''usuariu pal usuariu actual..."
 
 msgid "Query and download changesets ..."
 msgstr "Consultar y descargar cambeos..."
@@ -7429,16 +7487,16 @@ msgid "Edit Tags"
 msgstr "Editar etiquetes"
 
 msgid "Go to OSM wiki for tag help (F1)"
-msgstr "Ir a la wiki d'OSM p'axuda sobre cómo etiquetar (F1)"
+msgstr "Ir a la wiki d''OSM p''axuda sobre cómo etiquetar (F1)"
 
 msgid "Launch browser with wiki help for selected object"
-msgstr "Empecipia'l navegador con ayuda de la wiki pal oxetu escoyíu"
+msgstr "Empecipia''l navegador con ayuda de la wiki pal oxetu escoyíu"
 
 msgid "Paste Value"
 msgstr "Apegar Valor"
 
 msgid "Paste the value of the selected tag from clipboard"
-msgstr "Apegar el valor de la etiqueta escoyida dende'l portapapeles"
+msgstr "Apegar el valor de la etiqueta escoyida dende''l portapapeles"
 
 msgid "Copy Value"
 msgstr "Copiar valor"
@@ -7466,8 +7524,8 @@ msgid ""
 "Search with the key and value of the selected tag, restrict to type (i.e., "
 "node/way/relation)"
 msgstr ""
-"Buscar cola clave y valor de la etiqueta escoyida, acutando'l tipu (por casu "
-"nodo/camino/relación)"
+"Buscar cola clave y valor de la etiqueta escoyida, acutando''l tipu (por "
+"casu nodo/camino/relación)"
 
 msgid "Search Key/Value"
 msgstr "Buscar clave/valor"
@@ -7496,7 +7554,7 @@ msgstr[0] "Va camudase {0} objeto."
 msgstr[1] "Van camudase {0} objetos."
 
 msgid "An empty value deletes the tag."
-msgstr "Un valor valeru borra'l atributu."
+msgstr "Un valor valeru borra''l atributu."
 
 msgid "You changed the key from ''{0}'' to ''{1}''."
 msgstr "Camudó la clave de ''{0}'' a ''{1}''."
@@ -7507,7 +7565,7 @@ msgstr[0] "Camudar les propiedaes de fasta {0} oxetu"
 msgstr[1] "Camudar les propiedaes de fasta {0} objetos"
 
 msgid "Use English language for tag by default"
-msgstr "Usar l'idioma Inglés pa les etiquetes por omisión"
+msgstr "Usar l''idioma Inglés pa les etiquetes por omisión"
 
 msgid "Add value?"
 msgstr "¿Añedir valor?"
@@ -7524,13 +7582,14 @@ msgid "Please select a value"
 msgstr "Escueye un valor"
 
 msgid "Set number of recently added tags"
-msgstr "Establecer el númberu d'etiquetes añedíes pocayá"
+msgstr "Establecer el númberu d''etiquetes añedíes pocayá"
 
 msgid "Remember last used tags after a restart"
 msgstr ""
 
 msgid "Please enter the number of recently added tags to display"
-msgstr "Por favor, introduza'l númberu d'etiquetes añedíes apocayá a amosar"
+msgstr ""
+"Por favor, introduza''l númberu d''etiquetes añedíes apocayá a amosar"
 
 msgid "Please enter integer number between 0 and {0}"
 msgstr "Por favor, introduza un númberu enteru ente 0 y {0}"
@@ -7723,14 +7782,11 @@ msgstr "Escoyer los oxetos pa los miembros de la relación indicaos"
 msgid "Sort the relation members"
 msgstr "Ordenar los miembros de la relación"
 
-msgid "Sort"
-msgstr "Axeitar"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor de rellaciones: axeitar"
 
 msgid "Reverse the order of the relation members"
-msgstr "Invertir l'orde de los miembros de la relación"
+msgstr "Invertir l''orde de los miembros de la relación"
 
 msgid "Reverse"
 msgstr "Inversu"
@@ -7748,7 +7804,7 @@ msgid "Relation Editor: Move Down"
 msgstr "Editor de relaciones: Mover escontra baxo"
 
 msgid "Remove the currently selected members from this relation"
-msgstr "Quitar los miembros escoyíos d'esta relación"
+msgstr "Quitar los miembros escoyíos d''esta relación"
 
 msgid "Relation Editor: Remove"
 msgstr "Editor de relaciones: Borrar"
@@ -7761,7 +7817,7 @@ msgid ""
 "relation editor\n"
 "was open. They have been removed from the relation members list."
 msgstr ""
-"Borróse unu o más miembros d'esta nueva relación mientres l'editor de "
+"Borróse unu o más miembros d''esta nueva relación mientres l''editor de "
 "relaciones\n"
 "taba abiertu. Estos miembros esaniciáronse de la llista de miembros de "
 "relación."
@@ -7786,7 +7842,7 @@ msgid ""
 msgstr ""
 "<html>Esta relación foi camudada fora del editor.<br>Nun puede aplicar los "
 "cambeos y siguir editando.<br><br>¿Deseya crear un conflictu y cerrar "
-"l'editor?</html>"
+"l''editor?</html>"
 
 msgid ""
 "<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
@@ -7854,7 +7910,7 @@ msgstr[0] "Configurasti una función valera en {0} oxetu."
 msgstr[1] "Configurasti una función valera en {0} oxetos."
 
 msgid "This is equal to deleting the roles of these objects."
-msgstr "Esto equival a borrar les funciones d'esos oxetos."
+msgstr "Esto equival a borrar les funciones d''esos oxetos."
 
 msgid "Do you really want to apply the new role?"
 msgstr "¿Quier aplicar la nueva función?"
@@ -7954,7 +8010,7 @@ msgid "{0} - {1} ({2})"
 msgstr "{0} - {1} ({2})"
 
 msgid "Wrong number of arguments for bookmark"
-msgstr "Númberu d'argumentos erróneos pal marcador"
+msgstr "Númberu d''argumentos erróneos pal marcador"
 
 msgid "Error reading bookmark entry: %s"
 msgstr "Erru al lleer la entrá del marcador: %s"
@@ -7963,7 +8019,7 @@ msgid "Bookmarks"
 msgstr "Marcadores"
 
 msgid "<html>There is currently no download area selected.</html>"
-msgstr "<html>Nun s'escoyó nengún área de descarga.</html>"
+msgstr "<html>Nun s''escoyó nengún área de descarga.</html>"
 
 msgid ""
 "<html><strong>Current download area</strong> (minlon, minlat, maxlon, "
@@ -8068,14 +8124,14 @@ msgid ""
 "started.<br>You can open it manually from File menu or toolbar.</html>"
 msgstr ""
 "<html>Empecipiar automáticamente el diálogu \"Descargar dende OSM\" cada vez "
-"que s'empecipia JOSM.<br>Puede abrir manualmente del menú Archivo o dende la "
-"barra de ferramientes.</html>"
+"que s''empecipia JOSM.<br>Puede abrir manualmente del menú Archivo o dende "
+"la barra de ferramientes.</html>"
 
 msgid ""
 "Use left click&drag to select area, arrows or right mouse button to scroll "
 "map, wheel or +/- to zoom."
 msgstr ""
-"Pulsie y arrastre col mure pa escoyer una área, utilice les fleches o'l "
+"Pulsie y arrastre col mure pa escoyer una área, utilice les fleches o''l "
 "botón derechu del mure pa movese, y la rueda del mure o les tecles +/- pal "
 "zoom."
 
@@ -8095,7 +8151,7 @@ msgid "Click to close the dialog and to abort downloading"
 msgstr "Faiga clic pa pesllar la caxa de diálogu y albortar la descarga"
 
 msgid "Click to download the currently selected area"
-msgstr "Faiga click pa descargar l'área anguaño escoyida"
+msgstr "Faiga click pa descargar l''área anguaño escoyida"
 
 msgid "Please select a download area first."
 msgstr "Por favor, escueya primero una área pa descargar."
@@ -8126,7 +8182,7 @@ msgstr ""
 
 msgid "Select if the members of a relation should be downloaded as well"
 msgstr ""
-"Seleicionar si los miembros d'una rellación tienen de descargase tamién"
+"Seleicionar si los miembros d''una rellación tienen de descargase tamién"
 
 msgid "Download referrers (parent relations and ways)"
 msgstr "Descargar referencies (víes y rellaciones padre)"
@@ -8141,10 +8197,10 @@ msgid "Choose the server for searching:"
 msgstr "Escoyer el servidor pa la busca:"
 
 msgid "Enter a place name to search for:"
-msgstr "Introduza'l nome d'un llugar pa buscalo:"
+msgstr "Introduza''l nome d''un llugar pa buscalo:"
 
 msgid "Enter a place name to search for"
-msgstr "Introduza'l nome d'un llugar que buscar"
+msgstr "Introduza''l nome d''un llugar que buscar"
 
 msgid "Areas around places"
 msgstr "Árees en redol a llugares"
@@ -8228,10 +8284,10 @@ msgid "Failed to open URL"
 msgstr "Non se pudo abrir la URL"
 
 msgid "Open the current help page in an external browser"
-msgstr "Abrir la páxina actual d'axuda nun navegador esternu"
+msgstr "Abrir la páxina actual d''axuda nun navegador esternu"
 
 msgid "Edit the current help page"
-msgstr "Editar la páxina d'axuda actual"
+msgstr "Editar la páxina d''axuda actual"
 
 msgid ""
 "<html>The current URL <tt>{0}</tt><br>is an external URL. Editing is only "
@@ -8242,7 +8298,7 @@ msgstr ""
 "<tt>{1}</tt>.</html>"
 
 msgid "Reload the current help page"
-msgstr "Recarga la páxina d'axuda actual"
+msgstr "Recarga la páxina d''axuda actual"
 
 msgid "Go to the previous page"
 msgstr "Dir a la páxina anterior"
@@ -8251,16 +8307,16 @@ msgid "Go to the next page"
 msgstr "Dir a la páxina siguiente"
 
 msgid "Go to the JOSM help home page"
-msgstr "Dir a la páxina d'axuda de JOSM"
+msgstr "Dir a la páxina d''axuda de JOSM"
 
 msgid "Bad location in HTML document. Exception was: {0}"
 msgstr "Mal allugamientu nel documentu HTML. La esceición foi: {0}"
 
 msgid "Failed to open help page. The target URL is empty."
-msgstr "Non pudo abrir la páxina d'ayuda. La URL de destín ta valera."
+msgstr "Non pudo abrir la páxina d''ayuda. La URL de destín ta valera."
 
 msgid "Failed to open help page"
-msgstr "Fallu al abrir la páxina d'axuda"
+msgstr "Fallu al abrir la páxina d''axuda"
 
 msgid "Latitude: "
 msgstr "Llatitú: "
@@ -8284,11 +8340,11 @@ msgid "History for relation {0}"
 msgstr "Historial de la relación {0}"
 
 msgid "Reload the history from the server"
-msgstr "Recargar l'historial dende'l servidor"
+msgstr "Recargar l''historial dende''l servidor"
 
 msgid "History not initialized yet. Failed to set reference primitive."
 msgstr ""
-"L'historial nun s'empecipió entá. Non pudo establecese la referencia "
+"L''historial nun s''empecipió entá. Non pudo establecese la referencia "
 "primitiva."
 
 msgid ""
@@ -8305,7 +8361,7 @@ msgstr ""
 
 msgid "History not initialized yet. Failed to set current primitive."
 msgstr ""
-"L'historial nun s'empecipió entá. Non pudo establecese la referencia "
+"L''historial nun s''empecipió entá. Non pudo establecese la referencia "
 "primitiva actual."
 
 msgid ""
@@ -8337,7 +8393,7 @@ msgid "Zoom to this node in the current data layer"
 msgstr "Zoom a esti nodo na actual capa de datos"
 
 msgid "Open a history browser with the history of this node"
-msgstr "Abrir un navegador d'hestóricos col historial d'esti nodo"
+msgstr "Abrir un navegador d''hestóricos col historial d''esti nodo"
 
 msgid "Way {0}"
 msgstr "Vía {0}"
@@ -8377,7 +8433,7 @@ msgid "Changeset info"
 msgstr "Información del coxuntu de cambeos"
 
 msgid "Launch browser with information about the changeset"
-msgstr "Abrir el navegador con información sobre'l conxuntu de cambeos"
+msgstr "Abrir el navegador con información sobre''l conxuntu de cambeos"
 
 msgid "Show changeset {0}"
 msgstr "Amosar conxuntu de cambeos {0}"
@@ -8386,7 +8442,7 @@ msgid "User info"
 msgstr "Información del usuariu"
 
 msgid "Launch browser with information about the user"
-msgstr "Empecipiar navegador con información sobre l'usuariu"
+msgstr "Empecipiar navegador con información sobre l''usuariu"
 
 msgid "Show user {0}"
 msgstr "Amosar usuariu {0}"
@@ -8477,7 +8533,7 @@ msgid "Click to download all referring objects for {0}"
 msgstr "Faiga click pa descargar tolos oxetos referenciaos por {0}"
 
 msgid "Click to cancel and to resume editing the map"
-msgstr "Fai click p'atayar y siguir editando'l mapa"
+msgstr "Fai click p''atayar y siguir editando''l mapa"
 
 msgid ""
 "Click <strong>{0}</strong> to load them now.<br>If necessary JOSM will "
@@ -8488,7 +8544,7 @@ msgstr ""
 "Resolvimientu de Conflictos."
 
 msgid "Object still in use"
-msgstr "L'oxetu inda ta n'usu."
+msgstr "L''oxetu inda ta n''usu."
 
 msgid "Error header \"{0}\" did not match with an expected pattern"
 msgstr ""
@@ -8515,7 +8571,7 @@ msgid "Enter an upload comment"
 msgstr "Introduza un comentariu de xubida"
 
 msgid "Specify the data source for the changes"
-msgstr "Especifique l'orixe de datos pa los cambeos"
+msgstr "Especifique l''orixe de datos pa los cambeos"
 
 msgid "obtain from current layers"
 msgstr "obtener de les capes actuales"
@@ -8572,7 +8628,7 @@ msgstr "Cerrar el conxuntu de cambeos escoyíu abiertu"
 
 msgid "<html>Please select the changesets you want to close</html>"
 msgstr ""
-"<html>Por favor, escueya'l conxuntu de cambeos que deseya cerrar</html>"
+"<html>Por favor, escueya''l conxuntu de cambeos que deseya cerrar</html>"
 
 msgid "Open changesets"
 msgstr "Abrir conxuntu de cambeos"
@@ -8599,7 +8655,7 @@ msgstr ""
 "una esceición de seguridá."
 
 msgid "Enter credentials for OSM API"
-msgstr "Introduza les credenciales pa la API d'OSM"
+msgstr "Introduza les credenciales pa la API d''OSM"
 
 msgid "Enter credentials for host"
 msgstr "Introduza les credenciales pal servidor"
@@ -8607,9 +8663,6 @@ msgstr "Introduza les credenciales pal servidor"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Introducir les credenciales pal proxy HTTP"
 
-msgid "Username"
-msgstr "Nome d'usuariu"
-
 msgid "Password"
 msgstr "Clave"
 
@@ -8617,10 +8670,10 @@ msgid "Warning: The password is transferred unencrypted."
 msgstr "Alvertencia: La contraseña va tresferise ensin cifrar."
 
 msgid "Please enter the user name of your OSM account"
-msgstr "Por favor, introduza'l nome d'usuariu de la so cuenta d'OSM"
+msgstr "Por favor, introduza''l nome d''usuariu de la so cuenta d''OSM"
 
 msgid "Please enter the password of your OSM account"
-msgstr "Introduza la contraseña de la so cuenta d'OSM"
+msgstr "Introduza la contraseña de la so cuenta d''OSM"
 
 msgid ""
 "Authenticating at the OSM API ''{0}'' failed. Please enter a valid username "
@@ -8630,7 +8683,7 @@ msgstr ""
 "contraseña válidos."
 
 msgid "Please enter the user name of your account"
-msgstr "Por favor, introduza'l nome d'usuariu de la so cuenta"
+msgstr "Por favor, introduza''l nome d''usuariu de la so cuenta"
 
 msgid "Please enter the password of your account"
 msgstr "Por favor, introduza la contraseña de la so cuenta"
@@ -8644,7 +8697,7 @@ msgstr ""
 
 msgid "Please enter the user name for authenticating at your proxy server"
 msgstr ""
-"Por favor, introduza'l nome d'usuariu pa la autentificación nel servidor "
+"Por favor, introduza''l nome d''usuariu pa la autentificación nel servidor "
 "proxy"
 
 msgid "Please enter the password for authenticating at your proxy server"
@@ -8662,14 +8715,14 @@ msgid ""
 "Warning: depending on the authentication method the proxy server uses the "
 "password may be transferred unencrypted."
 msgstr ""
-"Atención: dependiendo del métodu de autentificación qu'use'l servidor proxy "
-"pue que la contraseña sía tresmitida ensin encriptar."
+"Atención: dependiendo del métodu de autentificación qu''use''l servidor "
+"proxy pue que la contraseña sía tresmitida ensin encriptar."
 
 msgid "Authenticate"
 msgstr "Autentificar"
 
 msgid "Authenticate with the supplied username and password"
-msgstr "Autentificase col nome d'usuario y contraseña suministraos"
+msgstr "Autentificase col nome d''usuario y contraseña suministraos"
 
 msgid "Cancel authentication"
 msgstr "Atayar autentificación"
@@ -8701,11 +8754,11 @@ msgid ""
 msgstr ""
 "Non pudo recuperase la llista de los sos conxuntos de cambeos abiertos "
 "porque<br>JOSM nun conoz la so identidá.<br>Escoyó trabayar anonimamente o "
-"nun tener derechu a conocer<br> la identidá del usuariu en que'l so nome ta "
+"nun tener derechu a conocer<br> la identidá del usuariu en que''l so nome ta "
 "trabayando."
 
 msgid "Missing user identity"
-msgstr "Identidá d'usuariu perdía"
+msgstr "Identidá d''usuariu perdía"
 
 msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
@@ -8721,7 +8774,7 @@ msgstr "Anicializando nodos a descargar..."
 
 msgid "Object could not be downloaded"
 msgid_plural "Some objects could not be downloaded"
-msgstr[0] "L'oxetu nun se pudo descargar"
+msgstr[0] "L''oxetu nun se pudo descargar"
 msgstr[1] "Dellos oxetos nun se pudieron descargar"
 
 msgid "One object could not be downloaded.<br>"
@@ -8734,7 +8787,7 @@ msgid ""
 "does not know an object with the requested id."
 msgstr ""
 "El sirvidor devolvió un códigu de rempuesta 404.<br>Polo xeneral esto "
-"significa que'l sirvidor nun conuez dengún oxetu cola id que se pidió."
+"significa que''l sirvidor nun conuez dengún oxetu cola id que se pidió."
 
 msgid "missing objects:"
 msgstr "oxetos que falten:"
@@ -8749,7 +8802,7 @@ msgid ""
 "to open a file chooser."
 msgstr ""
 "Edite la ruta manualmente na caxa de testu o faiga clic nel botón \"...\" "
-"por que se abrir un selector d'arquivu."
+"por que se abrir un selector d''arquivu."
 
 msgid "The bold text is the name of the layer."
 msgstr "El testu en negrina correspuende al nome de la capa"
@@ -8776,13 +8829,13 @@ msgid "Open Recent"
 msgstr "Abrir recién"
 
 msgid "List of recently opened files"
-msgstr "Llista d'arquivos abiertos recientemente"
+msgstr "Llista d''arquivos abiertos recientemente"
 
 msgid "Clear"
 msgstr "Llimpiar"
 
 msgid "Clear the list of recently opened files"
-msgstr "Llimpiar la llista d'arquivos abiertos recientemente"
+msgstr "Llimpiar la llista d''arquivos abiertos recientemente"
 
 msgid "Saving layer to ''{0}'' ..."
 msgstr "Guardando la capa \"{0}\"..."
@@ -8829,7 +8882,7 @@ msgstr[1] ""
 "ensin ficheru:</html>"
 
 msgid "Unsaved data and missing associated file"
-msgstr "Datos ensin guardar y perda d'arquivu asociáu"
+msgstr "Datos ensin guardar y perda d''arquivu asociáu"
 
 msgid ""
 "<html>{0} layer needs saving but has an associated file<br>which cannot be "
@@ -8849,7 +8902,7 @@ msgstr[1] ""
 "refugue los cambeos.<br>Capes con un ficheru de namá llectura:</html>"
 
 msgid "Unsaved data non-writable files"
-msgstr "Datos ensin guardar d'arquivos non modificables"
+msgstr "Datos ensin guardar d''arquivos non modificables"
 
 msgid "Close this dialog and resume editing in JOSM"
 msgstr "Zarrar esti diálogu y siguir la edición en JOSM"
@@ -8875,12 +8928,12 @@ msgstr ""
 "guardase."
 
 msgid "Perform actions before deleting"
-msgstr "Realizar acciones enantes d'esaniciar"
+msgstr "Realizar acciones enantes d''esaniciar"
 
 msgid "Save/Upload layers before deleting. Unsaved changes are not lost."
 msgstr ""
-"Guardar/xubir capes enantes d'esaniciar. Los cambeos ensin grabar nun se van "
-"perder."
+"Guardar/xubir capes enantes d''esaniciar. Los cambeos ensin grabar nun se "
+"van perder."
 
 msgid "Preparing layer ''{0}'' for upload ..."
 msgstr "Preparando capa ''{0}'' pa xubir..."
@@ -8892,7 +8945,7 @@ msgid_plural ""
 "<html>Upload and/or save operations of {0} layers with modifications<br>were "
 "canceled or have failed.</html>"
 msgstr[0] ""
-"<html>La operación de xubida y/o grabación d'una capa con cambeos<br>foi "
+"<html>La operación de xubida y/o grabación d''una capa con cambeos<br>foi "
 "atayada o falló.</html>"
 msgstr[1] ""
 "<html>Les operaciones de xubida y/o grabación de {0} capes con "
@@ -8979,7 +9032,7 @@ msgid "Upload the changed primitives"
 msgstr "Xubir les primitives que se camudaron"
 
 msgid "Please revise upload comment"
-msgstr "Por favor revise'l comentariu de xubida"
+msgstr "Por favor revise''l comentariu de xubida"
 
 msgid ""
 "Your upload comment is <i>empty</i>, or <i>very short</i>.<br /><br />This "
@@ -9005,12 +9058,12 @@ msgid ""
 "origins of the data.<br /><br />If you spend a minute now to explain your "
 "change, you will make life<br />easier for many other mappers."
 msgstr ""
-"Nun especificó la fonte d'orixe de los sos cambeos. Esto ta dexáu "
-"técnicamente, pero esta información ayuda a otros usuarios a entender d'onde "
-"proceden esos los datos (conocencia local, ortofoto, etc.). \r\n"
+"Nun especificó la fonte d''orixe de los sos cambeos. Esto ta dexáu "
+"técnicamente, pero esta información ayuda a otros usuarios a entender "
+"d''onde proceden esos los datos (conocencia local, ortofoto, etc.). \r\n"
 "<br/> \r\n"
 "Si usté dedica unos segundos a esplicar los sos cambeos va facilitar "
-"descomanadamente'l llabor de otru collaboradores de OpenStreetMap."
+"descomanadamente''l llabor de otru collaboradores de OpenStreetMap."
 
 msgid "Revise"
 msgstr "Revisar"
@@ -9025,7 +9078,7 @@ msgid "Cancel and return to the previous dialog"
 msgstr "Atayar y volver al diálogu anterior"
 
 msgid "Please enter a valid chunk size first"
-msgstr "Por favor, introduza primero un tamañu d'elementu válidu"
+msgstr "Por favor, introduza primero un tamañu d''elementu válidu"
 
 msgid "Illegal chunk size"
 msgstr "Tamañu de fragmentu illegal"
@@ -9079,12 +9132,12 @@ msgstr ""
 msgid ""
 "The changeset is going to be <strong>closed</strong> after this upload"
 msgstr ""
-"El conxuntu de cambeos va a <strong>pesllase</strong> dempués d'esta xubida"
+"El conxuntu de cambeos va a <strong>pesllase</strong> dempués d''esta xubida"
 
 msgid "The changeset is <strong>left open</strong> after this upload"
 msgstr ""
 "El conxuntu de cambeos ta <strong>parcialmente abiertu</strong> dempués "
-"d'esta xubida"
+"d''esta xubida"
 
 msgid "configure changeset"
 msgstr "configurar conxuntu de cambeos"
@@ -9151,13 +9204,13 @@ msgid "Go back to Upload Dialog"
 msgstr "Volver al diálogu de xubida"
 
 msgid "Click to return to the Upload Dialog"
-msgstr "Prima'l botón esquierdu pa volver al diálogu de xubida"
+msgstr "Prima''l botón esquierdu pa volver al diálogu de xubida"
 
 msgid "Abort"
 msgstr "Albortar"
 
 msgid "Click to abort uploading"
-msgstr "Faiga clic p'albortar la xubida"
+msgstr "Faiga clic p''albortar la xubida"
 
 msgid ""
 "The server reported that the current changeset was closed.<br>This is most "
@@ -9197,7 +9250,7 @@ msgid "Relation ''{0}'' is already deleted. Skipping object in upload."
 msgstr "Relación ''{0}'' ta esaniciada. Omitiendo na xubida."
 
 msgid "Object ''{0}'' is already deleted. Skipping object in upload."
-msgstr "L´oxetu \"{0}\" yá foi borráu. Omítese l'oxetu na xubida."
+msgstr "L´oxetu \"{0}\" yá foi borráu. Omítese l''oxetu na xubida."
 
 msgid "Uploading {0} object..."
 msgid_plural "Uploading {0} objects..."
@@ -9244,7 +9297,7 @@ msgid "Upload data in one request"
 msgstr "Xubir datos nun únicu pidimientu"
 
 msgid "Upload data in chunks of objects. Chunk size: "
-msgstr "Xubir los datos en grupos d'oxetos. Tamañu del grupu: "
+msgstr "Xubir los datos en grupos d''oxetos. Tamañu del grupu: "
 
 msgid "Upload each object individually"
 msgstr "Xubir cada oxetu individualmente"
@@ -9264,7 +9317,8 @@ msgstr "Abrir y usar tantos conxuntos de cambeos nuevos como sía necesariu"
 
 msgid "Upload in one request not possible (too many objects to upload)"
 msgstr ""
-"Nun ye posible xubir datos d'una sola vegada (hai demasiaos oxetos por xubir)"
+"Nun ye posible xubir datos d''una sola vegada (hai demasiaos oxetos por "
+"xubir)"
 
 msgid ""
 "<html>Cannot upload {0} objects in one request because the<br>max. changeset "
@@ -9373,7 +9427,7 @@ msgid "Save GPX file"
 msgstr "Guardar ficheru GPX"
 
 msgid "Imagery fade"
-msgstr "Tresparencia d'imaxes"
+msgstr "Tresparencia d''imaxes"
 
 msgid "ERROR"
 msgstr "ERRU"
@@ -9405,6 +9459,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Guardar capa"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Notes layer"
 msgstr "Capa de Notes"
 
@@ -9438,7 +9495,7 @@ msgid "API version: {0}"
 msgstr "Versión del API: {0}"
 
 msgid "Upload is discouraged"
-msgstr "Nun s'encamienta la xubida"
+msgstr "Nun s''encamienta la xubida"
 
 msgid "Convert to GPX layer"
 msgstr "Convertir a capa GPX"
@@ -9450,7 +9507,7 @@ msgid "Dataset consistency test"
 msgstr "Preba de consistencia del conxuntu de datos"
 
 msgid "No problems found"
-msgstr "Nun s'alcontraron problemes"
+msgstr "Nun s''alcontraron problemes"
 
 msgid "Following problems found:"
 msgstr "Atopáronse los siguientes problemes:"
@@ -9537,7 +9594,7 @@ msgid "zoom in to load more tiles"
 msgstr "faiga zoom averando pa cargar más teseles"
 
 msgid "increase zoom level to see more detail"
-msgstr "aumenta'l nivel de zoom pa ver más detalles"
+msgstr "aumenta''l nivel de zoom pa ver más detalles"
 
 msgid "No tiles at this zoom level"
 msgstr "Non hai teseles a esti nivel de zoom"
@@ -9584,8 +9641,8 @@ msgstr "Descarga teseles visibles"
 msgid ""
 "The requested area is too big. Please zoom in a little, or change resolution"
 msgstr ""
-"La área solicitada ye demasiáu grande. Por favor, amplíe'l zoom un pocu más, "
-"o camude'l resolvimientu"
+"La área solicitada ye demasiáu grande. Por favor, amplíe''l zoom un pocu "
+"más, o camude''l resolvimientu"
 
 msgid "Change resolution"
 msgstr "Camudar resolvimientu"
@@ -9639,7 +9696,7 @@ msgid ""
 msgstr ""
 "<html>Tome una semeya del so receptor GPS mientres amuesa la hora "
 "esacta.<br>Esponga esa semeya equí.<br>Y dempués, cenciellamente tome la "
-"hora qu'usté llee na semeya y escueya una zona horaria<hr></html>"
+"hora qu''usté llee na semeya y escueya una zona horaria<hr></html>"
 
 msgid "Photo time (from exif):"
 msgstr "Hora de la semeya (dende exif)"
@@ -9657,14 +9714,14 @@ msgid "Open another photo"
 msgstr "Abrir otra semeya"
 
 msgid "Synchronize time from a photo of the GPS receiver"
-msgstr "Sincronizar el tiempu d'una semeya col receptor GPS"
+msgstr "Sincronizar el tiempu d''una semeya col receptor GPS"
 
 msgid ""
 "Error while parsing the date.\n"
 "Please use the requested format"
 msgstr ""
 "Erru al analizar la fecha.\n"
-"Por favor, utilice'l formatu riquíu."
+"Por favor, utilice''l formatu riquíu."
 
 msgid "Invalid date"
 msgstr "Fecha non válida"
@@ -9681,7 +9738,7 @@ msgstr "Abrir otra traza GPX"
 msgid ""
 "<html>Use photo of an accurate clock,<br>e.g. GPS receiver display</html>"
 msgstr ""
-"<html>Usar fotografía d'un reló precisu, <br>p.e. la pantalla del GPS cola "
+"<html>Usar fotografía d''un reló precisu, <br>p.e. la pantalla del GPS cola "
 "hora</html>"
 
 msgid "Auto-Guess"
@@ -9730,7 +9787,7 @@ msgid "No images could be matched!"
 msgstr "¡Non pudo apariase imaxe dalguna!"
 
 msgid "No gpx selected"
-msgstr "Nun s'escoyó nengún arquivu GPX"
+msgstr "Nun s''escoyó nengún arquivu GPX"
 
 msgid "<html>Matched <b>{0}</b> of <b>{1}</b> photo to GPX track.</html>"
 msgid_plural ""
@@ -9787,10 +9844,10 @@ msgid "GPX Track has no time information"
 msgstr "La traza GPX nun tener información horaria"
 
 msgid "You should select a GPX track"
-msgstr "Tien d'escoyer una traza GPX"
+msgstr "Tien d''escoyer una traza GPX"
 
 msgid "No selected GPX track"
-msgstr "Nun s'escoyó una traza GPX"
+msgstr "Nun s''escoyó una traza GPX"
 
 msgid ""
 "Error while parsing timezone.\n"
@@ -9840,11 +9897,11 @@ msgstr[1] "{0} imaxes cargaes."
 
 msgid "{0} was found to be GPS tagged."
 msgid_plural "{0} were found to be GPS tagged."
-msgstr[0] "Atopóse {0} elementu p'asitiar con GPS."
-msgstr[1] "Atopáronse {0} elementos p'asitiar con GPS"
+msgstr[0] "Atopóse {0} elementu p''asitiar con GPS."
+msgstr[1] "Atopáronse {0} elementos p''asitiar con GPS"
 
 msgid "Delete image file from disk"
-msgstr "Borrar arquivu d'imaxe del discu"
+msgstr "Borrar arquivu d''imaxe del discu"
 
 msgid ""
 "<html><h3>Delete the file {0} from disk?<p>The image file will be "
@@ -9854,7 +9911,7 @@ msgstr ""
 "l´arquivu!</h3></html>"
 
 msgid "Image file could not be deleted."
-msgstr "L'arquivu d'imaxe non pudo ser borráu."
+msgstr "L''arquivu d''imaxe non pudo ser borráu."
 
 msgid "No image"
 msgstr "Nenguna imaxe"
@@ -9883,6 +9940,9 @@ msgstr "Esaniciar semeya de la capa"
 msgid "Delete File from disk"
 msgstr "Borrar arquivu del discu"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Siguiente"
 
@@ -10023,16 +10083,16 @@ msgid "Click to download"
 msgstr "Faiga clic pa descargar"
 
 msgid "Click to cancel"
-msgstr "Faiga clic p'atayar"
+msgstr "Faiga clic p''atayar"
 
 msgid "Download from OSM along this track"
-msgstr "Descargar datos de OSM a lo llargo d'esta traza"
+msgstr "Descargar datos de OSM a lo llargo d''esta traza"
 
 msgid "Calculating Download Area"
 msgstr "Calculando área a descargar"
 
 msgid "Precache imagery tiles along this track"
-msgstr "Precargar les imaxes de fondu a lo llargo d'esta pista."
+msgstr "Precargar les imaxes de fondu a lo llargo d''esta pista."
 
 msgid "Precaching WMS"
 msgstr "Precargando WMS"
@@ -10041,13 +10101,13 @@ msgid "Please select the imagery layer."
 msgstr "Escueya la capa de fondu."
 
 msgid "Select imagery layer"
-msgstr "Escueya capa d'imaxes"
+msgstr "Escueya capa d''imaxes"
 
 msgid "There are no imagery layers."
-msgstr "Nun hai capes d'imaxes disponibles."
+msgstr "Nun hai capes d''imaxes disponibles."
 
 msgid "No imagery layers"
-msgstr "Nun hai capes d'imaxes"
+msgstr "Nun hai capes d''imaxes"
 
 msgid "Velocity, km/h"
 msgstr "Velocidá, km/h"
@@ -10072,9 +10132,9 @@ msgid ""
 "server.<br>Because its way points do not include a timestamp we cannot "
 "correlate them with audio data.</html>"
 msgstr ""
-"<html>Descargar del servidor los datos de la capa GPX \"{0}\", br <>Cuidao "
+"<html>Descargar del servidor los datos de la capa GPX \"{0}\", <br>Cuidao "
 "que los puntos de vía nun inclúin una marca de tiempu, nun se pueden "
-"correlacionar con datos d'audiu.</html>"
+"correlacionar con datos d''audiu.</html>"
 
 msgid "Import not possible"
 msgstr "Nun ye posible importar"
@@ -10086,13 +10146,13 @@ msgid "Audio markers from {0}"
 msgstr "Marcadores d´audiu dende {0}"
 
 msgid "No GPX track available in layer to associate audio with."
-msgstr "Nun hai traza gpx disponible na capa p'acomuñar l'audiu"
+msgstr "Nun hai traza gpx disponible na capa p''acomuñar l''audiu"
 
 msgid ""
 "Some waypoints with timestamps from before the start of the track or after "
 "the end were omitted or moved to the start."
 msgstr ""
-"Dellos puntos d'interés con marques temporales anteriores al entamu de "
+"Dellos puntos d''interés con marques temporales anteriores al entamu de "
 "trazar o posterior a la so finalización fueron omitíos o treslladaos al "
 "empiezu."
 
@@ -10111,7 +10171,7 @@ msgid ""
 "server.<br>Because its way points do not include a timestamp we cannot "
 "correlate them with images.</html>"
 msgstr ""
-"<html>Descargar del servidor los datos na capa GPX \"{0}\", br<>Cuidao que "
+"<html>Descargar del servidor los datos na capa GPX \"{0}\", <br>Cuidao que "
 "los puntos de vía nun inclúin una marca de tiempu, nun se pueden "
 "correlacionar con imaxes.</html>"
 
@@ -10135,7 +10195,7 @@ msgstr[0] "{0} consiste nel marcador {1}"
 msgstr[1] "{0} consiste nos marcadores {1}"
 
 msgid "No existing audio markers in this layer to offset from."
-msgstr "Nun esisten marcadores d'audiu nesta capa dende los que mover."
+msgstr "Nun esisten marcadores d''audiu nesta capa dende los que mover."
 
 msgid "Show Text/Icons"
 msgstr "Amosar Testu/Iconos"
@@ -10150,42 +10210,43 @@ msgstr "Sincronizar audiu"
 msgid ""
 "You need to pause audio at the moment when you hear your synchronization cue."
 msgstr ""
-"Precisa pausar l'audiu nel momentu qu'oya la so entrada de sincronización"
+"Precisa pausar l''audiu nel momentu qu''oya la so entrada de sincronización"
 
 msgid "Audio synchronized at point {0}."
 msgstr "Audiu sincronizáu nel puntu {0}"
 
 msgid "Unable to synchronize in layer being played."
-msgstr "Non puede sincronizase na capa que s'escuchaba."
+msgstr "Non puede sincronizase na capa que s''escuchaba."
 
 msgid "Make Audio Marker at Play Head"
-msgstr "Crear un marcador d'audiu na cabecera d'escucha"
+msgstr "Crear un marcador d''audiu na cabecera d''escucha"
 
 msgid ""
 "You need to have paused audio at the point on the track where you want the "
 "marker."
 msgstr ""
-"Precisaba haber pausáu l'audiu nel puntu de la pista onde quería'l marcador."
+"Precisaba haber pausáu l''audiu nel puntu de la pista onde quería''l "
+"marcador."
 
 msgid ""
 "You need to drag the play head near to the GPX track whose associated sound "
 "track you were playing (after the first marker)."
 msgstr ""
 "Tien que mover el cursor de reproducción cerca de trazar GPX que la so pista "
-"de soníu taba reproduciendo (degoláu'l primer marcador)."
+"de soníu taba reproduciendo (degoláu''l primer marcador)."
 
 msgid ""
 "You need to SHIFT-drag the play head onto an audio marker or onto the track "
 "point where you want to synchronize."
 msgstr ""
-"Precisa mover, mientres pulsia mayúscules, la cabecera d'escucha a un "
-"marcador d'audiu o a un puntu de traza, onde quiera sincronizar."
+"Precisa mover, mientres pulsia mayúscules, la cabecera d''escucha a un "
+"marcador d''audiu o a un puntu de traza, onde quiera sincronizar."
 
 msgid "Unable to create new audio marker."
-msgstr "Nun se pudo crear un marcador d'audiu nuevu."
+msgstr "Nun se pudo crear un marcador d''audiu nuevu."
 
 msgid "There was an error while trying to display the URL for this marker"
-msgstr "Hubo un erru cuando s'intentaba amosar la URL d'esti marcador"
+msgstr "Hubo un erru cuando s''intentaba amosar la URL d''esti marcador"
 
 msgid "(URL was: "
 msgstr "(La URL yera: "
@@ -10236,20 +10297,20 @@ msgstr ""
 "{3}"
 
 msgid "Access Token Key:"
-msgstr "Llave d'accesu:"
+msgstr "Llave d''accesu:"
 
 msgid "Access Token Secret:"
-msgstr "Llave secreta d'accesu:"
+msgstr "Llave secreta d''accesu:"
 
 msgid "Save Access Token in preferences"
-msgstr "Almacenar llave d'accesu en preferencies"
+msgstr "Almacenar llave d''accesu en preferencies"
 
 msgid ""
 "<html>Select to save the Access Token in the JOSM preferences.<br>Unselect "
 "to use the Access Token in this JOSM session only.</html>"
 msgstr ""
-"<html>Escueya p'almacenar llave d'Accesu nes preferencies de "
-"JOSM.<br>Desmarque pa usar la llave d'Accesu namá nesta sesión de "
+"<html>Escueya p''almacenar llave d''Accesu nes preferencies de "
+"JOSM.<br>Desmarque pa usar la llave d''Accesu namá nesta sesión de "
 "JOSM.</html>"
 
 msgid "Use default settings"
@@ -10265,10 +10326,10 @@ msgid "Request Token URL:"
 msgstr "URL de solicitú de Llave"
 
 msgid "Access Token URL:"
-msgstr "URL de Llave d'Accesu"
+msgstr "URL de Llave d''Accesu"
 
 msgid "Authorize URL:"
-msgstr "URL d'Autorización:"
+msgstr "URL d''Autorización:"
 
 msgid "Click to reset the OAuth settings to default values"
 msgstr ""
@@ -10276,7 +10337,7 @@ msgstr ""
 
 msgid "Click to abort resetting to the OAuth default values"
 msgstr ""
-"Prima p'atayar el restablecimiento de valores predeterminados pa OAuth"
+"Prima p''atayar el restablecimiento de valores predeterminados pa OAuth"
 
 msgid ""
 "<html>JOSM is about to reset the OAuth settings to default values.<br>The "
@@ -10305,9 +10366,9 @@ msgid ""
 "Token.</html>"
 msgstr ""
 "<html>Executar un procedimientu totalmente automáticu pa llograr una llave "
-"d'accesu del sitio web OSM.<br>JOSM apuerta al sitiu OSM al traviés del "
-"usuariu JOSM y br<>autoriza total y automáticamente l'usuariu y descarga una "
-"llave d'accesu.</html>"
+"d''accesu del sitio web OSM.<br>JOSM apuerta al sitiu OSM al traviés del "
+"usuariu JOSM y <br>autoriza total y automáticamente l''usuariu y descarga "
+"una llave d''accesu.</html>"
 
 msgid ""
 "<html>Run a semi-automatic procedure to get an access token from the OSM "
@@ -10316,18 +10377,18 @@ msgid ""
 "external browser<br>to authenticate itself and to accept the request token "
 "submitted by JOSM.</html>"
 msgstr ""
-"<html>Executar un procesu semi automáticu pa llograr una llave d'accesu del "
+"<html>Executar un procesu semi automáticu pa llograr una llave d''accesu del "
 "sitiu OSM.<br>JOSM unvia les solicitúes estándar OAuth pa llograr una llave "
-"de solicitú y una <br>llave d'Accesu. Unvia al usuariu al sitiu OSM nun "
-"navegador estreme br<> para autenticarse y aceptar la solicitú de llave "
+"de solicitú y una <br>llave d''Accesu. Unvia al usuariu al sitiu OSM nun "
+"navegador estreme <br> para autenticarse y aceptar la solicitú de llave "
 "unviada por JOSM.</html>"
 
 msgid ""
 "<html>Enter an Access Token manually if it was generated and retrieved "
 "outside<br>of JOSM.</html>"
 msgstr ""
-"<html>Introducir una llave d'Accesu manualmente si foi xenerada y descargada "
-"fuera br<>de JOSM.</html>"
+"<html>Introducir una llave d''Accesu manualmente si foi xenerada y "
+"descargada fuera <br>de JOSM.</html>"
 
 msgid ""
 "Please enter your OSM user name and password. The password will "
@@ -10335,13 +10396,14 @@ msgid ""
 "will be submitted to the OSM server <strong>only once</strong>. Subsequent "
 "data upload requests don''t use your password any more."
 msgstr ""
-"Por favor, introduza'l so nome d'usuariu y contraseña de OSM. La contraseña "
-"strong <>non</strong> va ser guardada ensin cifrar nes preferencies de JOSM "
-"y va ser unviada al servidor de OSM <strong>namá una vegada</strong>. "
-"Posteriores pidimientos de xubida de datos yá nun van usar la so contraseña."
+"Por favor, introduza''l so nome d''usuariu y contraseña de OSM. La "
+"contraseña <strong>non</strong> va ser guardada ensin cifrar nes "
+"preferencies de JOSM y va ser unviada al servidor de OSM <strong>namá una "
+"vegada</strong>. Posteriores pidimientos de xubida de datos yá nun van usar "
+"la so contraseña."
 
 msgid "Username: "
-msgstr "Nome d'usuariu: "
+msgstr "Nome d''usuariu: "
 
 msgid "Password: "
 msgstr "Contraseña: "
@@ -10357,10 +10419,10 @@ msgid "Granted rights"
 msgstr "Derechos concedíos"
 
 msgid "Advanced OAuth properties"
-msgstr "Propiedaes avanzaes d'OAuth"
+msgstr "Propiedaes avanzaes d''OAuth"
 
 msgid "Accept Access Token"
-msgstr "Aceptar llave d'Accesu"
+msgstr "Aceptar llave d''Accesu"
 
 msgid ""
 "<html>You have successfully retrieved an OAuth Access Token from the OSM "
@@ -10375,24 +10437,24 @@ msgid "Authorize now"
 msgstr "Autorizar agora"
 
 msgid "Click to redirect you to the authorization form on the JOSM web site"
-msgstr "Prima pa redirixi-y al formulariu d'autorización nel sitiu JOSM"
+msgstr "Prima pa redirixi-y al formulariu d''autorización nel sitiu JOSM"
 
 msgid "Back"
 msgstr "Recular"
 
 msgid "Run the automatic authorization steps again"
-msgstr "Volver executar los pasos automáticos d'autorización"
+msgstr "Volver executar los pasos automáticos d''autorización"
 
 msgid "Test Access Token"
-msgstr "Probar llave d'Accesu"
+msgstr "Probar llave d''Accesu"
 
 msgid "Please enter your OSM user name"
-msgstr "Por favor, introduza'l so nome d'usuariu de OSM"
+msgstr "Por favor, introduza''l so nome d''usuariu de OSM"
 
 msgid "The user name cannot be empty. Please enter your OSM user name"
 msgstr ""
-"El nome d'usuariu nun puede tar vacíu. Por favor, introduza'l so nome "
-"d'usuariu de OSM"
+"El nome d''usuariu nun puede tar vacíu. Por favor, introduza''l so nome "
+"d''usuariu de OSM"
 
 msgid "Please enter your OSM password"
 msgstr "Por favor, introduza la so contraseña de OSM"
@@ -10403,20 +10465,20 @@ msgstr ""
 "de OSM"
 
 msgid "Authorize JOSM to access the OSM API"
-msgstr "Autorizar a JOSM p'aportar a la API de OSM"
+msgstr "Autorizar a JOSM p''aportar a la API de OSM"
 
 msgid ""
 "<html>The automatic process for retrieving an OAuth Access Token<br>from the "
 "OSM server failed.<br><br>Please try again or choose another kind of "
 "authorization process,<br>i.e. semi-automatic or manual authorization.</html>"
 msgstr ""
-"<html>El procesu automáticu de llograr una llave d'Accesu OAuth<br> del "
+"<html>El procesu automáticu de llograr una llave d''Accesu OAuth<br> del "
 "servidor OSM falló.<br><br>Por favor, inténtelo de nuevu o escueya otru "
-"esquema d'autorización, br<>por casu, autorización semi automática o "
+"esquema d''autorización, <br>por casu, autorización semi automática o "
 "manual.</html>"
 
 msgid "OAuth authorization failed"
-msgstr "Falló l'autorización OAuth"
+msgstr "Falló l''autorización OAuth"
 
 msgid ""
 "<html>The automatic process for retrieving an OAuth Access Token<br>from the "
@@ -10442,17 +10504,17 @@ msgid ""
 "Please enter an OAuth Access Token which is authorized to access the OSM "
 "server ''{0}''."
 msgstr ""
-"Por favor ingrese una llave d'Accesu Oauth que tea autorizada p'aportar al "
+"Por favor ingrese una llave d''Accesu Oauth que tea autorizada p''aportar al "
 "servidor OSM ''{0}''."
 
 msgid "Access Token"
-msgstr "Llave d'Accesu"
+msgstr "Llave d''Accesu"
 
 msgid "Advanced OAuth parameters"
-msgstr "Parámetros Avanzaos d'OAuth"
+msgstr "Parámetros Avanzaos d''OAuth"
 
 msgid "Enter the OAuth Access Token"
-msgstr "Introduza la Llave d'Accesu OAuth"
+msgstr "Introduza la Llave d''Accesu OAuth"
 
 msgid "Enter advanced OAuth properties"
 msgstr "Ingresar propiedaes avanzaes de OAuth"
@@ -10461,29 +10523,30 @@ msgid ""
 "<html><body>Please enter an OAuth Access Token which is authorized to access "
 "the OSM server ''{0}''.</body></html>"
 msgstr ""
-"<html><body>Por favor introduza una llave d'Accesu OAuth que tea autorizada "
-"p'aportar al servidor OSM \"{0}\".</body></html>"
+"<html><body>Por favor introduza una llave d''Accesu OAuth que tea autorizada "
+"p''aportar al servidor OSM \"{0}\".</body></html>"
 
 msgid "Please enter an Access Token Key"
-msgstr "Por favor, introduza una Llave d'Accesu"
+msgstr "Por favor, introduza una Llave d''Accesu"
 
 msgid ""
 "The Access Token Key must not be empty. Please enter an Access Token Key"
 msgstr ""
-"La llave d'Accesu nun puede tar vacida. Por favor ingrese una llave d'Accesu"
+"La llave d''Accesu nun puede tar vacida. Por favor ingrese una llave "
+"d''Accesu"
 
 msgid "Please enter an Access Token Secret"
-msgstr "Por favor ingrese llave d'Accesu secreta"
+msgstr "Por favor ingrese llave d''Accesu secreta"
 
 msgid ""
 "The Access Token Secret must not be empty. Please enter an Access Token "
 "Secret"
 msgstr ""
-"La llave d'Accesu secreta nun puede tar en blancu. Por favor, introduza una "
-"llave d'Accesu secreta"
+"La llave d''Accesu secreta nun puede tar en blancu. Por favor, introduza una "
+"llave d''Accesu secreta"
 
 msgid "Click to test the Access Token"
-msgstr "Prima pa probar la llave d'Accesu"
+msgstr "Prima pa probar la llave d''Accesu"
 
 msgid ""
 "With OAuth you grant JOSM the right to upload map data and GPS tracks on "
@@ -10493,7 +10556,7 @@ msgstr ""
 "usté (<a href=\"{0}\">más información...</a )..>"
 
 msgid "Please select an authorization procedure: "
-msgstr "Por favor, escueya un procedimientu d'autorización: "
+msgstr "Por favor, escueya un procedimientu d''autorización: "
 
 msgid "Get an Access Token for ''{0}''"
 msgstr "Llograr una llave d´Accesu pa ''{0}''"
@@ -10502,7 +10565,7 @@ msgid "Close the dialog and cancel authorization"
 msgstr "Cerrar el diálogu y atayar autorización"
 
 msgid "Close the dialog and accept the Access Token"
-msgstr "Cerrar el diálogu y aceptar la llave d'Autorización"
+msgstr "Cerrar el diálogu y aceptar la llave d''Autorización"
 
 msgid "Failed to cancel running OAuth operation"
 msgstr "Erru al atayar la operación de OAuth executándose"
@@ -10553,7 +10616,7 @@ msgstr "Dexar xubir traces GPS"
 
 msgid "Select to grant JOSM the right to upload GPS traces on your behalf"
 msgstr ""
-"Escueya p'aprovir a JOSM del permisu pa xubir traces de GPS al so nome"
+"Escueya p''aprovir a JOSM del permisu pa xubir traces de GPS al so nome"
 
 msgid "Allow to download your private GPS traces"
 msgstr "Dexar descargar los sos traces GPS privaes"
@@ -10562,7 +10625,7 @@ msgid ""
 "Select to grant JOSM the right to download your private GPS traces into JOSM "
 "layers"
 msgstr ""
-"Escoyer p'aprovir a JOSM el derechu pa descargar los sos traces GPS privaes "
+"Escoyer p''aprovir a JOSM el derechu pa descargar los sos traces GPS privaes "
 "en capes JOSM"
 
 msgid "Allow to read your preferences"
@@ -10588,11 +10651,11 @@ msgid "Select to grant JOSM the right to modify notes on your behalf"
 msgstr "Escueya pa garantizar a JOSM que va modificar notes del so parte."
 
 msgid "Retrieving OAuth Access Token..."
-msgstr "Llogrando llave d'Accesu OAuth..."
+msgstr "Llogrando llave d''Accesu OAuth..."
 
 msgid "<html>Retrieving an OAuth Access Token from ''{0}'' failed.</html>"
 msgstr ""
-"<html>Falló la descarga d'una llave d'Accesu OAuth de ''{0}''.</html>"
+"<html>Falló la descarga d''una llave d''Accesu OAuth de ''{0}''.</html>"
 
 msgid "Request Failed"
 msgstr "Solicitú fallida"
@@ -10613,17 +10676,17 @@ msgid ""
 "<html>Please click on <strong>{0}</strong> to retrieve an OAuth Request "
 "Token from ''{1}''.</html>"
 msgstr ""
-"<html>Por favor escueya strong <>{0}</strong> pa llograr una llave de "
+"<html>Por favor escueya <strong>{0}</strong> pa llograr una llave de "
 "solicitú OAuth de ''{1}''.</html>"
 
 msgid "<html>Step 1/3: Retrieve an OAuth Request Token</html>"
 msgstr "<html>Paso 1/3: Descarga de Llave de Solicitú OAuth</html>"
 
 msgid "<html>Step 2/3: Authorize and retrieve an Access Token</html>"
-msgstr "<html> Paso 2/3: Autorizar y descargar llave d'Accesu /html.<>"
+msgstr "<html>Paso 2/3: Autorizar y descargar llave d''Accesu</html>"
 
 msgid "Request Access Token"
-msgstr "Solicitar llave d'Accesu"
+msgstr "Solicitar llave d''Accesu"
 
 msgid ""
 "<html>JOSM successfully retrieved a Request Token. JOSM is now launching an "
@@ -10635,56 +10698,56 @@ msgid ""
 "browser.</html>"
 msgstr ""
 "<html> JOSM descargó correchamente una solicitú de credencial de "
-"autentificación. JOSM agora ta llanzando una páxina d'autorización nun "
-"navegador esternu. Por favor, introduza'l so nome d'usuariu y contraseña de "
-"OSM y siga les instrucciones p'autorizar la solicitú de credencial de "
+"autentificación. JOSM agora ta llanzando una páxina d''autorización nun "
+"navegador esternu. Por favor, introduza''l so nome d''usuariu y contraseña "
+"de OSM y siga les instrucciones p''autorizar la solicitú de credencial de "
 "autentificación. Dempués vuelva a esti diálogu y faiga clic en "
 "<strong>{0}</strong><br><br>Si falla al abrir el navegador esternu puede "
-"copiar la siguiente dirección d'autorización y pegala nel campu de dirección "
-"del navegador.</html>"
+"copiar la siguiente dirección d''autorización y pegala nel campu de "
+"dirección del navegador.</html>"
 
 msgid "Go back to step 1/3"
 msgstr "Tornar al pasu 1/3"
 
 msgid "<html>Step 3/3: Successfully retrieved an Access Token</html>"
-msgstr "<html>Paso 3/3: Recuperáu con ésitu un token d'accesu /html.<>"
+msgstr "<html>Paso 3/3: Recuperáu con ésitu un token d''accesu</html>"
 
 msgid ""
 "<html>JOSM has successfully retrieved an Access Token. You can now accept "
 "this token. JOSM will use it in the future for authentication and "
 "authorization to the OSM server.<br><br>The access token is: </html>"
 msgstr ""
-"<html>JOSM descargó correchamente la credencial de autentificación d'accesu. "
-"Agora puede aceptar esta credencial. JOSM va usar nel futuru pa "
+"<html>JOSM descargó correchamente la credencial de autentificación "
+"d''accesu. Agora puede aceptar esta credencial. JOSM va usar nel futuru pa "
 "autentificarse y autorizase nel servidor OSM.<br><br>La credencial de "
-"autentificación d'accesu ye: </html>"
+"autentificación d''accesu ye: </html>"
 
 msgid "Click to retrieve a Request Token"
 msgstr "Prima pa llograr una llave de Solicitú"
 
 msgid "Retrieve Access Token"
-msgstr "Llograr Llave de Solicitú d'Accesu"
+msgstr "Llograr Llave de Solicitú d''Accesu"
 
 msgid "Click to retrieve an Access Token"
-msgstr "Prima pa llograr llave d'Accesu"
+msgstr "Prima pa llograr llave d''Accesu"
 
 msgid "Testing OAuth Access Token"
-msgstr "Probando Llave d'Accesu OAuth"
+msgstr "Probando Llave d''Accesu OAuth"
 
 msgid "Retrieving user details with Access Token Key ''{0}'' was rejected."
 msgstr ""
-"Foi refugada la descarga de detalles d'usuariu cola Llave d'Accesu ''{0}''"
+"Foi refugada la descarga de detalles d''usuariu cola Llave d''Accesu ''{0}''"
 
 msgid "Retrieving user details with Access Token Key ''{0}'' was forbidden."
 msgstr ""
-"Nun ta dexada'l llogru de detalles usuarios cola llave d'Accesu ''{0}''."
+"Nun ta dexada''l llogru de detalles usuarios cola llave d''Accesu ''{0}''."
 
 msgid ""
 "<html>Successfully used the Access Token ''{0}'' to<br>access the OSM server "
 "at ''{1}''.<br>You are accessing the OSM server as user ''{2}'' with id "
 "''{3}''.</html>"
 msgstr ""
-"<html>Usóse satisfactoria mente la llave ''{0}'' pa br<>aportar al servidor "
+"<html>Usóse satisfactoria mente la llave ''{0}'' pa <br>aportar al servidor "
 "OSM en ''{1}''.<br>Ta aportando al servidor OSM col usuariu ''{2}'' con díi "
 "''{3}''.</html>"
 
@@ -10713,8 +10776,8 @@ msgid ""
 "other protected resources.</html>"
 msgstr ""
 "<html>El servidor OSM ''{0}'' conoz la llave d´Accesu ''{1}''.<br>Falló la "
-"prueba de llograr detalles d´usuarios pa esta llave,anque, br <> dependiendo "
-"de qué permisos tenga esta llave, va poder usala pa br<>xubir datos, traces "
+"prueba de llograr detalles d´usuarios pa esta llave,anque, <br> dependiendo "
+"de qué permisos tenga esta llave, va poder usala pa <br>xubir datos, traces "
 "y/o aportar a oros recursos protexíos.</html>"
 
 msgid "Token allows restricted access"
@@ -10728,8 +10791,8 @@ msgid ""
 msgstr ""
 "<html>Fallu al llograr información avera del usuariu actual del servidor OSM "
 "''{0}''.<br>Esto probablemente nun ye un problema causáu al probar la llave "
-"d'Accesu, br <>puede ser un problema de configuración del servidor. Revise "
-"curioso la br<>URL del servidor y la so conexón a Internet.</html>"
+"d''Accesu, <br>puede ser un problema de configuración del servidor. Revise "
+"curioso la <br>URL del servidor y la so conexón a Internet.</html>"
 
 msgid ""
 "<html>Failed to sign the request for the OSM server ''{0}'' with the token "
@@ -10743,12 +10806,12 @@ msgid ""
 "error.<br>JOSM could not decide whether the token is valid. Please try again "
 "later.</html>"
 msgstr ""
-"<html>Falló la prueba por cuenta de que'l servidor respondió con un erru "
+"<html>Falló la prueba por cuenta de que''l servidor respondió con un erru "
 "internu.<br>JOSM nun pudo identificar si la llave ye válida. Por favor "
 "intente más tarde.</html>"
 
 msgid "Retrieving user info..."
-msgstr "Llogrando información d'usuariu..."
+msgstr "Llogrando información d''usuariu..."
 
 msgid "Expert mode"
 msgstr "Manera Avanzada"
@@ -10802,13 +10865,13 @@ msgid "active"
 msgstr "activu"
 
 msgid "Map paint style file (*.xml, *.mapcss, *.zip)"
-msgstr "Arquivu d'estilu de representación de mapa (*.xml, *.mapcss, *.zip)"
+msgstr "Arquivu d''estilu de representación de mapa (*.xml, *.mapcss, *.zip)"
 
 msgid "Preset definition file (*.xml, *.zip)"
 msgstr "Arquivu de definiciones prefixaes (*.xml, *.zip)"
 
 msgid "Tag checker rule (*.validator.mapcss, *.zip)"
-msgstr "Riegla del validador d'etiquetes (*.validator.mapcss, *.zip)"
+msgstr "Riegla del validador d''etiquetes (*.validator.mapcss, *.zip)"
 
 msgid "Edit source entry:"
 msgstr "Editar entrada fonte:"
@@ -10836,10 +10899,10 @@ msgid "Add a new icon path"
 msgstr "Añedir una nueva ruta del iconu"
 
 msgid "Remove the selected icon paths"
-msgstr "Esaniciar les rutes d'iconos selecionadas"
+msgstr "Esaniciar les rutes d''iconos selecionadas"
 
 msgid "Edit the selected icon path"
-msgstr "Editar la ruta d'iconu escoyía"
+msgstr "Editar la ruta d''iconu escoyía"
 
 msgid "Tooltip"
 msgstr "Conseyu emerxente"
@@ -10878,7 +10941,7 @@ msgid "Available"
 msgstr "Disponible"
 
 msgid "Action parameters"
-msgstr "Parámetros d'acción"
+msgstr "Parámetros d''acción"
 
 msgid "Parameter name"
 msgstr "Nome del parámetru"
@@ -10935,7 +10998,8 @@ msgstr ""
 
 msgid "What to do with preference lists when this file is to be imported?"
 msgstr ""
-"¿Qué deseya faer coles llistes de preferencies cuando l'arquivu sía importáu?"
+"¿Qué deseya faer coles llistes de preferencies cuando l''arquivu sía "
+"importáu?"
 
 msgid "Append preferences from file to existing values"
 msgstr "Amestar les preferencies del arquivu a los valores esistentes"
@@ -10954,8 +11018,8 @@ msgid ""
 "by pressing \"Cancel\" in preferences dialog <br/>To activate some changes "
 "JOSM restart may be needed.</html>"
 msgstr ""
-"<html>Equí atópase'l resume d'importación del arquivu. <br/>Puede descargar "
-"los cambeos a les preferencies primiendo ''Atayar'' nel diálogu de "
+"<html>Equí atópase''l resume d''importación del arquivu. <br/>Puede "
+"descargar los cambeos a les preferencies primiendo ''Atayar'' nel diálogu de "
 "Preferencies<br/>Dellos cambeos riquen una reinicialización de JOSM pa "
 "surtir efectu.</html>"
 
@@ -10991,7 +11055,8 @@ msgstr "Guardar perfil {0}"
 
 msgid "All the preferences of this group are default, nothing to save"
 msgstr ""
-"Toles preferencies d'esti grupu tán predeterminadas, nun hai nada por guardar"
+"Toles preferencies d''esti grupu tán predeterminadas, nun hai nada por "
+"guardar"
 
 msgid "Choose profile file"
 msgstr "Escoyer arquivu de perfil"
@@ -11021,7 +11086,7 @@ msgid "Please select the row to edit."
 msgstr "Escueye la filera pa editar"
 
 msgid "Select Setting Type:"
-msgstr "Escueya'l tipu de propiedá:"
+msgstr "Escueya''l tipu de propiedá:"
 
 msgid "Simple"
 msgstr "Senciellu"
@@ -11048,7 +11113,7 @@ msgid "Advanced Background: NonDefault"
 msgstr "Fondu Avanzáu: NonDefault"
 
 msgid "Current value is default."
-msgstr "El valor actual ye'l predeterminado."
+msgstr "El valor actual ye''l predeterminado."
 
 msgid "Default value is ''{0}''."
 msgstr "El valor por omisión ye ''{0}''."
@@ -11064,19 +11129,19 @@ msgid "Value: "
 msgstr "Valor: "
 
 msgid "Audio Settings"
-msgstr "Configuración d'audiu"
+msgstr "Configuración d''audiu"
 
 msgid "Settings for the audio player and audio markers."
-msgstr "Configuración del reproductor d'audiu y de los marcadores."
+msgstr "Configuración del reproductor d''audiu y de los marcadores."
 
 msgid "Display the Audio menu."
 msgstr "Amosar el menú audiu."
 
 msgid "Label audio (and image and web) markers."
-msgstr "Etiquetar marcadores d'audiu (imaxes y web)."
+msgstr "Etiquetar marcadores d''audiu (imaxes y web)."
 
 msgid "Display live audio trace."
-msgstr "Amosar traza d'audiu en vivu."
+msgstr "Amosar traza d''audiu en vivu."
 
 msgid "Explicit waypoints with valid timestamps."
 msgstr "Nodos de vía esplícitos con marques de tiempu válides."
@@ -11089,7 +11154,7 @@ msgid "Named trackpoints."
 msgstr "Puntos de traza nomaos."
 
 msgid "Modified times (time stamps) of audio files."
-msgstr "Rexistru temporal de los arquivos d'audiu modificáu."
+msgstr "Rexistru temporal de los arquivos d''audiu modificáu."
 
 msgid "Start of track (will always do this if no other markers available)."
 msgstr ""
@@ -11104,15 +11169,15 @@ msgid ""
 "Display a moving icon representing the point on the synchronized track where "
 "the audio currently playing was recorded."
 msgstr ""
-"Amosar un iconu en movimientu representando'l puntu en trazar sincronizada "
-"onde l'audiu que s'escucha foi grabáu."
+"Amosar un iconu en movimientu representando''l puntu en trazar sincronizada "
+"onde l''audiu que s''escucha foi grabáu."
 
 msgid ""
 "Put text labels against audio (and image and web) markers as well as their "
 "button icons."
 msgstr ""
-"Poner etiquetes contra marcadores d'audiu (imaxe y web) según los sos iconos "
-"de botón."
+"Poner etiquetes contra marcadores d''audiu (imaxe y web) según los sos "
+"iconos de botón."
 
 msgid "When importing audio, make markers from..."
 msgstr "Al importar audiu, crear marcadores dende..."
@@ -11124,21 +11189,21 @@ msgid ""
 "Automatically create audio markers from trackpoints (rather than explicit "
 "waypoints) with names or descriptions."
 msgstr ""
-"Crear marcadores d'audiu automáticamente dende los nodos de traza (en cuenta "
-"de dende los nodos de vía esplícitos) con nomes o descripciones."
+"Crear marcadores d''audiu automáticamente dende los nodos de traza (en "
+"cuenta de dende los nodos de vía esplícitos) con nomes o descripciones."
 
 msgid ""
 "Create audio markers at the position on the track corresponding to the "
 "modified time of each audio WAV file imported."
 msgstr ""
-"Crear marcadores d'audiu na posición de la pista correspondiente a la fecha "
-"modificada de cada arquivu importáu d'audiu WAV."
+"Crear marcadores d''audiu na posición de la pista correspondiente a la fecha "
+"modificada de cada arquivu importáu d''audiu WAV."
 
 msgid ""
 "The number of seconds to jump forward or back when the relevant button is "
 "pressed"
 msgstr ""
-"El númberu de segundos que se salta palantre o escontra tras cuando'l botón "
+"El númberu de segundos que se salta palantre o escontra tras cuando''l botón "
 "pertinente ye pulsiáu"
 
 msgid "Forward/back time (seconds)"
@@ -11155,7 +11220,7 @@ msgid ""
 "audio track position requested"
 msgstr ""
 "Reproducir empezando este numbero de segundos despues (o antes si ye "
-"negativu) de la posición solicitada na pista d'audiu"
+"negativu) de la posición solicitada na pista d''audiu"
 
 msgid "Lead-in time (seconds)"
 msgstr "Tiempu introductoriu (segundos)"
@@ -11207,7 +11272,7 @@ msgid "Draw oneway arrows."
 msgstr "Dibuxa fleches de sentíu únicu."
 
 msgid "Draw segment order numbers"
-msgstr "Dibuxar los númberos d'orde de los segmentos"
+msgstr "Dibuxar los númberos d''orde de los segmentos"
 
 msgid "Draw boundaries of downloaded data"
 msgstr "Dibuxar les llendes de los datos descargaos"
@@ -11216,7 +11281,7 @@ msgid "Draw virtual nodes in select mode"
 msgstr "Dibuxar nodos virtuales nel mou selección"
 
 msgid "Draw inactive layers in other color"
-msgstr "Dibuxar les capes inactives n'otru color"
+msgstr "Dibuxar les capes inactives n''otru color"
 
 msgid "Display discardable keys"
 msgstr "Claves de visualización descartables"
@@ -11225,7 +11290,7 @@ msgid "Highlight target ways and nodes"
 msgstr "Resaltar víes y nodos oxetivu"
 
 msgid "Draw rubber-band helper line"
-msgstr "Dibuxar llínea d'ayuda"
+msgstr "Dibuxar llínea d''ayuda"
 
 msgid "Smooth map graphics (antialiasing)"
 msgstr "Anidiar los gráficos del mapa (antialias)"
@@ -11244,11 +11309,11 @@ msgstr "Dibuxar pistes de dirección pa los segmentos de vía."
 
 msgid "Draw arrows in the direction of oneways and other directed features."
 msgstr ""
-"Dibuxa fleches na dirección de les víes de sentíu únicu y n'otros elementos "
+"Dibuxa fleches na dirección de les víes de sentíu únicu y n''otros elementos "
 "con dirección."
 
 msgid "Draw the order numbers of all segments within their way."
-msgstr "Dibuxar los númberos d'orde de tolos segmentos d'una vía."
+msgstr "Dibuxar los númberos d''orde de tolos segmentos d''una vía."
 
 msgid "Draw the boundaries of data loaded from the server."
 msgstr "Dibuxar les llendes de los datos descargaos del servidor."
@@ -11258,7 +11323,7 @@ msgstr ""
 "Dibuxar nodos virtuales na manera selección pa modificar les vias fácilmente."
 
 msgid "Draw the inactive data layers in a different color."
-msgstr "Dibuxar les capes inactives n'un color distintu."
+msgstr "Dibuxar les capes inactives n''un color distintu."
 
 msgid ""
 "Apply antialiasing to the map view resulting in a smoother appearance."
@@ -11270,7 +11335,7 @@ msgid ""
 "Apply antialiasing to the map view in wireframe mode resulting in a smoother "
 "appearance."
 msgstr ""
-"Aplicar l'anidiáu a la vista del mapa na manera diseño provoca una "
+"Aplicar l''anidiáu a la vista del mapa na manera diseño provoca una "
 "apariencia con cantos menos definíos"
 
 msgid "Hightlight target nodes and ways while drawing or selecting"
@@ -11280,8 +11345,8 @@ msgid ""
 "This option suppresses the filling of areas, overriding anything specified "
 "in the selected style."
 msgstr ""
-"Esta opción suprime'l rellenu d'árees, anulando cualquier cosa especificada "
-"nel estilu escoyíu."
+"Esta opción suprime''l rellenu d''árees, anulando cualquier cosa "
+"especificada nel estilu escoyíu."
 
 msgid ""
 "Display keys which have been deemed uninteresting to the point that they can "
@@ -11291,7 +11356,7 @@ msgstr ""
 "pue ser esaniciaes en manera silenciosa."
 
 msgid "Options that affect drawing performance"
-msgstr "Opciones qu'afecten al rendimientu del dibuxáu"
+msgstr "Opciones qu''afecten al rendimientu del dibuxáu"
 
 msgid "Segment drawing options"
 msgstr "Opciones de dibuxu del segmentu"
@@ -11374,7 +11439,7 @@ msgid "Foot"
 msgstr "Pie"
 
 msgid "Create markers when reading GPX"
-msgstr "Crear marcadores al lleer l'arquivu GPX"
+msgstr "Crear marcadores al lleer l''arquivu GPX"
 
 msgid "Fast drawing (looks uglier)"
 msgstr "Visualización rápida (pocu vistosa)"
@@ -11433,7 +11498,7 @@ msgid ""
 "Do not draw arrows if they are not at least this distance away from the last "
 "one."
 msgstr ""
-"Nun dibuxar fleches si nun tán a lo menos a esta distancia de l'anterior."
+"Nun dibuxar fleches si nun tán a lo menos a esta distancia de l''anterior."
 
 msgid "Minimum distance (pixels)"
 msgstr "Distancia mínima en píxeles"
@@ -11448,12 +11513,12 @@ msgid "Width of drawn GPX line (0 for default)"
 msgstr "Anchu de la llínea GPX dibuxada (0 por omisión)"
 
 msgid "Drawing width of GPX lines"
-msgstr "Dibuxar l'anchu de les llínees GPX"
+msgstr "Dibuxar l''anchu de les llínees GPX"
 
 msgid ""
 "Apply antialiasing to the GPX lines resulting in a smoother appearance."
 msgstr ""
-"Aplicar l'anidiáu a les llínees de GPX provoca una apariencia con cantos "
+"Aplicar l''anidiáu a les llínees de GPX provoca una apariencia con cantos "
 "menos definíos."
 
 msgid ""
@@ -11475,7 +11540,7 @@ msgid ""
 msgstr ""
 "Colorea puntos y segmentos de la ruta a partir de la incertidume horizontal "
 "de la posición (HDOP). El so dispositivu de captura rique que dexe rexistro "
-"d'esta información."
+"d''esta información."
 
 msgid "Colors points and track segments by its timestamp."
 msgstr "Puntos de color y segmentos de rutes pola so fecha y hora."
@@ -11525,11 +11590,11 @@ msgstr "Amosar les feches ISO"
 
 msgid "Use native file choosers (nicer, but do not support file filters)"
 msgstr ""
-"Usu de selectores d'arquivos nativos (más prestosu, pero nun son compatibles "
-"colos filtros d'arquivu)"
+"Usu de selectores d''arquivos nativos (más prestosu, pero nun son "
+"compatibles colos filtros d''arquivu)"
 
 msgid "Show localized name in selection lists, if available"
-msgstr "Amosar nome alcontráu en llistes de selección, en casu de qu'haya"
+msgstr "Amosar nome alcontráu en llistes de selección, en casu de qu''haya"
 
 msgid "Do not require to switch modes (potlatch style workflow)"
 msgstr "Nun riquir camudar de moos (fluxu de trabayu estilu Potlatch)"
@@ -11537,7 +11602,7 @@ msgstr "Nun riquir camudar de moos (fluxu de trabayu estilu Potlatch)"
 msgid ""
 "Display buttons in right side menus only when mouse is inside the element"
 msgstr ""
-"Amosar botones nos menus de la derecha namá cuando'l mure ta dientro del "
+"Amosar botones nos menus de la derecha namá cuando''l mure ta dientro del "
 "elementu"
 
 msgid "ISO 8601"
@@ -11554,9 +11619,9 @@ msgid ""
 "Use file choosers that behave more like native ones. They look nicer but do "
 "not support some features like file filters"
 msgstr ""
-"Utilizar selectores d'arquivos que se porten más como los nativos. Son más "
+"Utilizar selectores d''arquivos que se porten más como los nativos. Son más "
 "prestosos a la vista, pero nun son compatibles con delles carauterístiques "
-"como filtros d'arquivos"
+"como filtros d''arquivos"
 
 msgid "Look and Feel"
 msgstr "Visualización y comportamientu"
@@ -11585,16 +11650,16 @@ msgid "{0} is replaced by X-coordinate of the tile"
 msgstr "{0} ye reemplazáu pola coordenada X del mosaicu"
 
 msgid "{0} is replaced by Y-coordinate of the tile"
-msgstr "{0} ye reemplazáu pola coordenada Y de'l mosaicu"
+msgstr "{0} ye reemplazáu pola coordenada Y de''l mosaicu"
 
 msgid "{0} is replaced by {1} (Yahoo style Y coordinate)"
-msgstr "{0} ye reemplazáu por {1} (coordenada Y de l'estilu Yahoo)"
+msgstr "{0} ye reemplazáu por {1} (coordenada Y de l''estilu Yahoo)"
 
 msgid ""
 "{0} is replaced by {1} (OSGeo Tile Map Service Specification style Y "
 "coordinate)"
 msgstr ""
-"{0} ye reemplazáu por {1} (coordenada Y de l'estilu OSGeo Tile Map Service)"
+"{0} ye reemplazáu por {1} (coordenada Y de l''estilu OSGeo Tile Map Service)"
 
 msgid ""
 "{0} is replaced by a random selection from the given comma separated list, "
@@ -11613,7 +11678,7 @@ msgid "4. Enter name for this layer"
 msgstr "4. Introducir un nome pa esta capa"
 
 msgid "Store WMS endpoint only, select layers at usage"
-msgstr "Guardar namá l'estremu WMS, escoyer la capa n'usu"
+msgstr "Guardar namá l''estremu WMS, escoyer la capa n''usu"
 
 msgid "Show bounds"
 msgstr "Amosar llendes"
@@ -11628,22 +11693,22 @@ msgid "2. Select layers"
 msgstr "2. Escoyer capes"
 
 msgid "3. Select image format"
-msgstr "3. Escueya'l formatu"
+msgstr "3. Escueya''l formatu"
 
 msgid "4. Verify generated WMS URL"
 msgstr "4. Verifique la URL de WMS xenerada"
 
 msgid "5. Enter name for this layer"
-msgstr "5. Ingrese'l nome pa esta capa"
+msgstr "5. Ingrese''l nome pa esta capa"
 
 msgid "Show Bounds"
 msgstr "Amosar llindar"
 
 msgid "No bounding box was found for this layer."
-msgstr "Nun s'atoparon les llendes pa esta capa."
+msgstr "Nun s''atoparon les llendes pa esta capa."
 
 msgid "imagery fade"
-msgstr "opacidá d'imaxes"
+msgstr "opacidá d''imaxes"
 
 msgid "Fade Color: "
 msgstr "Color de tresparencia: "
@@ -11661,10 +11726,10 @@ msgid "Sharpen (requires layer re-add): "
 msgstr "Enfoque (rique recarga la capa): "
 
 msgid "Imagery Preferences"
-msgstr "Preferencies d'imaxes"
+msgstr "Preferencies d''imaxes"
 
 msgid "Modify list of imagery layers displayed in the Imagery menu"
-msgstr "Modificar la llista de capes d'imaxes amosaes nel menú Imaxes"
+msgstr "Modificar la llista de capes d''imaxes amosaes nel menú Imaxes"
 
 msgid "Common Settings"
 msgstr "Configuraciones comunes"
@@ -11676,13 +11741,13 @@ msgid "TMS Settings"
 msgstr "Configuraciones de TMS"
 
 msgid "Imagery providers"
-msgstr "Provisores d'imaxes"
+msgstr "Provisores d''imaxes"
 
 msgid "Offset bookmarks"
 msgstr "Marcadores de desplazamientos"
 
 msgid "Imagery Background: Default"
-msgstr "Fondu de les capes d'imaxes: por defeutu"
+msgstr "Fondu de les capes d''imaxes: por defeutu"
 
 msgid "Available default entries:"
 msgstr "Entraes disponibles por defeutu:"
@@ -11730,10 +11795,10 @@ msgid "Layer"
 msgstr "Capa"
 
 msgid "Easting"
-msgstr "Escontra l'Este"
+msgstr "Escontra l''Este"
 
 msgid "Northing"
-msgstr "Escontra'l Norte"
+msgstr "Escontra''l Norte"
 
 msgid "Auto zoom by default: "
 msgstr "Zoom automáticu predetermináu: "
@@ -11770,10 +11835,10 @@ msgid "Overlap tiles"
 msgstr "Superposición de teseles"
 
 msgid "% of east:"
-msgstr "% escontra l'este:"
+msgstr "% escontra l''este:"
 
 msgid "% of north:"
-msgstr "% escontra'l norte:"
+msgstr "% escontra''l norte:"
 
 msgid "Auto save enabled"
 msgstr "Autoguardáu activáu"
@@ -11840,14 +11905,14 @@ msgid "New style entry:"
 msgstr "Nuevu estilu:"
 
 msgid "Remove the selected styles from the list of active styles"
-msgstr "Esaniciar los estilos escoyíos de la llista d'estilos activos"
+msgstr "Esaniciar los estilos escoyíos de la llista d''estilos activos"
 
 msgid "Edit the filename or URL for the selected active style"
-msgstr "Editar un nome d'arquivu o una URL d'un estilu activu"
+msgstr "Editar un nome d''arquivu o una URL d''un estilu activu"
 
 msgid "Add the selected available styles to the list of active styles"
 msgstr ""
-"Añedir los estilos escoyíos disponibles a la llista d'estilos activos"
+"Añedir los estilos escoyíos disponibles a la llista d''estilos activos"
 
 msgid "Reloads the list of available styles from ''{0}''"
 msgstr "Recarga la llista d´estilos disponibles dende ''{0}''"
@@ -11860,12 +11925,12 @@ msgid ""
 "from<br>''{0}''.<br><br>Details (untranslated):<br>{1}</html>"
 msgstr ""
 "<html>Falló la carga de la llista de fontes d´estilos dende "
-"br<>''{0}''.<br><br>Detalles (ensin traducir):<br>{1}</html>"
+"<br>''{0}''.<br><br>Detalles (ensin traducir):<br>{1}</html>"
 
 msgid "Warning: illegal format of entry in style list ''{0}''. Got ''{1}''"
 msgstr ""
-"Alvertencia: formatu illegal d'entrada na llista d'estilu ''{0}''. Llogróse "
-"''{1}''"
+"Alvertencia: formatu illegal d''entrada na llista d''estilu ''{0}''. "
+"Llogróse ''{1}''"
 
 msgid "JOSM default (XML; old version)"
 msgstr "JOSM por defectu (XML; versión antigua)"
@@ -11876,7 +11941,7 @@ msgstr "JOSM por defectu (MapCSS)"
 msgid ""
 "Internal style to be used as base for runtime switchable overlay styles"
 msgstr ""
-"Estilu internu a usase pa estilos intercambiables en tiempu d'execución"
+"Estilu internu a usase pa estilos intercambiables en tiempu d''execución"
 
 msgid "Potlatch 2"
 msgstr "Potlatch 2"
@@ -11888,7 +11953,7 @@ msgid "Map Settings"
 msgstr "Axustes del mapa"
 
 msgid "Settings for the map projection and data interpretation."
-msgstr "Axustes pa la proyección del mapa y l'interpretación de datos."
+msgstr "Axustes pa la proyección del mapa y l''interpretación de datos."
 
 msgid "Could not read tagging preset source: {0}"
 msgstr "Non pudo lleese la fonte de les preferencies d´etiquetes: {0}"
@@ -11949,7 +12014,7 @@ msgid "Active presets:"
 msgstr "Predefinidos activos:"
 
 msgid "Add a new preset by entering filename or URL"
-msgstr "Añedir un nuevu predefinido por aciu nome d'arquivu o URL"
+msgstr "Añedir un nuevu predefinido por aciu nome d''arquivu o URL"
 
 msgid "New preset entry:"
 msgstr "Nuevu predefiníu:"
@@ -11975,7 +12040,7 @@ msgid ""
 "from<br>''{0}''.<br><br>Details (untranslated):<br>{1}</html>"
 msgstr ""
 "<html>Fallu al cargar la llistes de fontes predefinidas dende "
-"br<>''{0}''.<br><br>Detalles (ensin traducir):<br>{1}</html>"
+"<br>''{0}''.<br><br>Detalles (ensin traducir):<br>{1}</html>"
 
 msgid "Warning: illegal format of entry in preset list ''{0}''. Got ''{1}''"
 msgstr ""
@@ -11986,7 +12051,7 @@ msgid "Internal Preset"
 msgstr "Axuste predetermináu internu"
 
 msgid "The default preset for JOSM"
-msgstr "L'axuste predetermináu de JOSM"
+msgstr "L''axuste predetermináu de JOSM"
 
 msgid "Plugin bundled with JOSM"
 msgstr "Complementu incluyíu en JOSM"
@@ -11995,7 +12060,7 @@ msgid ""
 "Please click on <strong>Download list</strong> to download and display a "
 "list of available plugins."
 msgstr ""
-"Por favor, prima en <strong>Descargar llista /strong<> pa descargar y amosar "
+"Por favor, prima en <strong>Descargar llista</strong> pa descargar y amosar "
 "una llista de complementos disponibles."
 
 msgid "Plugin {0} is still required by this plugin:"
@@ -12017,20 +12082,20 @@ msgid ""
 msgid_plural ""
 "The following {0} plugins have been downloaded <strong>successfully</strong>:"
 msgstr[0] ""
-"Descargóse strong <>correchamente /strong<> el siguiente complementu:"
+"Descargóse <strong>correchamente</strong> el siguiente complementu:"
 msgstr[1] ""
-"Descargar <strong>correchamente /strong<> los siguientes {0} complementos:"
+"Descargar <strong>correchamente</strong> los siguientes {0} complementos:"
 
 msgid "Downloading the following plugin has <strong>failed</strong>:"
 msgid_plural ""
 "Downloading the following {0} plugins has <strong>failed</strong>:"
 msgstr[0] ""
-"Hai strong <>falláu /strong<> la descarga del siguiente complementu:"
+"Hai <strong>falláu</strong> la descarga del siguiente complementu:"
 msgstr[1] ""
-"Hai strong <>falláu /strong<> la descarga de los siguientes {0} complementos:"
+"Hai <strong>falláu</strong> la descarga de los siguientes {0} complementos:"
 
 msgid "Please restart JOSM to activate the downloaded plugins."
-msgstr "Por favor, reanicie JOSM p'activar los complementos descargaos."
+msgstr "Por favor, reanicie JOSM p''activar los complementos descargaos."
 
 msgid "Update plugins"
 msgstr "Actualizar complementos"
@@ -12042,7 +12107,7 @@ msgid "Enter a search expression"
 msgstr "Introducir una espresión de busca"
 
 msgid "Plugin update policy"
-msgstr "Política d'actualización de complementos"
+msgstr "Política d''actualización de complementos"
 
 msgid "Accept the new plugin sites and close the dialog"
 msgstr "Aceptar el nuevu complementu y pesllar el diálogu"
@@ -12092,7 +12157,7 @@ msgid "JOSM Plugin description URL"
 msgstr "URL de descripción del complementu de JOSM"
 
 msgid "Ask before updating"
-msgstr "Preguntar enantes d'actualizar"
+msgstr "Preguntar enantes d''actualizar"
 
 msgid "Always update without asking"
 msgstr "Actualizar siempres ensin preguntar"
@@ -12105,10 +12170,10 @@ msgid ""
 "startup after an update of JOSM itself."
 msgstr ""
 "Por favor, decida si JOSM va actualizar automáticamente los componentes "
-"activos al empecipiase dempués d'una actualización de sigo mesmu."
+"activos al empecipiase dempués d''una actualización de sigo mesmu."
 
 msgid "Update interval (in days):"
-msgstr "Intervalu d'actualización (en díes):"
+msgstr "Intervalu d''actualización (en díes):"
 
 msgid ""
 "Please decide whether JOSM shall automatically update active plugins after a "
@@ -12130,10 +12195,10 @@ msgid "Validate"
 msgstr "Validar"
 
 msgid "Parameter information..."
-msgstr "Parámetros d'información..."
+msgstr "Parámetros d''información..."
 
 msgid "Parameter information"
-msgstr "Parametros d'información"
+msgstr "Parametros d''información"
 
 msgid "Projection name"
 msgstr "Nome de la proyección"
@@ -12151,7 +12216,7 @@ msgid "Central meridian"
 msgstr "Meridianu central"
 
 msgid "Scaling factor"
-msgstr "Factor d'escala"
+msgstr "Factor d''escala"
 
 msgid "Ellipsoid name"
 msgstr "Nome del elipsoide"
@@ -12318,7 +12383,7 @@ msgid ""
 "(https) on localhost.<br>These ports are not configurable because they are "
 "referenced by external applications talking to JOSM."
 msgstr ""
-"JOSM siempres va escuchar en <> el b puertu {0}</b> (http) y el <b>puertu "
+"JOSM siempres va escuchar en el <b>puertu {0}</b> (http) y el <b>puertu "
 "{1}</b> (https) en localhost.<br>Estos puertos nun son configurables por "
 "cuenta de que los mesmos son referencies por aplicaciones esternes que "
 "dialoguen con JOSM."
@@ -12442,14 +12507,14 @@ msgstr ""
 "métodu de autenticación ''Autenticación Básica''."
 
 msgid "OSM username:"
-msgstr "Nome d'usuariu OSM:"
+msgstr "Nome d''usuariu OSM:"
 
 msgid "OSM password:"
 msgstr "Contraseña OSM:"
 
 msgid "Failed to retrieve OSM credentials from credential manager."
 msgstr ""
-"Erru al recuperar les credenciales d'alministrador de credenciales de OSM."
+"Erru al recuperar les credenciales d''alministrador de credenciales de OSM."
 
 msgid "Current credential manager is of type ''{0}''"
 msgstr "L´alministrador de credenciales actual ye ''{0}''"
@@ -12466,43 +12531,43 @@ msgstr "Comprobar cada (minutos):"
 
 msgid "Failed to retrieve OAuth Access Token from credential manager"
 msgstr ""
-"Erru al recuperar el Token d'Accesu OAuth dende l'alministrador de "
+"Erru al recuperar el Token d''Accesu OAuth dende l''alministrador de "
 "credenciales"
 
 msgid "Failed to store OAuth Access Token to credentials manager"
 msgstr ""
-"Erru almacenando'l Token d'Accesu OAuth nel alministrador de credenciales"
+"Erru almacenando''l Token d''Accesu OAuth nel alministrador de credenciales"
 
 msgid ""
 "You do not have an Access Token yet to access the OSM server using OAuth. "
 "Please authorize first."
 msgstr ""
-"Nun tien accesu a la llave d'Accesu p'aportar al servidor OSM usando OAuth. "
-"Por favor autorícelo primeru."
+"Nun tien accesu a la llave d''Accesu p''aportar al servidor OSM usando "
+"OAuth. Por favor autorícelo primeru."
 
 msgid ""
 "You already have an Access Token to access the OSM server using OAuth."
 msgstr ""
-"Usté yá tien una llave d'Accesu p'aportar al servidor OSM usando OAuth"
+"Usté yá tien una llave d''Accesu p''aportar al servidor OSM usando OAuth"
 
 msgid "Save to preferences"
 msgstr "Guardar preferencies"
 
 msgid "Click to step through the OAuth authorization process"
-msgstr "Escueya pa siguir los pasos del procesu d'autorización OAuth"
+msgstr "Escueya pa siguir los pasos del procesu d''autorización OAuth"
 
 msgid "New Access Token"
-msgstr "Nueva llave d'Accesu"
+msgstr "Nueva llave d''Accesu"
 
 msgid ""
 "Click to step through the OAuth authorization process and generate a new "
 "Access Token"
 msgstr ""
-"Escueya pa siguir los pasos del procesu d'autorización OAuth y xenerar una "
-"nueva llave d'Accesu"
+"Escueya pa siguir los pasos del procesu d''autorización OAuth y xenerar una "
+"nueva llave d''Accesu"
 
 msgid "Click test access to the OSM server with the current access token"
-msgstr "Escueya probar accesu al servidor OSM cola llave d'Accesu actual"
+msgstr "Escueya probar accesu al servidor OSM cola llave d''Accesu actual"
 
 msgid "<html>Use the default OSM server URL (<strong>{0}</strong>)</html>"
 msgstr ""
@@ -12544,7 +12609,7 @@ msgstr "Puertu:"
 msgid ""
 "Please enter a username and a password if your proxy requires authentication."
 msgstr ""
-"Por favor, introduza un nome d'usuariu y contraseña si'l so proxy rique "
+"Por favor, introduza un nome d''usuariu y contraseña si''l so proxy rique "
 "autentificación."
 
 msgid "Password:"
@@ -12560,7 +12625,7 @@ msgid ""
 "Use standard system settings (disabled. Start JOSM with <tt>-"
 "Djava.net.useSystemProxies=true</tt> to enable)"
 msgstr ""
-"Usar les opciones estándar del sistema (evacuáu. P'habilitalo, llance JOSM "
+"Usar les opciones estándar del sistema (evacuáu. P''habilitalo, llance JOSM "
 "con <tt>-Djava.net.useSystemProxies=true</tt>)"
 
 msgid "Manually configure a HTTP proxy"
@@ -12618,7 +12683,7 @@ msgid ""
 "programs."
 msgstr ""
 "Un validador de datos OSM que verifica los erros más comunes producíos polos "
-"usuarios y los programes d'edición."
+"usuarios y los programes d''edición."
 
 msgid "Available rules:"
 msgstr "Riegles disponibles:"
@@ -12627,7 +12692,7 @@ msgid "Active rules:"
 msgstr "Riegles actives:"
 
 msgid "Add a new rule by entering filename or URL"
-msgstr "Añedir una nueva riegla ingresando un nome d'arquivu o URL"
+msgstr "Añedir una nueva riegla ingresando un nome d''arquivu o URL"
 
 msgid "New rule entry:"
 msgstr "Nueva entrada de riegla:"
@@ -12636,7 +12701,7 @@ msgid "Remove the selected rules from the list of active rules"
 msgstr "Quitar les riegles escoyíes de la llista de riegles actives"
 
 msgid "Edit the filename or URL for the selected active rule"
-msgstr "Ingresar el nome d'arquivu o URL de les riegles actives escoyíes"
+msgstr "Ingresar el nome d''arquivu o URL de les riegles actives escoyíes"
 
 msgid "Add the selected available rules to the list of active rules"
 msgstr ""
@@ -12652,8 +12717,8 @@ msgid ""
 "<html>Failed to load the list of rule sources "
 "from<br>''{0}''.<br><br>Details (untranslated):<br>{1}</html>"
 msgstr ""
-"<html>Hebo un fallu al cargar la llista d´oríxenes de riegles dende br "
-"<>''{0}''.<br><br>Detalles (ensin traducir):<br>{1}</html>"
+"<html>Hebo un fallu al cargar la llista d´oríxenes de riegles "
+"dende<br>''{0}''.<br><br>Detalles (ensin traducir):<br>{1}</html>"
 
 msgid "Warning: illegal format of entry in rule list ''{0}''. Got ''{1}''"
 msgstr ""
@@ -12664,7 +12729,7 @@ msgid "Checks for errors on addresses"
 msgstr "Comprueba si hai erros nes direcciones"
 
 msgid "Tag combinations"
-msgstr "Combinaciones d'etiquetes"
+msgstr "Combinaciones d''etiquetes"
 
 msgid "Checks for missing tag or suspicious combinations"
 msgstr ""
@@ -12680,10 +12745,10 @@ msgid "Geometry"
 msgstr "Xeometría"
 
 msgid "Checks for geometry errors"
-msgstr "Verifica la esistencia d'erros de xeometría"
+msgstr "Verifica la esistencia d''erros de xeometría"
 
 msgid "Checks for errors on highways"
-msgstr "Verifica la esistencia d'erros nos caminos"
+msgstr "Verifica la esistencia d''erros nos caminos"
 
 msgid "Multiple values"
 msgstr "Valores múltiples"
@@ -12701,13 +12766,13 @@ msgid "Power"
 msgstr "Enerxía"
 
 msgid "Checks for errors on power infrastructures"
-msgstr "Verifica que nun haya erros na infraestructura d'enerxía"
+msgstr "Verifica que nun haya erros na infraestructura d''enerxía"
 
 msgid "Religion"
 msgstr "Relixón"
 
 msgid "Checks for errors on religious objects"
-msgstr "Verifica que nun haya erros n'oxetos relixosos"
+msgstr "Verifica que nun haya erros n''oxetos relixosos"
 
 msgid "Checks for errors on relations"
 msgstr "Verifica que nun haya erros nes relaciones"
@@ -12716,34 +12781,34 @@ msgid "Unnecessary tags"
 msgstr "Etiquetes innecesaries"
 
 msgid "Checks for unnecessary tags"
-msgstr "Verifica la esistencia d'etiquetes innecesaries"
+msgstr "Verifica la esistencia d''etiquetes innecesaries"
 
 msgid "Wikipedia"
 msgstr "Wikipedia"
 
 msgid "Checks for wrong wikipedia tags"
-msgstr "Verifica la esistencia d'etiquetes wikipedia incorrectes"
+msgstr "Verifica la esistencia d''etiquetes wikipedia incorrectes"
 
 msgid "Tag checker rules"
-msgstr "Riegles del Validador d'etiquetes"
+msgstr "Riegles del Validador d''etiquetes"
 
 msgid "Choose Tag checker rules to enable"
-msgstr "Escueya les riegles del Validador d'Etiquetes que deseya activar"
+msgstr "Escueya les riegles del Validador d''Etiquetes que deseya activar"
 
 msgid "Use ignore list."
-msgstr "Usar llista d'omisiones."
+msgstr "Usar llista d''omisiones."
 
 msgid "Use the ignore list to suppress warnings."
-msgstr "Usar la llista d'omisiones pa suprimir alvertencies."
+msgstr "Usar la llista d''omisiones pa suprimir alvertencies."
 
 msgid "Use error layer."
-msgstr "Utilizar la capa d'erros."
+msgstr "Utilizar la capa d''erros."
 
 msgid "Use the error layer to display problematic elements."
-msgstr "Utilizar la capa d'erros p'amosar elementos problemáticos."
+msgstr "Utilizar la capa d''erros p''amosar elementos problemáticos."
 
 msgid "Show informational level."
-msgstr "Amosar nivel d'información."
+msgstr "Amosar nivel d''información."
 
 msgid "Show the informational tests."
 msgstr "Amosar los test informativos."
@@ -12753,7 +12818,7 @@ msgstr "Amosar información sobre la xubida de datos."
 
 msgid "Show the informational tests in the upload check windows."
 msgstr ""
-"Amosar les pruebes d'información na ventana de comprobación de xubida de "
+"Amosar les pruebes d''información na ventana de comprobación de xubida de "
 "datos."
 
 msgid "On demand"
@@ -12777,7 +12842,7 @@ msgstr[0] "Esaniciar les claves antigües d´hasta {0} oxetu"
 msgstr[1] "Esaniciar les claves antigües d´hasta {0} oxetos"
 
 msgid "Delete the selection in the tag table"
-msgstr "Borrar la selección na tabla d'etiquetes"
+msgstr "Borrar la selección na tabla d''etiquetes"
 
 msgid "Add a new tag"
 msgstr "Añedir una nueva etiqueta"
@@ -12848,7 +12913,7 @@ msgid "Select auto-increment of {0} for this field"
 msgstr "Escoyer un autoincremental de {0} pa esti campu"
 
 msgid "Cancel auto-increment for this field"
-msgstr "Atayar l´autoincrementu d'esti campu"
+msgstr "Atayar l´autoincrementu d''esti campu"
 
 msgid "{0}:"
 msgstr "{0}:"
@@ -12878,14 +12943,14 @@ msgid ""
 "Broken tagging preset \"{0}-{1}\" - number of items in ''display_values'' "
 "must be the same as in ''values''"
 msgstr ""
-"Etiquetáu predetermináu rotu ''{0}-{1}'' - el númberu d'oxetos en "
+"Etiquetáu predetermináu rotu ''{0}-{1}'' - el númberu d''oxetos en "
 "''display_values'' tien de coincidir con ''values''"
 
 msgid ""
 "Broken tagging preset \"{0}-{1}\" - number of items in "
 "''short_descriptions'' must be the same as in ''values''"
 msgstr ""
-"Etiquetáu predetermináu rotu ''{0}-{1}'' - el númberu d'oxetos en "
+"Etiquetáu predetermináu rotu ''{0}-{1}'' - el númberu d''oxetos en "
 "''short_descriptions'' tien de coincidir con ''values''"
 
 msgid "Unknown type: {0}"
@@ -12901,7 +12966,7 @@ msgid "Reference {0} is being used before it was defined"
 msgstr "La referencia {0} ta siendo usada antes de ser definida"
 
 msgid "Roles cannot appear more than once"
-msgstr "Los roles nun pueden apaecer más d'una vegada"
+msgstr "Los roles nun pueden apaecer más d''una vegada"
 
 msgid "Preset role element without parent"
 msgstr "Rol preestablecíu ensin padre"
@@ -12925,10 +12990,10 @@ msgid "Search for objects by preset"
 msgstr "Buscar oxetos per tipu predefiníu"
 
 msgid "Show only applicable to selection"
-msgstr "L'amuesa namá ye aplicable a la selección"
+msgstr "L''amuesa namá ye aplicable a la selección"
 
 msgid "Search in tags"
-msgstr "Buscar n'etiquetes"
+msgstr "Buscar n''etiquetes"
 
 msgid "Add toolbar button"
 msgstr "Añedir botón de barra de ferramientes"
@@ -12956,7 +13021,7 @@ msgid "All files (*.*)"
 msgstr "Tolos arquivos (*.*)"
 
 msgid "Received error page:"
-msgstr "Recibióse una páxina d'erru"
+msgstr "Recibióse una páxina d''erru"
 
 msgid "Min. latitude"
 msgstr "Llatitú min."
@@ -12981,7 +13046,7 @@ msgid ""
 "The current value is not a valid changeset ID. Please enter an integer value "
 "> 0"
 msgstr ""
-"El valor actual nun ye una ID d'un conxuntu de cambeos válida. Introduza un "
+"El valor actual nun ye una ID d''un conxuntu de cambeos válida. Introduza un "
 "valor enteru mayor que cero"
 
 msgid "Add a new source to the list."
@@ -13084,7 +13149,7 @@ msgid "Downloading points {0} to {1}..."
 msgstr "Baxando puntos {0} a {1}..."
 
 msgid "Contacting OSM Server..."
-msgstr "Contautando col Sirvidor d'OSM..."
+msgstr "Contautando col Sirvidor d''OSM..."
 
 msgid "Failed to open input stream for resource ''{0}''"
 msgstr "Fallu al abrir canal de llectura pal recursu ''{0}''"
@@ -13203,7 +13268,7 @@ msgid ""
 msgstr ""
 "La JVM nun ta configurada pa buscar los proxies de la configuración del "
 "sistema. Faltaba la propiedá ''java.net.useSystemProxies'' mientres "
-"l'entamu. Nun se va utilizar un proxy."
+"l''entamu. Nun se va utilizar un proxy."
 
 msgid "Parsing response from server..."
 msgstr "Revisando respuesta del servidor..."
@@ -13244,7 +13309,7 @@ msgid "GPS track description"
 msgstr "Descripción de traza GPS"
 
 msgid "Add author information"
-msgstr "Amestar información de l'autor"
+msgstr "Amestar información de l''autor"
 
 msgid "Real name"
 msgstr "Nome real"
@@ -13265,7 +13330,7 @@ msgid "Keywords"
 msgstr "Pallabres clave"
 
 msgid "Export options"
-msgstr "Opciones d'esportación"
+msgstr "Opciones d''esportación"
 
 msgid "Export and Save"
 msgstr "Esportar y guardar"
@@ -13312,16 +13377,16 @@ msgid "Unknown mode {0}."
 msgstr "mou desconocíu {0}."
 
 msgid "Image Files"
-msgstr "Arquivos d'imaxe"
+msgstr "Arquivos d''imaxe"
 
 msgid "folder"
 msgstr "carpeta"
 
 msgid "Looking for image files"
-msgstr "Buscando arquivos d'imaxes"
+msgstr "Buscando arquivos d''imaxes"
 
 msgid "No image files found."
-msgstr "Nun s'atoparon arquivos d'imaxes"
+msgstr "Nun s''atoparon arquivos d''imaxes"
 
 msgid "get number of unread messages"
 msgstr "Llograr el númberu de mensaxes ensin lleer"
@@ -13332,7 +13397,7 @@ msgstr[0] "Tien {0} mensaxe ensin lleer."
 msgstr[1] "Tien {0} mensaxes ensin lleer."
 
 msgid "Click here to see your inbox."
-msgstr "Faiga clic equí pa ver la bandexa d'entrada."
+msgstr "Faiga clic equí pa ver la bandexa d''entrada."
 
 msgid "Message notifier"
 msgstr "Mensaxe notificador"
@@ -13368,7 +13433,7 @@ msgstr ""
 "pidimientu individual pa cada oxetu."
 
 msgid "Downloading OSM data..."
-msgstr "Baxando datos d'OSM..."
+msgstr "Baxando datos d''OSM..."
 
 msgid "Fetching node with id {0} from ''{1}''"
 msgstr "Llogrando nodo con ID {0} de ''{1}''"
@@ -13463,7 +13528,7 @@ msgid "Closing changeset..."
 msgstr "Pesllando rexistru de cambéos..."
 
 msgid "No changeset present for diff upload."
-msgstr "Ensin nuevos cambeos qu'unviar"
+msgstr "Ensin nuevos cambeos qu''unviar"
 
 msgid "Preparing upload request..."
 msgstr "Preparando solicitú de xubida..."
@@ -13512,12 +13577,12 @@ msgstr "Arquivu estruyíos en bzip2 del Servidor OSM"
 
 msgid "Prolog of OsmChange document already written. Please write only once."
 msgstr ""
-"El Prolog del documentu OsmChange yá s'escribió. Por favor, escriba "
+"El Prolog del documentu OsmChange yá s''escribió. Por favor, escriba "
 "solamente una vegada."
 
 msgid "Prolog of OsmChange document not written yet. Please write first."
 msgstr ""
-"El Prolog del documentu OsmChange inda nun s'escribió. Por favor, escríbalo "
+"El Prolog del documentu OsmChange inda nun s''escribió. Por favor, escríbalo "
 "primeru."
 
 msgid "OsmChange File"
@@ -13634,7 +13699,7 @@ msgid "Missing mandatory attribute ''{0}'' on <nd> of way {1}."
 msgstr "Fai falta un aributo obligatoriu ''{0}'' en <nd> de la vía {1}."
 
 msgid "Illegal value of attribute ''ref'' of element <nd>. Got {0}."
-msgstr "Valor illegal del atributu ''ref'' del elementu nd <>. Ye {0}."
+msgstr "Valor illegal del atributu ''ref'' del elementu <nd>. Ye {0}."
 
 msgid "Deleted relation {0} contains members"
 msgstr "La relación borrada {0} contien miembros"
@@ -13661,7 +13726,7 @@ msgid "Incomplete <member> specification with ref=0"
 msgstr "Especificación <member> incompleta con ref=0"
 
 msgid "Missing key or value attribute in tag."
-msgstr "Fai falta la llave o'l valor del atributu na característica (tag)."
+msgstr "Fai falta la llave o''l valor del atributu na característica (tag)."
 
 msgid "Undefined element ''{0}'' found in input stream. Skipping."
 msgstr ""
@@ -13707,6 +13772,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "Hai un valor illegal númberu(llargor) pal atributu ''{0}''. Llogróse ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Preparando datos OSM..."
 
@@ -13767,7 +13835,7 @@ msgstr ""
 "Internet."
 
 msgid "Reading error text failed."
-msgstr "Falló la llectura del testu d'erru."
+msgstr "Falló la llectura del testu d''erru."
 
 msgid "XML tag <user> is missing."
 msgstr "Etiquetar XML <user> ta perdida."
@@ -13828,12 +13896,12 @@ msgid ""
 msgstr ""
 "<html><body><p class=''warning-body''><strong>Atención:</strong> La "
 "contraseña almacenar en testu planu nel arquivu de preferencies de JOSM. "
-"Amás, tresfierse strong <>ensin encriptar</strong> en cada solicitú unviada "
+"Amás, tresfierse <strong>ensin encriptar</strong> en cada solicitú unviada "
 "al servidor OSM. <strong> Nun utilice claves "
 "importantes.</strong></p></body></html>"
 
 msgid "Save user and password (unencrypted)"
-msgstr "Guardar nome d'usuariu y contraseña (ensin cifrar)"
+msgstr "Guardar nome d''usuariu y contraseña (ensin cifrar)"
 
 msgid "<delete from {0} objects>"
 msgstr "<esaniciar dende {0} oxetos>"
@@ -13863,13 +13931,13 @@ msgid "Existing values"
 msgstr "Valores esistentes"
 
 msgid "Enable the checkbox to accept the value"
-msgstr "Active'l caxellu p'aceptar el valor"
+msgstr "Active''l caxellu p''aceptar el valor"
 
 msgid "Accept all tags from {0} for this session"
 msgstr "Aceptar toles etiquetes dende {0} pa esta sesión"
 
 msgid "Load data from API"
-msgstr "Cargar datos dende'l API"
+msgstr "Cargar datos dende''l API"
 
 msgid "Import data from URL"
 msgstr "Importar datos dende la URL"
@@ -13878,7 +13946,7 @@ msgid "Open local files"
 msgstr "Abrir arquivos locales"
 
 msgid "Load imagery layers"
-msgstr "Cargar capes d'imaxes"
+msgstr "Cargar capes d''imaxes"
 
 msgid "Change the selection"
 msgstr "Camudar la selección"
@@ -13896,8 +13964,8 @@ msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 "Non puede empecipiase el servidor de control remotu nel puertu {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "ControlRemoto::Aceptando conexones nel puertu {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "ControlRemoto::El servidor foi deteníu"
@@ -13908,8 +13976,8 @@ msgstr "Non puede empecipiase el servidor https nel puertu {0}: {1}"
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Nun se puede anicializar Control Remotu sobre Servidor HTTPS"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "ControlRemoto::Aceptando conexones segures nel puertu {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "ControlRemotu:::Detúvose el servidor (https)."
@@ -13918,16 +13986,16 @@ msgid "Remote Control has been asked to create a new node."
 msgstr "El Control Remotu recibió una solicitú pa crear un nodo nuevu."
 
 msgid "There is no layer opened to add node"
-msgstr "Nun hai nenguna capa abierta p'añedir un nodo"
+msgstr "Nun hai nenguna capa abierta p''añedir un nodo"
 
 msgid "Remote Control has been asked to create a new way."
-msgstr "Solicitóse a Control Remotu la creación d'una nueva vía."
+msgstr "Solicitóse a Control Remotu la creación d''una nueva vía."
 
 msgid "Invalid coordinates: {0}"
 msgstr "Coordenaes inválides: {0}"
 
 msgid "There is no layer opened to add way"
-msgstr "Nun hai nenguna capa abierta p'añedir una vía"
+msgstr "Nun hai nenguna capa abierta p''añedir una vía"
 
 msgid "Add way"
 msgstr "Añedir vía"
@@ -13937,13 +14005,13 @@ msgid ""
 "web sites to guess a running JOSM version"
 msgstr ""
 "Control Remotu recibió un pidimientu de característiques soportaes. Esto "
-"dexa a los sitios web aldovinar la versión de JOSM que s'atopa executando."
+"dexa a los sitios web aldovinar la versión de JOSM que s''atopa executando."
 
 msgid ""
 "Remote Control has been asked to load an imagery layer from the following "
 "URL:"
 msgstr ""
-"El Control Remotu recibió una solicitú pa cargar una capa d'imaxe dende la "
+"El Control Remotu recibió una solicitú pa cargar una capa d''imaxe dende la "
 "siguiente URL:"
 
 msgid "Remote imagery"
@@ -13953,7 +14021,7 @@ msgid "Remote Control has been asked to import data from the following URL:"
 msgstr "Pidióse al control remotu importar datos de la siguiente URL:"
 
 msgid "Remote Control has been asked to load data from the API."
-msgstr "Pidióse al control remotu cagar datos dende'l API."
+msgstr "Pidióse al control remotu cagar datos dende''l API."
 
 msgid "The latitudes must be between {0} and {1}"
 msgstr "Les llatitúes tienen de tar ente {0} y {1}"
@@ -13974,17 +14042,17 @@ msgid ""
 "Remote Control has been asked to load objects (specified by their id) from "
 "the API."
 msgstr ""
-"Solicitóse a Control Remotu dende la API la carga d'oxetos (especificaos "
+"Solicitóse a Control Remotu dende la API la carga d''oxetos (especificaos "
 "polos sos ID)."
 
 msgid "Remote Control has been asked to open a local file."
-msgstr "Control Remotu recibió un pidimientu d'abrir un arquivu local"
+msgstr "Control Remotu recibió un pidimientu d''abrir un arquivu local"
 
 msgid "Do you want to allow this?"
 msgstr "¿Deseya permitir esto?"
 
 msgid "Confirm Remote Control action"
-msgstr "Confirmar l'acción del control remotu"
+msgstr "Confirmar l''acción del control remotu"
 
 msgid ""
 "Remote Control has been asked to report its protocol version. This enables "
@@ -14016,7 +14084,7 @@ msgid "Include GPX data in the .joz session file."
 msgstr "Incluyir datos GPX nel arquivu de sesión .joz."
 
 msgid "No file association"
-msgstr "Nenguna asociación d'arquivu"
+msgstr "Nenguna asociación d''arquivu"
 
 msgid "GPX data will be included in the session file."
 msgstr "Los datos GPX van ser incluyíos nel arquivu de sesión."
@@ -14045,7 +14113,7 @@ msgstr ""
 "Esperáu: 0.1"
 
 msgid "Layer contains unsaved data - save to file."
-msgstr "La capa contien datos ensin guardar - guardar n'arquivu."
+msgstr "La capa contien datos ensin guardar - guardar n''arquivu."
 
 msgid "Layer does not contain unsaved data."
 msgstr "La capa contien datos que nun fueron guardaos"
@@ -14083,7 +14151,7 @@ msgstr ""
 "La versión ''{0}'' del ficheru de sesión nun ta soportada. Esperábase 0.1"
 
 msgid "missing mandatory attribute ''index'' for element ''layer''"
-msgstr "falta l'atributu ''index'' obligatoriu pal elementu ''layer''"
+msgstr "falta l''atributu ''index'' obligatoriu pal elementu ''layer''"
 
 msgid "unexpected format of attribute ''index'' for element ''layer''"
 msgstr "formatu del atributu ''index'' inesperáu pal elementu ''layer''"
@@ -14095,10 +14163,10 @@ msgid "missing layer with index {0}"
 msgstr "falta la capa con índiz {0}"
 
 msgid "missing mandatory attribute ''name'' for element ''layer''"
-msgstr "falta l'atributu obligatoriu ''name'' pal elementu ''layer''"
+msgstr "falta l''atributu obligatoriu ''name'' pal elementu ''layer''"
 
 msgid "missing mandatory attribute ''type'' for element ''layer''"
-msgstr "falta l'atributu obligatoriu ''type'' pal elementu ''layer''"
+msgstr "falta l''atributu obligatoriu ''type'' pal elementu ''layer''"
 
 msgid "Unable to load layer"
 msgstr "Non puede cargase la capa"
@@ -14106,7 +14174,7 @@ msgstr "Non puede cargase la capa"
 msgid ""
 "Cannot load layer of type ''{0}'' because no suitable importer was found."
 msgstr ""
-"Non puede cargase la capa de tipu ''{0}'' porque nun s'atopó un importador "
+"Non puede cargase la capa de tipu ''{0}'' porque nun s''atopó un importador "
 "fayadizu."
 
 msgid ""
@@ -14198,48 +14266,48 @@ msgid ""
 "You updated your JOSM software.<br>To prevent problems the plugins should be "
 "updated as well.<br><br>Update plugins now?"
 msgstr ""
-"Actualizó'l to JOSM. <br>Pa evitar problemes los complementos tamién "
-"tendríen d'actualizase. <br><br> ¿Deseya actualizar los complementos agora?"
+"Actualizó''l to JOSM. <br>Pa evitar problemes los complementos tamién "
+"tendríen d''actualizase. <br><br> ¿Deseya actualizar los complementos agora?"
 
 msgid "Last plugin update more than {0} days ago."
 msgstr "La última actualización de los complementos foi fai más de {0} díes."
 
 msgid "Click to update the activated plugins"
-msgstr "Escueya p'actualizar los complementos activos"
+msgstr "Escueya p''actualizar los complementos activos"
 
 msgid "Skip update"
 msgstr "Omitir actualización"
 
 msgid "Click to skip updating the activated plugins"
-msgstr "Escueya pa omitir l'actualización de los complementos activos"
+msgstr "Escueya pa omitir l''actualización de los complementos activos"
 
 msgid ""
 "Skipping plugin update after JOSM upgrade. Automatic update at startup is "
 "disabled."
 msgstr ""
-"Omitir actualización de complementu dempués d'actualización de JOSM. "
-"L'actualización automática al entamu ta inactiva."
+"Omitir actualización de complementu dempués d''actualización de JOSM. "
+"L''actualización automática al entamu ta inactiva."
 
 msgid ""
 "Skipping plugin update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
-"Omitir actualización de complementu dempués d'un intervalu de tiempu. "
-"L'actualización automática al entamu ta inactiva."
+"Omitir actualización de complementu dempués d''un intervalu de tiempu. "
+"L''actualización automática al entamu ta inactiva."
 
 msgid ""
 "Running plugin update after JOSM upgrade. Automatic update at startup is "
 "enabled."
 msgstr ""
-"Executar actualización de complementu dempués de l'actualización de JOSM. "
-"L'actualización automática al entamu ta activada."
+"Executar actualización de complementu dempués de l''actualización de JOSM. "
+"L''actualización automática al entamu ta activada."
 
 msgid ""
 "Running plugin update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
-"Executar actualización de complementu dempués d'un intervalu de tiempu. "
-"L'actualización automática al entamu ta inactiva."
+"Executar actualización de complementu dempués d''un intervalu de tiempu. "
+"L''actualización automática al entamu ta inactiva."
 
 msgid ""
 "Unexpected value ''{0}'' for preference ''{1}''. Assuming value ''ask''."
@@ -14252,10 +14320,10 @@ msgid_plural ""
 "Plugin {0} requires {1} plugins which were not found. The missing plugins "
 "are:"
 msgstr[0] ""
-"El complementu {0} rique un complementu que nun s'atopó. El complementu que "
+"El complementu {0} rique un complementu que nun s''atopó. El complementu que "
 "falta ye:"
 msgstr[1] ""
-"El complementu {0} rique {1} complementos que nun s'atoparon. El plugin que "
+"El complementu {0} rique {1} complementos que nun s''atoparon. El plugin que "
 "falta ye:"
 
 msgid ""
@@ -14292,7 +14360,7 @@ msgstr "Cargando complementu ''{0}''..."
 
 msgid "JOSM could not find information about the following plugin:"
 msgid_plural "JOSM could not find information about the following plugins:"
-msgstr[0] "JOSM nun pudo atopar información sobre'l complementu siguiente:"
+msgstr[0] "JOSM nun pudo atopar información sobre''l complementu siguiente:"
 msgstr[1] ""
 "JOSM nun pudo atopar información sobre los complementos siguientes:"
 
@@ -14312,8 +14380,8 @@ msgstr "Esaniciando complementos ensin caltener..."
 
 msgid "Updating the following plugin has failed:"
 msgid_plural "Updating the following plugins has failed:"
-msgstr[0] "L'actualización del siguiente complementu falló:"
-msgstr[1] "L'actualización de los siguientes complementos falló:"
+msgstr[0] "L''actualización del siguiente complementu falló:"
+msgstr[1] "L''actualización de los siguientes complementos falló:"
 
 msgid ""
 "Please open the Preference Dialog after JOSM has started and try to update "
@@ -14322,20 +14390,20 @@ msgid_plural ""
 "Please open the Preference Dialog after JOSM has started and try to update "
 "them manually."
 msgstr[0] ""
-"Por favor abra'l diálogu de preferencies dempués d'empecipiáu JOSM ya "
+"Por favor abra''l diálogu de preferencies dempués d''empecipiáu JOSM ya "
 "intente actualizalo manualmente."
 msgstr[1] ""
-"Por favor abra'l diálogu de preferencies dempués d'empecipiáu JOSM ya "
+"Por favor abra''l diálogu de preferencies dempués d''empecipiáu JOSM ya "
 "intente actualizalos manualmente."
 
 msgid "Plugin update failed"
-msgstr "Falló l'actualización del complementu"
+msgstr "Falló l''actualización del complementu"
 
 msgid "Failed to find plugin {0}"
 msgstr "Non pudo atopase el complementu {0}"
 
 msgid "Failed to download plugin information list"
-msgstr "Erru al descargar la llista d'información del complementu"
+msgstr "Erru al descargar la llista d''información del complementu"
 
 msgid "Disable plugin"
 msgstr "Evacuar complementu"
@@ -14386,13 +14454,13 @@ msgid ""
 msgstr "Hubo una esceición inesperada que pudiere venir del plugin ''{0}''."
 
 msgid "According to the information within the plugin, the author is {0}."
-msgstr "D'alcuerdu cola información sacada del plugin, l'autor ye {0}."
+msgstr "D''alcuerdu cola información sacada del plugin, l''autor ye {0}."
 
 msgid ""
 "Try updating to the newest version of this plugin before reporting a bug."
 msgstr ""
-"Tenta actualizar a la versión más nueva d'esti plugin enantes d'informar "
-"d'un bug."
+"Tenta actualizar a la versión más nueva d''esti plugin enantes d''informar "
+"d''un bug."
 
 msgid ""
 "The plugin has been removed from the configuration. Please restart JOSM to "
@@ -14522,8 +14590,8 @@ msgid ""
 "file a bug report."
 msgstr ""
 "Asocedió una esceición inesperada.<br> Esto siempres ye un erru de "
-"codificación. Si ta executando la postrera br<>versión de JOSM, por favor "
-"sía tan atenta de presentar un informe d'erru."
+"codificación. Si ta executando la postrera <br>versión de JOSM, por favor "
+"sía tan atenta de presentar un informe d''erru."
 
 msgid "Update JOSM"
 msgstr "Actualizar JOSM"
@@ -14537,28 +14605,28 @@ msgid ""
 msgstr ""
 "Un erru inesperáu asocedió. Esto ye debíu siempres a un erru de "
 "programación. <br><br> Sicasí, si tas utilizando una versión antigua de JOSM "
-"({0}), br<> en cuenta de usar la versión probada actual "
-"(<b>{1}</b>).<br><br><b>Por favor actualiza JOSM</br> antes d'unviar un "
-"informe d'erru."
+"({0}), <br> en cuenta de usar la versión probada actual "
+"(<b>{1}</b>).<br><br><b>Por favor actualiza JOSM</br> antes d''unviar un "
+"informe d''erru."
 
 msgid "Unexpected Exception"
 msgstr "Esceición inesperada"
 
 msgid "Suppress further error dialogs for this session."
-msgstr "Suprimir otros mensaxes d'erru mientres esta sesión."
+msgstr "Suprimir otros mensaxes d''erru mientres esta sesión."
 
 msgid ""
 "You have encountered an error in JOSM. Before you file a bug report make "
 "sure you have updated to the latest version of JOSM here:"
 msgstr ""
-"Atopó un erru en JOSM. Antes d'informar d'un fallu asegúrese d'actualizar a "
-"la última versión de JOSM equí:"
+"Atopó un erru en JOSM. Antes d''informar d''un fallu asegúrese d''actualizar "
+"a la última versión de JOSM equí:"
 
 msgid ""
 "You should also update your plugins. If neither of those help please file a "
 "bug report in our bugtracker using this link:"
 msgstr ""
-"Tamién tendría d'actualizar los sos complementos. Si nenguna opción ayuda, "
+"Tamién tendría d''actualizar los sos complementos. Si nenguna opción ayuda, "
 "por favor, presente un informe de erroren el nuesu sistema de siguimientu de "
 "fallos na siguiente dirección:"
 
@@ -14568,7 +14636,7 @@ msgid ""
 "supply as much detail as possible."
 msgstr ""
 "Ellí la información del erru yá tendrá de ser rellenada por usté. Por favor "
-"incluya información de cómo reproducir l'erru ya intente ufiertar tanto "
+"incluya información de cómo reproducir l''erru ya intente ufiertar tanto "
 "detalle como-y sía posible."
 
 msgid ""
@@ -14598,9 +14666,9 @@ msgid ""
 "Access Token.</html>"
 msgstr ""
 "<html>Fallu al autenticar nel servidor OSM ''{0}''.<br>Ta usando OAuth para "
-"autenticarse pero agora mesmu nun hai br> una lleva d'Accesu OAuth "
-"configurada.<br>Por favor abra'l diálogu de preferencies y xenere o "
-"introduza una llave d'Accesu.</html>"
+"autenticarse pero agora mesmu nun hai br> una lleva d''Accesu OAuth "
+"configurada.<br>Por favor abra''l diálogu de preferencies y xenere o "
+"introduza una llave d''Accesu.</html>"
 
 msgid ""
 "<strong>Failed</strong> to delete <strong>node {0}</strong>. It is still "
@@ -14611,11 +14679,11 @@ msgid_plural ""
 "referred to by nodes {1}.<br>Please load the nodes, remove the reference to "
 "the node, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> el borráu del <strong>nodo {0}</strong>. Inda ta "
-"referenciáu pol nodo {1}.<br> Cargue'l nodo, esanicie la referencia al nodo "
+"<strong>Falló</strong> el borráu del <strong>nodo {0}</strong>. Inda ta "
+"referenciáu pol nodo {1}.<br> Cargue''l nodo, esanicie la referencia al nodo "
 "a borrar y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> el borráu del <strong>nodo {0}</strong>. Inda ta "
+"<strong>Falló</strong> el borráu del <strong>nodo {0}</strong>. Inda ta "
 "referenciáu polos nodos {1}.<br> Cargue los nodos, esanicie la referencia al "
 "nodo a borrar y vuelva unviar al servidor."
 
@@ -14628,12 +14696,12 @@ msgid_plural ""
 "referred to by ways {1}.<br>Please load the ways, remove the reference to "
 "the node, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación del <strong>nodo {0}</strong>. Inda "
-"ye referenciáu pela vía {1}.<br>Cargue la vía, esanicie la referencia al "
-"nodo y vuelva unviar al servidor."
+"<strong>Falló</strong> la eliminación del <strong>nodo {0}</strong>. Inda ye "
+"referenciáu pela vía {1}.<br>Cargue la vía, esanicie la referencia al nodo y "
+"vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación del <strong>nodo {0}</strong>. Inda "
-"ye referenciáu peles víes {1}.<br>Cargue la víes, esanicie la referencia al "
+"<strong>Falló</strong> la eliminación del <strong>nodo {0}</strong>. Inda ye "
+"referenciáu peles víes {1}.<br>Cargue la víes, esanicie la referencia al "
 "nodo y vuelva unviar al servidor."
 
 msgid ""
@@ -14645,12 +14713,12 @@ msgid_plural ""
 "referred to by relations {1}.<br>Please load the relations, remove the "
 "reference to the node, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación del <strong>nodo {0}</strong>. Inda "
-"ye referenciáu pola relación {1}.<br>Cargue la relación, esanicie la "
-"referencia al nodo y vuelva unviar al servidor."
+"<strong>Falló</strong> la eliminación del <strong>nodo {0}</strong>. Inda ye "
+"referenciáu pola relación {1}.<br>Cargue la relación, esanicie la referencia "
+"al nodo y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación del <strong>nodo {0}</strong>. Inda "
-"ye referenciáu poles relación {1}.<br>Cargue la relaciones, esanicie la "
+"<strong>Falló</strong> la eliminación del <strong>nodo {0}</strong>. Inda ye "
+"referenciáu poles relación {1}.<br>Cargue la relaciones, esanicie la "
 "referencia al nodo y vuelva unviar al servidor."
 
 msgid ""
@@ -14662,11 +14730,11 @@ msgid_plural ""
 "referred to by nodes {1}.<br>Please load the nodes, remove the reference to "
 "the way, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación de la strong <>vía {0}</strong>. Inda "
-"ye referenciada pol nodo {1}.<br>Cargue'l nodo, esanicie la referencia a la "
+"<strong>Falló</strong> la eliminación de la <strong>vía {0}</strong>. Inda "
+"ye referenciada pol nodo {1}.<br>Cargue''l nodo, esanicie la referencia a la "
 "vía y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación de la strong <>vía {0}</strong>. Inda "
+"<strong>Falló</strong> la eliminación de la <strong>vía {0}</strong>. Inda "
 "ye referenciada polos nodos {1}.<br>Cargue los nodos, esanicie la referencia "
 "a la vía y vuelva unviar al servidor."
 
@@ -14679,11 +14747,11 @@ msgid_plural ""
 "referred to by ways {1}.<br>Please load the ways, remove the reference to "
 "the way, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación de la strong <>vía {0}</strong>. Inda "
+"<strong>Falló</strong> la eliminación de la <strong>vía {0}</strong>. Inda "
 "ye referenciada pela vía {1}.<br>Cargue dicha vía, esanicie la referencia a "
 "la vía que deseya esaniciar y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación de la strong <>vía {0}</strong>. Inda "
+"<strong>Falló</strong> la eliminación de la <strong>vía {0}</strong>. Inda "
 "ye referenciada pela víes {1}.<br>Cargue diches víes, esanicie la referencia "
 "a la vía que deseya borrar y vuelva unviar al servidor."
 
@@ -14696,11 +14764,11 @@ msgid_plural ""
 "referred to by relations {1}.<br>Please load the relations, remove the "
 "reference to the way, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación de la strong <>vía {0}</strong>. Inda "
+"<strong>Falló</strong> la eliminación de la <strong>vía {0}</strong>. Inda "
 "ye referenciada pola relación {1}.<br>Cargue la relación, esanicie la "
 "referencia a la vía y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación de la strong <>vía {0}</strong>. Inda "
+"<strong>Falló</strong> la eliminación de la <strong>vía {0}</strong>. Inda "
 "ye referenciada pola relación {1}.<br>Cargue les relaciones, esanicie la "
 "referencia a la vía y vuelva unviar al servidor."
 
@@ -14713,11 +14781,11 @@ msgid_plural ""
 "referred to by nodes {1}.<br>Please load the nodes, remove the reference to "
 "the relation, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación de la strong <>relación {0}</strong>. "
-"Inda ye referenciada pol nodo {1}.<br>Cargue'l nodo, esanicie la referencia "
+"<strong>Falló</strong> la eliminación de la <strong>relación {0}</strong>. "
+"Inda ye referenciada pol nodo {1}.<br>Cargue''l nodo, esanicie la referencia "
 "a la relación y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación de la strong <>relación {0}</strong>. "
+"<strong>Falló</strong> la eliminación de la <strong>relación {0}</strong>. "
 "Inda ye referenciada polos nodos {1}.<br>Cargue los nodos, esanicie la "
 "referencia a la relación y vuelva unviar al servidor."
 
@@ -14730,11 +14798,11 @@ msgid_plural ""
 "referred to by ways {1}.<br>Please load the ways, remove the reference to "
 "the relation, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación de la strong <>relación {0}</strong>. "
+"<strong>Falló</strong> la eliminación de la <strong>relación {0}</strong>. "
 "Inda ye referenciada pela vía {1}.<br>Cargue la vía, esanicie la referencia "
 "a la relación y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación de la strong <>relación {0}</strong>. "
+"<strong>Falló</strong> la eliminación de la <strong>relación {0}</strong>. "
 "Inda ye referenciada peles víes {1}.<br>Cargue les víes, esanicie la "
 "referencia a la relación y vuelva unviar al servidor."
 
@@ -14747,11 +14815,11 @@ msgid_plural ""
 "referred to by relations {1}.<br>Please load the relations, remove the "
 "reference to the relation, and upload again."
 msgstr[0] ""
-"<strong>Falló /strong<> la eliminación de la strong <>relación {0}</strong>. "
+"<strong>Falló</strong> la eliminación de la <strong>relación {0}</strong>. "
 "Inda ye referenciada pola relación {1}.<br>Cargue dicha relación, esanicie "
 "la referencia a la relación que deseya borrar y vuelva unviar al servidor."
 msgstr[1] ""
-"<strong>Falló /strong<> la eliminación de la strong <>relación {0}</strong>. "
+"<strong>Falló</strong> la eliminación de la <strong>relación {0}</strong>. "
 "Inda ye referenciada poles relación {1}.<br>Cargue diches relaciones, "
 "esanicie la referencia a la relación que deseya borrar y vuelva unviar al "
 "servidor."
@@ -14761,8 +14829,8 @@ msgid ""
 "current<br>dataset violates a precondition.<br>The error message "
 "is:<br>{0}</html>"
 msgstr ""
-"<html> Xubida al servidor <strong>fallida /strong<> por cuenta que'l so "
-"actual conxuntu de datos viola una condición previa.<br> El mensaxe d'erru "
+"<html> Xubida al servidor <strong>fallida</strong> por cuenta que''l so "
+"actual conxuntu de datos viola una condición previa.<br> El mensaxe d''erru "
 "ye:<br>{0}</html>"
 
 msgid ""
@@ -14779,7 +14847,7 @@ msgid ""
 "token.</html>"
 msgstr ""
 "<html>Falló la autenticación frente al servidor OSM cola llave OAuth "
-"''{0}''.<br>Por favor llance'l diálogu de preferencies y descargue otra "
+"''{0}''.<br>Por favor llance''l diálogu de preferencies y descargue otra "
 "llave OAuth.</html>"
 
 msgid ""
@@ -14790,7 +14858,7 @@ msgstr ""
 "siguiente erru:<br>''{0}''</html>"
 
 msgid "<html>Authorisation at the OSM server failed.<br></html>"
-msgstr "<html>L'autorización nel servidor de OSM falló.<br></html>"
+msgstr "<html>L''autorización nel servidor de OSM falló.<br></html>"
 
 msgid ""
 "<html>Authorisation at the OSM server with the OAuth token ''{0}'' "
@@ -14800,7 +14868,7 @@ msgid ""
 msgstr ""
 "<html>Falló l´autorización frente al servidor OSM cola llave OAuth "
 "''{0}''.<br>La llave nun ta autorizada p´aportar al recursu protexíu "
-"br<>''{1}''.<br>Por favor llance´l diálogu de preferencies y llogre otra "
+"<br>''{1}''.<br>Por favor llance´l diálogu de preferencies y llogre otra "
 "llave OAuth.</html>"
 
 msgid ""
@@ -14811,7 +14879,7 @@ msgstr ""
 "inténtelo más tarde.</html>"
 
 msgid "no error message available"
-msgstr "Nun hai mensaxe d'erru disponible"
+msgstr "Nun hai mensaxe d''erru disponible"
 
 msgid ""
 "<html>Communication with the OSM server ''{0}''failed. The server "
@@ -14820,7 +14888,7 @@ msgid ""
 "(untranslated)</strong>: {2}</html>"
 msgstr ""
 "<html>Falló la comunicación col servidor OSM ''{0}''. El servidor respondió "
-"br<>col siguiente códigu d´erru y el siguiente mensaxe "
+"<br>col siguiente códigu d´erru y el siguiente mensaxe "
 "d´erru:<br><strong>Códigu d´Erru:</strong> {1}<br><strong>Mensaxe d´Erru "
 "(ensin traducir)</strong>:{2}</html>"
 
@@ -14860,22 +14928,22 @@ msgid ""
 "security reasons. This is most likely because you are running<br>in an "
 "applet and because you did not load your applet from ''{1}''."
 msgstr ""
-"<html>Falló l'apertura d'una conexón al servidor remotu br<>''{0}''<br> por "
-"motivos de seguridá. De normal esto ta causáu porque ta executando br <> "
+"<html>Falló l''apertura d''una conexón al servidor remotu <br>''{0}''<br> "
+"por motivos de seguridá. De normal esto ta causáu porque ta executando <br> "
 "JOSM un applet que nun foi cargáu dende ''{1}''."
 
 msgid ""
 "<html>Failed to open a connection to the remote server<br>''{0}''.<br>Please "
 "check your internet connection."
 msgstr ""
-"<html>Falló l'apertura d'una conexón al servidor remotu "
-"br<>''{0}''.<br>Compruebe la so conexón a internet."
+"<html>Falló l''apertura d''una conexón al servidor remotu "
+"<br>''{0}''.<br>Compruebe la so conexón a internet."
 
 msgid ""
 "<html>Failed to upload data to or download data from<br>''{0}''<br>due to a "
 "problem with transferring data.<br>Details (untranslated): {1}</html>"
 msgstr ""
-"<html>Non pudo cargase datos o descargar datos dende br<>''{0}''<br>por "
+"<html>Non pudo cargase datos o descargar datos dende <br>''{0}''<br>por "
 "cuenta de un problema cola tresferencia de datos.<br>Detalles (ensin "
 "traducir): {1}</html>"
 
@@ -14898,14 +14966,14 @@ msgstr ""
 "más tarde."
 
 msgid "The OSM server ''{0}'' reported a bad request.<br>"
-msgstr "El servidor OSM ''{0}'' informa d'una mala solicitú.<br>"
+msgstr "El servidor OSM ''{0}'' informa d''una mala solicitú.<br>"
 
 msgid ""
 "The area you tried to download is too big or your request was too "
 "large.<br>Either request a smaller area or use an export file provided by "
 "the OSM community."
 msgstr ""
-"La área qu'intentó descargar ye demasiáu grande o la so solicitú yera "
+"La área qu''intentó descargar ye demasiáu grande o la so solicitú yera "
 "demasiada amplia. <br> Solicite un área más pequena o utilize un arquivu "
 "esportáu proporcionáu pola comunidá de OSM."
 
@@ -14918,17 +14986,17 @@ msgid ""
 "server or you are using an invalid URL to access<br>it. Please carefully "
 "check the server''s address ''{0}'' for typos."
 msgstr ""
-"El servidor OSM ''{0}'' nun sabe alrodiu de un oxetu br<>qu'usté trató de "
-"lleer, actualizar o borrar. Puede ser que l'oxetu<br>nun esista nel servidor "
-"o que ta usando un URL non válidu p'aportar a él<br>. Por favor revise "
-"curioso la dirección del servidor ''{0}''."
+"El servidor OSM ''{0}'' nun sabe alrodiu de un oxetu <br>qu''usté trató de "
+"lleer, actualizar o borrar. Puede ser que l''oxetu<br>nun esista nel "
+"servidor o que ta usando un URL non válidu p''aportar a él<br>. Por favor "
+"revise curioso la dirección del servidor ''{0}''."
 
 msgid ""
 "<html>Failed to open a connection to the remote server<br>''{0}''.<br>Host "
 "name ''{1}'' could not be resolved. <br>Please check the API URL in your "
 "preferences and your internet connection."
 msgstr ""
-"<html>Falló l'apertura d'una conexón al servidor remotu br<>''{0}''.<br>El "
+"<html>Falló l''apertura d''una conexón al servidor remotu <br>''{0}''.<br>El "
 "nome del servidor ''{1}'' non pudo resolvese.<br>Compruebe la URL de la API "
 "nes sos preferencies y la so conexón a internet."
 
@@ -14940,8 +15008,8 @@ msgid ""
 msgstr ""
 "<html>El servidor reporta qu´un oxetu foi borráu.<br><strong>Falló la xubida "
 "de datos</strong> si usté taba tratando d´actualizar o borrar esti "
-"oxetu.<br> <strong>Falló la descarga /strong<> en casu de que tuviera "
-"intentando descargar esti oxetu br<><br>L´erru del mensaxe ye:<br>{0}</html>"
+"oxetu.<br> <strong>Falló la descarga</strong> en casu de que tuviera "
+"intentando descargar esti oxetu <br><br>L´erru del mensaxe ye:<br>{0}</html>"
 
 msgid "Unable to find translation for the locale {0}. Reverting to {1}."
 msgstr "Non puede atopase la traducción pal idioma {0}. Revertiendo a {1}."
@@ -15028,7 +15096,7 @@ msgid ""
 "A previous version of JOSM has installed a custom certificate in order to "
 "provide HTTPS support for Remote Control:"
 msgstr ""
-"Una versión previa de JOSM instaló un certificáu personalizáu p'aprovir "
+"Una versión previa de JOSM instaló un certificáu personalizáu p''aprovir "
 "soporte HTTPS pal Control Remotu:"
 
 msgid ""
@@ -15036,9 +15104,9 @@ msgid ""
 "going to be prompted by Windows to remove this insecure certificate.<br>For "
 "your own safety, <b>please click Yes</b> in next dialog."
 msgstr ""
-"Aparentemente podría haber un importante b <>riesgu de seguridá "
-"/b<>.<br><br>Agora Windows preguntará-y si deseya esaniciar esti certificáu "
-"inseguru.<br>Pola so propia seguridá b<>por favor faiga clic en sí</b> nel "
+"Aparentemente podría haber un importante <b>riesgu de seguridá "
+"</b>.<br><br>Agora Windows preguntará-y si deseya esaniciar esti certificáu "
+"inseguru.<br>Pola so propia seguridá <b>por favor faiga clic en sí</b> nel "
 "siguiente diálogu."
 
 msgid "Removing insecure certificate from {0} keystore: {1}"
@@ -15059,10 +15127,10 @@ msgid ""
 "next dialog.<br><br>If unsure, you can also click No then disable HTTPS "
 "support in Remote Control preferences."
 msgstr ""
-"El Control Remotu ta configuráu p'aprovir soporte a HTTPS.<br>Esto rique "
+"El Control Remotu ta configuráu p''aprovir soporte a HTTPS.<br>Esto rique "
 "añedir un certificáu personalizáu xeneráu por JOSM a la tienda de Windows "
 "Root CA.<br><br>Windows solicitará-y que confirme esta operación.<br>pa "
-"dexar el soporte apropiáu a HTTPS, b <>por favor faiga clic en sí</b> nel "
+"dexar el soporte apropiáu a HTTPS, <b>por favor faiga clic en sí</b> nel "
 "siguiente diálogu.<br><br>Si nun ta seguro, tamién puede faer clic en Non y "
 "de esa forma desactivar el soporte de HTTPS nes preferencies de Control "
 "Remotu."
@@ -15106,9 +15174,6 @@ msgstr ""
 "<html><p> Sentir, ye imposible pegar etiquetes dende la memoria. Nun contien "
 "nengún oxetu de JOSM o un testu fayadizu. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Arquivu bz2 inválidu"
-
 msgid "ms"
 msgstr "ms"
 
@@ -15160,7 +15225,7 @@ msgid "Ignoring malformed geometry: {0}"
 msgstr "Ignorando xeometría mal formada: {0}"
 
 msgid "Failed to load XML schema."
-msgstr "Erru al cargar l'esquema XML."
+msgstr "Erru al cargar l''esquema XML."
 
 msgid ""
 "Error in search expression on position {0} - right side of or(|) expression "
@@ -15211,7 +15276,7 @@ msgid ""
 "area, or use planet.osm"
 msgstr ""
 "Solicitó demasiaos nodos (>50.000). Descargue un área más pequena o use "
-"l'arquivu planet.osm"
+"l''arquivu planet.osm"
 
 msgid "Database offline for maintenance"
 msgstr "La base de datos ta fora de llínea por caltenimientu"
@@ -15224,16 +15289,16 @@ msgid ""
 "request a smaller area, or use planet.osm"
 msgstr ""
 "El tamañu máximu de bbox (cuadru de llende) ye de 0,25 y la so solicitú foi "
-"demasiáu grande. Solicite un área más pequena o utilice l'arquivu planet.osm"
+"demasiáu grande. Solicite un área más pequena o utilice l''arquivu planet.osm"
 
 msgid "JOSM-Trac login at josm.openstreetmap.de"
 msgstr "Ingresu con JOSM-Trac en josm.openstreetmap.de"
 
 msgid "could not get audio input stream from input URL"
-msgstr "Nun ye posible llograr un fluxu d'audiu dende la URL"
+msgstr "Nun ye posible llograr un fluxu d''audiu dende la URL"
 
 msgid "Audio Device Unavailable"
-msgstr "Dispositivu d'audiu non disponible"
+msgstr "Dispositivu d''audiu non disponible"
 
 msgid "You must make your edits public to upload new data"
 msgstr "Tien de facer públiques les sos ediciones pa xubir nuevos datos"
@@ -15368,10 +15433,10 @@ msgid "Attributes"
 msgstr "Atributos"
 
 msgid "Abort file chooser dialog"
-msgstr "Atayar el diálogu d'elección d'arquivu"
+msgstr "Atayar el diálogu d''elección d''arquivu"
 
 msgid "Abort file chooser dialog."
-msgstr "Diálogu d'elección d'arquivu p'atayar"
+msgstr "Diálogu d''elección d''arquivu p''atayar"
 
 msgid "Create New Folder"
 msgstr "Crear Nuevu Directoriu"
@@ -15398,7 +15463,7 @@ msgid "File Name:"
 msgstr "Nome de ficheru:"
 
 msgid "FileChooser help."
-msgstr "Ayuda d'elección de ficheru"
+msgstr "Ayuda d''elección de ficheru"
 
 msgid "Files"
 msgstr "Ficheros"
@@ -15503,13 +15568,13 @@ msgid ""
 msgstr ""
 "Arrexunta les entraes comunes de ''Interpolación de direcciones'' nun mesmu "
 "cuadru de diálogu, según una opción pa xenerar automáticamente los nodos "
-"individuales de los númberos de portal d'una vía."
+"individuales de los númberos de portal d''una vía."
 
 msgid ""
 "Makes a pair of selected way segments parallel by rotating one of them "
 "around a chosen pivot."
 msgstr ""
-"Allinia una par de segmentos de víes escoyíos faciendo xirar unu d'ellos "
+"Allinia una par de segmentos de víes escoyíos faciendo xirar unu d''ellos "
 "alredor del designáu como pivós."
 
 msgid ""
@@ -15535,7 +15600,7 @@ msgid ""
 msgstr ""
 "Superpón la rexilla de telesa canvec nel mapa ya imprime les URL a los "
 "arquivos .zip. Oxetivos futuros: dexar la descarga y carga automática "
-"d'arquivos canvec .osm"
+"d''arquivos canvec .osm"
 
 msgid ""
 "Allows the user to create different color schemes and to switch between "
@@ -15544,9 +15609,9 @@ msgid ""
 "sunlight. See dialog in display preferences."
 msgstr ""
 "Dexa al usuariu crear esquemes de color distintos pa poder intercambiar ente "
-"ellos. Escueya'l colores y cree un nuevu esquema. Usáu pa intercambiar con "
+"ellos. Escueya''l colores y cree un nuevu esquema. Usáu pa intercambiar con "
 "un fondu blancu y colories acordes pa una visibilidá mayor so una redolada "
-"de lluz solar. Consulte'l diálogu nes preferencies de visualización."
+"de lluz solar. Consulte''l diálogu nes preferencies de visualización."
 
 msgid ""
 "Imports proprietary CSV files of the Columbus/Visiontac V-900 GPS logger "
@@ -15560,7 +15625,7 @@ msgid ""
 "standard commands (arc, circle etc.)"
 msgstr ""
 "Implementa una llínea de comandos y dexa crear los tos comandos. Vea "
-"l'enllaz pa los comandos estándar (arcu, círculu, etc)"
+"l''enllaz pa los comandos estándar (arcu, círculu, etc)"
 
 msgid "(Warning: Experimental!) Tool for conflating (merging) data."
 msgstr "(Peligru: ¡Esperimental!) Ferramienta pa fusionar (entemecer) datos."
@@ -15601,7 +15666,7 @@ msgstr ""
 
 msgid "Shows the elevation profile and some statistical data of a GPX track."
 msgstr ""
-"Amuesa'l perfil d'elevación y dellos datos estadísticos d'una traza GPX"
+"Amuesa''l perfil d''elevación y dellos datos estadísticos d''una traza GPX"
 
 msgid "Handling of French EPCIs (boundary=local_authority)"
 msgstr "Xestión de EPCIs franceses (llende = autoridá local)"
@@ -15614,7 +15679,7 @@ msgstr "Dibuxu rápidu de víes col ratón"
 
 msgid "Finds and fixes invalid street addresses in a comfortable way."
 msgstr ""
-"Identifica y corrixe les direcciones de cais non válides d'un mou cómodu."
+"Identifica y corrixe les direcciones de cais non válides d''un mou cómodu."
 
 msgid ""
 "Talk with users editing the map nearby, be notified when someone comes close."
@@ -15633,7 +15698,7 @@ msgstr ""
 msgid ""
 "Download GPS points from Globalsat dg100 data logger directly in JOSM."
 msgstr ""
-"Descargar puntos GPS dende'l rexistrador de datos GlobalSat DG100 "
+"Descargar puntos GPS dende''l rexistrador de datos GlobalSat DG100 "
 "directamente en JOSM"
 
 msgid ""
@@ -15652,33 +15717,34 @@ msgid "Simple tool to tag house numbers."
 msgstr "Cenciella ferramienta pa etiquetar númberos de cases."
 
 msgid "Generate Imagery XML bounds from a multipolygon"
-msgstr "Xenera imagen XML a partir de les llendes d'un multipolígono"
+msgstr "Xenera imagen XML a partir de les llendes d''un multipolígono"
 
 msgid ""
 "Database of imagery offsets: share and aquire imagery offsets with one "
 "button."
 msgstr ""
-"Base de datos d'imaxes rectificaes: comparte y llogra por aciu un botón "
+"Base de datos d''imaxes rectificaes: comparte y llogra por aciu un botón "
 "imaxes aérees movíes yá compensaes."
 
 msgid "WMSPlugin-style imagery adjustment mapmode"
-msgstr "Mou de mapa con axuste d'imaxes aérees por aciu el WMSPlugin-style"
+msgstr "Mou de mapa con axuste d''imaxes aérees por aciu el WMSPlugin-style"
 
 msgid ""
 "This experimental plugin allows JOSM to store tile cache in database files, "
 "not in huge cache directories"
 msgstr ""
 "Esti componente esperimental dexa a JOSM almacenar el caxé de teseles "
-"n'arquivos de base de datos, non en grandes directorios de caxé."
+"n''arquivos de base de datos, non en grandes directorios de caxé."
 
 msgid ""
 "Another plugin to match images to the waypoints in a GPX file. A match is "
 "made when the ''name'', ''cmt'' or ''desc'' attribute of a waypoint tag "
 "matches the filename of an image."
 msgstr ""
-"Componente pa faer coincidir les fotografíes colos puntos d'interés recoyíos "
-"nun arquivu GPX. La correlación produzse cuando los atributos ''name'', "
-"''cmt'' o ''desc'' d'un puntu coinciden col nome del arquivu d'una imaxe."
+"Componente pa faer coincidir les fotografíes colos puntos d''interés "
+"recoyíos nun arquivu GPX. La correlación produzse cuando los atributos "
+"''name'', ''cmt'' o ''desc'' d''un puntu coinciden col nome del arquivu "
+"d''una imaxe."
 
 msgid "Plugin for importing spatial referenced images"
 msgstr "Componente pa importar imaxes georreferenciaes"
@@ -15716,16 +15782,16 @@ msgid ""
 msgstr ""
 "Corrector de conexones utilizáu pa la busca y revisión de cruces de la rede "
 "de carreteres de OSM. El componente nun funcionar colos datos de OSM "
-"orixinales, sinón qu'estos se tresformen nuna canal de digrafos."
+"orixinales, sinón qu''estos se tresformen nuna canal de digrafos."
 
 msgid "Helps vectorizing WMS images."
-msgstr "Ayuda a vectorizar imaxes d'un serviciu WMS"
+msgstr "Ayuda a vectorizar imaxes d''un serviciu WMS"
 
 msgid ""
 "Support live GPS input (moving dot) through a connection to gpsd server."
 msgstr ""
-"Soporte GPS pa dispositivos d'entrada (puntu en movimientu) al traviés d'una "
-"conexón con un servidor DSGP."
+"Soporte GPS pa dispositivos d''entrada (puntu en movimientu) al traviés "
+"d''una conexón con un servidor DSGP."
 
 msgid ""
 "Provides the Log4j library for other JOSM plugins. Not meant to be installed "
@@ -15733,16 +15799,16 @@ msgid ""
 msgstr ""
 "Apurre la biblioteca Log4j pa otros componentes de JOSM. Nun se pretende que "
 "sía instaláu directamente polos usuarios, sinón más bien que sirva como una "
-"dependencia d'otros componentes."
+"dependencia d''otros componentes."
 
 msgid ""
 "The MapDust Plug-In shows the MapDust bug reports on the map. You can "
 "create, close,invalidate, re-open and comment bug reports by using this "
 "plugin."
 msgstr ""
-"El componente MapDust amuesa los informes d'erros del mapa recoyíos nel "
+"El componente MapDust amuesa los informes d''erros del mapa recoyíos nel "
 "sitiu web de MapDust. Puede crear, pesllar, invalidar, reabrir y comentar "
-"los informes d'erros esistentes por aciu l'usu d'esti componente."
+"los informes d''erros esistentes por aciu l''usu d''esti componente."
 
 msgid ""
 "Provide a measurement dialog and a layer to measure length and angle of "
@@ -15763,7 +15829,7 @@ msgid "Simplifies download from different read-only APIs."
 msgstr "Simplifica la descarga dende distintes APIs de namá llectura."
 
 msgid "Allows to attribute tags to all objects in any selected area at once"
-msgstr "Dexa asignar al empar etiquetes a tolos oxetos d'una área escoyida."
+msgstr "Dexa asignar al empar etiquetes a tolos oxetos d''una área escoyida."
 
 msgid "NanoLog adjustment and browsing layer"
 msgstr "Axuste NanoLog y capa de navegación"
@@ -15772,14 +15838,14 @@ msgid ""
 "Use your system''s password manager to store the API username and password. "
 "(KWallet and gnome-keyring are supported.)"
 msgstr ""
-"Utiliza l'alministrador de claves del sistema p'almacenar el nome d'usuariu "
-"y contraseña (ye compatible con KWallet y GNOME Keyring.)"
+"Utiliza l''alministrador de claves del sistema p''almacenar el nome "
+"d''usuariu y contraseña (ye compatible con KWallet y GNOME Keyring.)"
 
 msgid ""
 "Disallow using JOSM forever (WARNING: this plugin prevents JOSM from loading "
 "and is hard to rid of)"
 msgstr ""
-"Evacuar de forma permanente l'usu de JOSM (ALVERTENCIA: esti complementu "
+"Evacuar de forma permanente l''usu de JOSM (ALVERTENCIA: esti complementu "
 "torga que JOSM execútese y ye complicáu de desfaer)"
 
 msgid "Convert data from Open Data portals to OSM layer"
@@ -15790,7 +15856,7 @@ msgstr ""
 
 msgid "extended options for editing opening_hours"
 msgstr ""
-"Opciones estendíes pa editar l'horariu d'apertura d'establecimientos y "
+"Opciones estendíes pa editar l''horariu d''apertura d''establecimientos y "
 "llugares"
 
 msgid ""
@@ -15821,8 +15887,8 @@ msgid ""
 "right click menu of the image layer."
 msgstr ""
 "Amiesta información sobre la posición del GPS na cabecera del arquivu "
-"d'imaxe. Apuerte a esta característica pulsiando'l botón derechu del mure "
-"sobre la capa d'imaxe."
+"d''imaxe. Apuerte a esta característica pulsiando''l botón derechu del mure "
+"sobre la capa d''imaxe."
 
 msgid "Make photos movable and position them on the map."
 msgstr "Faer que les semeyes sían movibles y asitiales nel mapa"
@@ -15848,7 +15914,7 @@ msgid "Read and write osmosis poly filter files"
 msgstr "Lleer y escribir los arquivos de filtru osmosis poly"
 
 msgid "Adds map printing to JOSM"
-msgstr "Añede la posibilidá d'impresión del mapa a JOSM"
+msgstr "Añede la posibilidá d''impresión del mapa a JOSM"
 
 msgid "adds projections from Proj4J"
 msgstr ""
@@ -15857,11 +15923,11 @@ 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 "
+"Esti componente simplifica''l cartografiáu y edición de rutes de tresportes "
 "públicos."
 
 msgid "Relation and multipolygon creating and editing panel."
-msgstr "Panel d'edición y creación de multipolígonos y relación"
+msgstr "Panel d''edición y creación de multipolígonos y relación"
 
 msgid "Plugin for reverting changesets"
 msgstr "Componente pa revertir conxuntos de cambeos"
@@ -15872,7 +15938,7 @@ msgid ""
 "properties window. Available country presets: Germany, Poland, Slovakia, "
 "Spain."
 msgstr ""
-"Componente pal etiquetáu d'oxetos en función d'una selección de señales de "
+"Componente pal etiquetáu d''oxetos en función d''una selección de señales de "
 "tráficu. El cuadru de diálogu puede abrir faciendo clic nun pequenu iconu de "
 "la esquina cimera derecha de la ventana de propiedaes. Predefinidos "
 "disponibles de los países: Alemaña, Polonia, Eslovaquia, España."
@@ -15886,7 +15952,7 @@ msgstr ""
 "de complementos"
 
 msgid "Provides routing capabilities."
-msgstr "Apurre capacidaes d'enrutamientu."
+msgstr "Apurre capacidaes d''enrutamientu."
 
 msgid "Loads data from SDS"
 msgstr "Carga datos dende SDS"
@@ -15895,8 +15961,8 @@ msgid ""
 "Simplify area by removing nodes on very obtuse angles. This can be "
 "constrained by maximum removed area size. Also average nearby nodes."
 msgstr ""
-"Simplifica árees por aciu la eliminación de nodos n'ángulos bien obtusos. "
-"Esto puede condicionase al tamañu d'área máximu a esaniciar. Fai amás un "
+"Simplifica árees por aciu la eliminación de nodos n''ángulos bien obtusos. "
+"Esto puede condicionase al tamañu d''área máximu a esaniciar. Fai amás un "
 "promediu de los nodos cercanos."
 
 msgid "Edit features for OpenSeaMap"
@@ -15909,19 +15975,19 @@ msgid ""
 "Launch browser to a Web resource about a selected object having known tags, "
 "such as Wikipedia"
 msgstr ""
-"Empecipia'l navegador amosando un recursu Web avera del oxetu escoyíu "
+"Empecipia''l navegador amosando un recursu Web avera del oxetu escoyíu "
 "recoyíu nes etiquetes, tales como la Wikipedia."
 
 msgid "Provides a dialog for editing tags in a tabular grid."
 msgstr ""
-"Apurre un cuadru de diálogu pa la edición d'etiquetes nuna rejilla tabular."
+"Apurre un cuadru de diálogu pa la edición d''etiquetes nuna rejilla tabular."
 
 msgid ""
 "Adds a tagging preset tester to the help menu, which helps you developing of "
 "tagging presets (quick preview of the dialog that will popup). You can start "
 "the jar-file as standalone as well."
 msgstr ""
-"Apurre botones d'ayuda pa dexar trabayar con un únicu botón de mure (mou "
+"Apurre botones d''ayuda pa dexar trabayar con un únicu botón de mure (mou "
 "stylus). Actívelo calteniendo pulsiada la tecla T y moviendo el mapa col "
 "botón esquierdu del mure."
 
@@ -15932,7 +15998,7 @@ msgid ""
 "Provides helper buttons to allow working with single button mouse (stylus). "
 "Activate by holding T and slip map with left mouse button"
 msgstr ""
-"Apurre botones d'ayuda pa dexar trabayar con un únicu botón de mure (mou "
+"Apurre botones d''ayuda pa dexar trabayar con un únicu botón de mure (mou "
 "stylus). Actívelo calteniendo pulsiada la tecla T y moviendo el mapa col "
 "botón esquierdu del mure."
 
@@ -15947,7 +16013,7 @@ msgid ""
 "Traces buildings and other shapes from a map. Needs Tracer2Server to be "
 "running."
 msgstr ""
-"Traza edificios y otres figures a partir d'un mapa. Precisa que "
+"Traza edificios y otres figures a partir d''un mapa. Precisa que "
 "Tracer2Server tea executándose."
 
 msgid "Plugin to digital sign OSM-Data"
@@ -15959,15 +16025,15 @@ msgstr ""
 msgid ""
 "Provides a straightforward GUI for adding, editing and deleting turn lanes."
 msgstr ""
-"Apurre una senciella interfaz gráfica d'usuariu p'amestar, editar y suprimir "
-"carriles de xiru."
+"Apurre una senciella interfaz gráfica d''usuariu p''amestar, editar y "
+"suprimir carriles de xiru."
 
 msgid ""
 "The turnrestrictions plugin allows to enter maintain information about turn "
 "restrictions in the OpenStreetMap database."
 msgstr ""
-"El complementu turnrestrictions facilita la introducción d'información sobre "
-"restricciones de xiru a la base de datos OpenStreetMap."
+"El complementu turnrestrictions facilita la introducción d''información "
+"sobre restricciones de xiru a la base de datos OpenStreetMap."
 
 msgid "Allows undeleting object from OSM database"
 msgstr "Dexa recuperar un oxetu esaniciáu dende la base de datos OSM"
@@ -15981,7 +16047,7 @@ msgid ""
 "objects."
 msgstr ""
 "(¡Esti componente anguaño ye un trabayu en desenvolvimientu!) Enllaza y "
-"sincroniza un vídeu georreferenciáu afaciéndolo a'l so posición na traza "
+"sincroniza un vídeu georreferenciáu afaciéndolo a''l so posición na traza "
 "GPS. Preséu pa identificar oxetos visibles."
 
 msgid ""
@@ -15993,25 +16059,25 @@ msgstr ""
 
 msgid "Easy downloading along a long set of interconnected ways"
 msgstr ""
-"Descargar fácilmente a lo llargo d'una llarga serie de víes interconectaes"
+"Descargar fácilmente a lo llargo d''una llarga serie de víes interconectaes"
 
 msgid "Enables searching for waypoint imported from gpx file."
 msgstr ""
-"Habilitar busca pa puntos de referencies (waypoints) importaos d'un arquivu "
+"Habilitar busca pa puntos de referencies (waypoints) importaos d''un arquivu "
 "gpx."
 
 msgid "Select a sequence of non-branching connected ways"
 msgstr "Escueye una secuencia de víes conectaes non ramificaes"
 
 msgid "Simplifies linking OSM objects to Wikipedia articles"
-msgstr "Simplifica la vinculación d'oxetos OSM con artículos de Wikipedia"
+msgstr "Simplifica la vinculación d''oxetos OSM con artículos de Wikipedia"
 
 msgid ""
 "Drive a race car from point A to point B over aerial imagery, leave cacti "
 "behind."
 msgstr ""
-"Conduz un coche de carreres dende'l puntu A al B sobre una imaxe aérea. Dexa "
-"a los cactus tras..."
+"Conduz un coche de carreres dende''l puntu A al B sobre una imaxe aérea. "
+"Dexa a los cactus tras..."
 
 msgid "Surface"
 msgstr "Superficie"
@@ -16259,7 +16325,7 @@ msgid "week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00"
 msgstr "selmana 1-53/2 V 09:00-12:00; selmana 2-52/2 Mi 09:00-12:00"
 
 msgid "Opening Hours"
-msgstr "Horariu d'apertura"
+msgstr "Horariu d''apertura"
 
 msgid "24/7"
 msgstr "24/7"
@@ -16439,7 +16505,7 @@ msgstr "h.oquei"
 
 msgctxt "sport"
 msgid "horse_racing"
-msgstr "carreres d'hípica"
+msgstr "carreres d''hípica"
 
 msgctxt "sport"
 msgid "motor"
@@ -16496,6 +16562,10 @@ msgstr "tenis"
 msgid "Coins"
 msgstr "Monedes"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Tarxetes de recarga y monederos electrónicos"
 
@@ -16573,7 +16643,7 @@ msgid "forestry"
 msgstr "forestal"
 
 msgid "Population"
-msgstr "Númberu d'habitantes"
+msgstr "Númberu d''habitantes"
 
 msgid "Post code"
 msgstr "Códigu postal"
@@ -16755,10 +16825,10 @@ msgid "kiosk"
 msgstr "gabinete"
 
 msgid "Start date"
-msgstr "Fecha d'entamu"
+msgstr "Fecha d''entamu"
 
 msgid "Output forms of energy:"
-msgstr "Formes de salida d'enerxía:"
+msgstr "Formes de salida d''enerxía:"
 
 msgid "biogas"
 msgstr "biogás"
@@ -16812,7 +16882,7 @@ msgid "Motorway"
 msgstr "Autopista"
 
 msgid "Motorway Link"
-msgstr "Enllaz d'autopista"
+msgstr "Enllaz d''autopista"
 
 msgid "Trunk"
 msgstr "Carretera principal"
@@ -16845,7 +16915,7 @@ msgid "Unclassified"
 msgstr "Carretera ensin clasificación"
 
 msgid "Passing Places"
-msgstr "Llugares d'encruz frecuente de la vía"
+msgstr "Llugares d''encruz frecuente de la vía"
 
 msgid "Residential"
 msgstr "Cai urbana"
@@ -16901,10 +16971,10 @@ msgid "alley"
 msgstr "caleyón"
 
 msgid "driveway"
-msgstr "camín d'entrada (a garage, casa, finca, etc.)"
+msgstr "camín d''entrada (a garage, casa, finca, etc.)"
 
 msgid "parking_aisle"
-msgstr "pasiellu d'aparcamientu"
+msgstr "pasiellu d''aparcamientu"
 
 msgid "drive-through"
 msgstr ""
@@ -16912,7 +16982,7 @@ msgstr ""
 "etc.)"
 
 msgid "Parking Aisle"
-msgstr "Pasiellu d'aparcamientu"
+msgstr "Pasiellu d''aparcamientu"
 
 msgid "Road (Unknown Type)"
 msgstr "Carretera (tipoloxía desconocida)"
@@ -16969,10 +17039,10 @@ msgid "Agricultural"
 msgstr "Agrícola"
 
 msgid "Emergency vehicles"
-msgstr "Vehículos d'emerxencia"
+msgstr "Vehículos d''emerxencia"
 
 msgid "High-occupancy vehicles (hov)"
-msgstr "Vehículos d'alta ocupación (VAO)"
+msgstr "Vehículos d''alta ocupación (VAO)"
 
 msgid "Public Service Vehicles (psv)"
 msgstr "Vehículos de serviciu públicu (SP)"
@@ -17120,7 +17190,7 @@ msgid ""
 "jagged rocks"
 msgstr ""
 "llugares espuestos aseguraos con cuerdes o cadenes, con posible necesidá "
-"d'utilizar les manos pa caltener l'equilibriu. Sitios parcialmente "
+"d''utilizar les manos pa caltener l''equilibriu. Sitios parcialmente "
 "comprometíos con peligru de cayida, pedregales, senderos con roques dentaes."
 
 msgid "T4 - difficult, exposed, steep alpine trail"
@@ -17130,7 +17200,7 @@ msgid ""
 "sometimes need for hand use to get ahead. Terrain quite exposed, precarious "
 "grassy acclivities, jagged rocks, facile snow-free glaciers"
 msgstr ""
-"n'ocasiones ye necesariu pal usu manual siguir alantre. Terrén bien "
+"n''ocasiones ye necesariu pal usu manual siguir alantre. Terrén bien "
 "espuestu, pindios con cubierta vexetal precaria, roques apuntiaes, glaciares "
 "llibres de nieve na superficie"
 
@@ -17141,7 +17211,7 @@ msgid ""
 "single plainly climbing up to second grade. Exposed, demanding terrain, "
 "jagged rocks, few dangerous glacier and snow"
 msgstr ""
-"esguilada senciella hasta'l segundu grau. Espuestu, terrén esixente, roques "
+"esguilada senciella hasta''l segundu grau. Espuestu, terrén esixente, roques "
 "dentaes, glaciar y nieve poco peligrosa."
 
 msgid "T6 - hazardous alpine trail with climbing"
@@ -17152,7 +17222,7 @@ msgid ""
 "glacier with danger to slip and fall"
 msgstr ""
 "esguilada de segundu grau. De cutiu bien espuesta, roques dentaes precaries, "
-"glaciar con peligru d'esnidiar y cayese"
+"glaciar con peligru d''esnidiar y cayese"
 
 msgid "Visibility"
 msgstr "Visibilidá"
@@ -17257,7 +17327,7 @@ msgid "Waypoints"
 msgstr "Nodos de vía"
 
 msgid "Motorway Junction"
-msgstr "Salida d'autopista"
+msgstr "Salida d''autopista"
 
 msgid "Number"
 msgstr "Númberu"
@@ -17275,16 +17345,16 @@ msgid "Rest Area"
 msgstr "Área de descansu"
 
 msgid "Drinking Water"
-msgstr "Fonte d'agua potable"
+msgstr "Fonte d''agua potable"
 
 msgid "Traffic Signal"
 msgstr "Semáforu"
 
 msgid "Optional crossing attributes:"
-msgstr "Atributos opcionales d'encruz:"
+msgstr "Atributos opcionales d''encruz:"
 
 msgid "Pedestrian crossing type"
-msgstr "Tipu d'encruz piatonal"
+msgstr "Tipu d''encruz piatonal"
 
 msgid "uncontrolled"
 msgstr "ensin supervisión"
@@ -17299,7 +17369,7 @@ msgid "unmarked"
 msgstr "ensin marcar"
 
 msgid "Crossing type name (UK)"
-msgstr "Tipu de nome d'encruz (Reinu Uníu)"
+msgstr "Tipu de nome d''encruz (Reinu Uníu)"
 
 msgid "zebra"
 msgstr "cebra"
@@ -17334,11 +17404,14 @@ msgstr "Encruz de bicicletes"
 msgid "Cross on horseback"
 msgstr "Encruz de caballos"
 
+msgid "Optional values for specific countries"
+msgstr "Valores opcionales pa países específicos"
+
 msgid "Stop"
 msgstr "Stop"
 
 msgid "Give Way"
-msgstr "Dexe'l pasu"
+msgstr "Dexe''l pasu"
 
 msgid "Mini-Roundabout"
 msgstr "Mini-rotonda"
@@ -17374,7 +17447,7 @@ msgid "table"
 msgstr "plataforma elevada"
 
 msgid "Passing Place"
-msgstr "Llugar d'encruz frecuente de la vía"
+msgstr "Llugar d''encruz frecuente de la vía"
 
 msgid "Turning Circle"
 msgstr "Círculu de xiru"
@@ -17391,6 +17464,18 @@ msgstr "Nome alternativu"
 msgid "Speed Camera"
 msgstr "Rádar de tráficu"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Ascensor"
 
@@ -17422,7 +17507,7 @@ msgid "Bollard type"
 msgstr "Tipu de bolardu"
 
 msgid "rising"
-msgstr "n'ascensu"
+msgstr "n''ascensu"
 
 msgid "removable"
 msgstr "removible"
@@ -17440,7 +17525,7 @@ msgid "Bus Trap"
 msgstr "Trampa pa coches"
 
 msgid "Spikes"
-msgstr "Resorte con pinchos (pal control d'accesu unidireccional)"
+msgstr "Resorte con pinchos (pal control d''accesu unidireccional)"
 
 msgid "Toll Booth"
 msgstr "Cabina de peaxe"
@@ -17464,7 +17549,7 @@ msgid "Fence"
 msgstr "Valla o cerca"
 
 msgid "barbed_wire"
-msgstr "alambre d'espín"
+msgstr "alambre d''espín"
 
 msgid "chain_link"
 msgstr "cadena"
@@ -17528,7 +17613,7 @@ msgstr "Portiella de malla metálica"
 
 msgid "Bump Gate"
 msgstr ""
-"Puerta de golpe (en finques ganaderes, que s'abrir ensin salir del vehículu)"
+"Puerta de golpe (en finques ganaderes, que s''abrir ensin salir del vehículu)"
 
 msgid "Kissing Gate"
 msgstr "Portiella xiratoria"
@@ -17558,7 +17643,7 @@ msgid "Passageways"
 msgstr "Pasaxes"
 
 msgid "Building Passage"
-msgstr "Pasaxe per interior d'edificiu"
+msgstr "Pasaxe per interior d''edificiu"
 
 msgid "Arcade"
 msgstr "Arcada (portalada de arquería, galería, claustru, etc.)"
@@ -17576,7 +17661,7 @@ msgid "Avalanche Protector"
 msgstr "Falsu túnel contra ábanos"
 
 msgid "Water"
-msgstr "Llámina d'agua"
+msgstr "Llámina d''agua"
 
 msgid "Drain"
 msgstr "Desaguadoriu"
@@ -17604,7 +17689,7 @@ msgid ""
 "underground."
 msgstr ""
 "Un puntu nel cual les agües soterrañes flúin de forma natural a la "
-"superficie dende l'interior de la tierra."
+"superficie dende l''interior de la tierra."
 
 msgid "Waterfall"
 msgstr "Cascada"
@@ -17631,13 +17716,13 @@ msgid "Reservoir"
 msgstr "Banzáu"
 
 msgid "Covered Reservoir"
-msgstr "Depósitu d'agua"
+msgstr "Depósitu d''agua"
 
 msgid "A body of standing water, such as a lake or pond."
-msgstr "Un cuerpu d'agua enllancada, tal como un llagu o un estanque."
+msgstr "Un cuerpu d''agua enllancada, tal como un llagu o un estanque."
 
 msgid "Water Body"
-msgstr "Cuerpu d'agua"
+msgstr "Cuerpu d''agua"
 
 msgid "canal"
 msgstr "canal"
@@ -17664,14 +17749,15 @@ msgid "Salt Water"
 msgstr "Agua Salao"
 
 msgid "Is the water body intermittent (disappears seasonally)?"
-msgstr "¿Ye la masa d'agua intermitente (sumi estacionalmente)?"
+msgstr "¿Ye la masa d''agua intermitente (sumi estacionalmente)?"
 
 msgid "Coastline"
 msgstr "Llínea de mariña"
 
 msgid ""
 "Line between the sea and land (with the water on the right side of the way)."
-msgstr "Llínea ente'l mar y la tierra (col agua nel llau derechu de la vía)."
+msgstr ""
+"Llínea ente''l mar y la tierra (col agua nel llau derechu de la vía)."
 
 msgid "Riverbank"
 msgstr "Ribera (pa veres de ríos anchos)"
@@ -17729,7 +17815,7 @@ msgstr "Badea"
 msgid ""
 "A large body of water partially enclosed by land but with a wide mouth."
 msgstr ""
-"Un gran cuerpu d'agua parcialmente cerráu per tierra pero con una gran boca."
+"Un gran cuerpu d''agua parcialmente cerráu per tierra pero con una gran boca."
 
 msgid "Cliff"
 msgstr "Cantil"
@@ -17738,8 +17824,9 @@ msgid ""
 "A steep rock face exposure, with a significant vertical, or near vertical "
 "(leave the lower face to the right of the way)."
 msgstr ""
-"Esposición de la cara empinada d'una piedra, con una vertical significativa, "
-"o casi vertical (dexar la cara inferior a la derecha de la vía)."
+"Esposición de la cara empinada d''una piedra, con una vertical "
+"significativa, o casi vertical (dexar la cara inferior a la derecha de la "
+"vía)."
 
 msgid "Shipping"
 msgstr "Saléu"
@@ -17840,7 +17927,7 @@ msgid "Tram"
 msgstr "Tranvía"
 
 msgid "Bus Guideway"
-msgstr "Vía p'autobús empuestu"
+msgstr "Vía p''autobús empuestu"
 
 msgid "Disused Rail"
 msgstr "Vía de fierrocarril en desusu"
@@ -18149,13 +18236,13 @@ msgid "Wash"
 msgstr "Llimpieza"
 
 msgid "Car Dealer"
-msgstr "Concesionariu d'automóviles"
+msgstr "Concesionariu d''automóviles"
 
 msgid "Repair"
 msgstr "Taller"
 
 msgid "Parts"
-msgstr "Componentes d'automóvil"
+msgstr "Componentes d''automóvil"
 
 msgid "Tires"
 msgstr "Ruedes"
@@ -18251,11 +18338,11 @@ msgid "Bicycles are rented"
 msgstr "Arriéndense bicicletes"
 
 msgid "Free bicycle pump"
-msgstr "Serviciu gratuitu de compresor d'aire"
+msgstr "Serviciu gratuitu de compresor d''aire"
 
 msgid "Tools for do-it-yourself repair (may be a bike co-operative)"
 msgstr ""
-"Ferramientes pa realizar l'arreglu unu mesmu (pue ser una cooperativa de "
+"Ferramientes pa realizar l''arreglu unu mesmu (pue ser una cooperativa de "
 "bicicletes)"
 
 msgid "Bicycles are washed (for a fee)"
@@ -18381,7 +18468,7 @@ msgid "Bus"
 msgstr "Autobús"
 
 msgid "Bus stop (legacy)"
-msgstr "Parada d'autobús (etiqueta en desusu)"
+msgstr "Parada d''autobús (etiqueta en desusu)"
 
 msgid "Tram stop (legacy)"
 msgstr "Parada de tranvía (etiqueta en desusu)"
@@ -18478,16 +18565,16 @@ msgid "Reference (track number)"
 msgstr "Referencia (númberu de pista)"
 
 msgid "Bus Station"
-msgstr "Estación d'autobús"
+msgstr "Estación d''autobús"
 
 msgid "Bus Stop"
-msgstr "Parada d'autobús"
+msgstr "Parada d''autobús"
 
 msgid "Tactile Paving"
 msgstr "Pavimentu táctil"
 
 msgid "Bus Platform"
-msgstr "Andén d'autobús"
+msgstr "Andén d''autobús"
 
 msgid "Taxi"
 msgstr "Taxi"
@@ -18496,7 +18583,7 @@ msgid "Airport"
 msgstr "Aeropuertu"
 
 msgid "Airport Ground"
-msgstr "Campu d'aviación"
+msgstr "Campu d''aviación"
 
 msgid "IATA"
 msgstr "IATA"
@@ -18511,10 +18598,10 @@ msgid "Taxiway"
 msgstr "Pista de rodaxe"
 
 msgid "Helipad"
-msgstr "Pista d'aterrizaxe d'helicópteros"
+msgstr "Pista d''aterrizaxe d''helicópteros"
 
 msgid "Apron"
-msgstr "Plataforma d'estacionamientu"
+msgstr "Plataforma d''estacionamientu"
 
 msgid "Hangar"
 msgstr "Hangar"
@@ -18566,13 +18653,13 @@ msgid "Number of places"
 msgstr "Númberu de places"
 
 msgid "Power supply"
-msgstr "Fonte d'alimentación"
+msgstr "Fonte d''alimentación"
 
 msgid "Tents allowed"
 msgstr "Permítense tiendes de campaña"
 
 msgid "Camping Site"
-msgstr "Llugar d'acampada"
+msgstr "Llugar d''acampada"
 
 msgid "Food+Drinks"
 msgstr "Comida+Bebíes"
@@ -18668,7 +18755,7 @@ msgid "Night Club"
 msgstr "Club nocherniegu"
 
 msgid "Strip Club"
-msgstr "Club d'alterne (striptease)"
+msgstr "Club d''alterne (striptease)"
 
 msgid "Tourism"
 msgstr "Turismu"
@@ -18683,10 +18770,10 @@ msgid "Look-Out Tower"
 msgstr "Torre de vixía"
 
 msgid "Information Office"
-msgstr "Oficina d'información"
+msgstr "Oficina d''información"
 
 msgid "An office where you can get information about a town or region."
-msgstr "Una oficina onde s'ufierta información sobre una ciudá o rexón."
+msgstr "Una oficina onde s''ufierta información sobre una ciudá o rexón."
 
 msgid "Map"
 msgstr "Mapa"
@@ -18707,7 +18794,7 @@ msgid "scheme"
 msgstr "esquema"
 
 msgid "toposcope"
-msgstr "toposcopiu (pilar d'orientación)"
+msgstr "toposcopiu (pilar d''orientación)"
 
 msgid "Shown Area"
 msgstr "Área amosada"
@@ -18752,7 +18839,7 @@ msgid "A board with information."
 msgstr "Un panel con información."
 
 msgid "Board Content"
-msgstr "Tablón d'anuncios"
+msgstr "Tablón d''anuncios"
 
 msgid "notice"
 msgstr "avisu"
@@ -18780,10 +18867,10 @@ msgid ""
 msgstr "Una señal o cartelu pa indicar les direcciones a distintos destinos."
 
 msgid "Information Terminal"
-msgstr "Puntu d'información"
+msgstr "Puntu d''información"
 
 msgid "Information access via electronic methods."
-msgstr "Información d'accesu por métodos electrónicos."
+msgstr "Información d''accesu por métodos electrónicos."
 
 msgid "Closer description"
 msgstr "Descripción detallada"
@@ -18801,7 +18888,7 @@ msgid "Phone number"
 msgstr "Númberu de teléfonu"
 
 msgid "Other Information Point"
-msgstr "Otros puntos d'información"
+msgstr "Otros puntos d''información"
 
 msgid "Leisure"
 msgstr "Ociu"
@@ -18822,7 +18909,7 @@ msgid "wall"
 msgstr "muriu"
 
 msgid "Amusement/Theme Park"
-msgstr "Parque d'atracciones"
+msgstr "Parque d''atracciones"
 
 msgid "Water Park"
 msgstr "Parque acuáticu"
@@ -18845,6 +18932,9 @@ msgstr "Zona de picnic"
 msgid "Fireplace"
 msgstr "Barbacoa"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Barbacoa pública"
 
@@ -18877,10 +18967,10 @@ msgid "Library"
 msgstr "Biblioteca"
 
 msgid "Arts Centre"
-msgstr "Centru d'arte"
+msgstr "Centru d''arte"
 
 msgid "Artwork"
-msgstr "Obra d'arte"
+msgstr "Obra d''arte"
 
 msgid "mural"
 msgstr "mural"
@@ -18910,7 +19000,7 @@ msgid "Church"
 msgstr "Ilesia"
 
 msgid "Building type"
-msgstr "Tipu d'edificiu"
+msgstr "Tipu d''edificiu"
 
 msgid "basilica"
 msgstr "basílica"
@@ -19094,7 +19184,7 @@ msgid "Education"
 msgstr "Educación"
 
 msgid "Kindergarten"
-msgstr "Xardín d'infancia"
+msgstr "Xardín d''infancia"
 
 msgid "School"
 msgstr "Colexu"
@@ -19103,7 +19193,7 @@ msgid "University"
 msgstr "Universidá"
 
 msgid "College"
-msgstr "Institutu d'enseñanza secundaria"
+msgstr "Institutu d''enseñanza secundaria"
 
 msgid "Driving School"
 msgstr "Autoescuela"
@@ -19153,7 +19243,7 @@ msgid "Baby Hatch/Safe Haven"
 msgstr "Abelugu pa ñácaros"
 
 msgid "Emergency Access Point"
-msgstr "Puntu d'accesu pa emerxencies"
+msgstr "Puntu d''accesu pa emerxencies"
 
 msgid "Point Number"
 msgstr "Númberu de puntu"
@@ -19171,7 +19261,7 @@ msgid "Toilets/Restrooms"
 msgstr "Baños"
 
 msgid "Access rights"
-msgstr "Permisos d'accesu"
+msgstr "Permisos d''accesu"
 
 msgid "public"
 msgstr "públicu"
@@ -19192,7 +19282,7 @@ msgid "bucket"
 msgstr "balde"
 
 msgid "Usage Position"
-msgstr "Posición d'usu"
+msgstr "Posición d''usu"
 
 msgid "seated"
 msgstr "sentáu"
@@ -19225,7 +19315,7 @@ msgid "Mo-Fr 09:00-12:00,17:15; Sa 14:00; Su,PH off"
 msgstr "Llu-Vi 09:00-12:00,17:15; Sá 14:00; Do,festivos zarráu"
 
 msgid "Drive through"
-msgstr "Utilizable dende'l volante"
+msgstr "Utilizable dende''l volante"
 
 msgid "Telephone"
 msgstr "Teléfonu"
@@ -19234,7 +19324,7 @@ msgid "Telephone cards"
 msgstr "Tarxetes telefóniques"
 
 msgid "Emergency Phone"
-msgstr "Teléfonu d'emerxencia"
+msgstr "Teléfonu d''emerxencia"
 
 msgid "Internet Access"
 msgstr "Accesu a Internet"
@@ -19243,7 +19333,7 @@ msgid "Automated Defibrillator"
 msgstr "Desfibrilador automáticu"
 
 msgid "Located inside a building?"
-msgstr "¿Allugáu dientro d'un edificiu?"
+msgstr "¿Allugáu dientro d''un edificiu?"
 
 msgid "Last check date (YYYY-MM-DD)"
 msgstr "Última fecha de verificación (YYYY-MM-DD)"
@@ -19298,7 +19388,7 @@ msgid "street (up to 20m)"
 msgstr "vial (hasta 20 m)"
 
 msgid "area (more than 20m)"
-msgstr "d'área (hasta 20 m)"
+msgstr "d''área (hasta 20 m)"
 
 msgid "Shows current date"
 msgstr "Amuesa la fecha actual"
@@ -19310,7 +19400,7 @@ msgid "Shows barometric pressure"
 msgstr "Amuesa la presión barométrica"
 
 msgid "Shows humidity"
-msgstr "Amuesa'l mugor"
+msgstr "Amuesa''l mugor"
 
 msgid "Recycling"
 msgstr "Reciclaje"
@@ -19346,7 +19436,7 @@ msgid "Backrest"
 msgstr "Respaldu"
 
 msgid "Amount of Seats"
-msgstr "Númberu d'asientos"
+msgstr "Númberu d''asientos"
 
 msgid "Type of shelter"
 msgstr "Tipu de vivienda"
@@ -19373,7 +19463,7 @@ msgstr "abelugu contra inclemencies climátiques"
 
 msgctxt "shelter"
 msgid "wildlife_hide"
-msgstr "xoril d'observación de vida selvaxe"
+msgstr "xoril d''observación de vida selvaxe"
 
 msgid "Hunting Stand"
 msgstr "Puestu de caza"
@@ -19419,13 +19509,13 @@ msgstr "muriu"
 
 msgctxt "pipeline"
 msgid "pond"
-msgstr "balsa d'agua"
+msgstr "balsa d''agua"
 
 msgid "Diameter (in mm)"
 msgstr "Diámetru (en mm)"
 
 msgid "Hydrant Position"
-msgstr "Posición d'hidrante"
+msgstr "Posición d''hidrante"
 
 msgctxt "hydrant position"
 msgid "lane"
@@ -19452,6 +19542,12 @@ msgstr "succión"
 msgid "Count"
 msgstr "Cuenta"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Deportes"
 
@@ -19563,7 +19659,7 @@ msgid "Scuba Diving"
 msgstr ""
 
 msgid "Piste type"
-msgstr "Tipu de pista d'esquí"
+msgstr "Tipu de pista d''esquí"
 
 msgid "downhill"
 msgstr "de descensu"
@@ -20031,22 +20127,22 @@ msgid "Length in meters"
 msgstr "Llargor en metros"
 
 msgid "Water Tower"
-msgstr "Torre d'agua"
+msgstr "Torre d''agua"
 
 msgid "Water Works"
 msgstr "Obres hidráuliques"
 
 msgid "Wastewater Treatment Plant"
-msgstr "Planta de tratamientu d'agües residuales"
+msgstr "Planta de tratamientu d''agües residuales"
 
 msgid "Watermill"
-msgstr "Molín d'agua"
+msgstr "Molín d''agua"
 
 msgid "Fountain"
 msgstr "Fonte o surtidor ornamental"
 
 msgid "Water Well"
-msgstr "Pozu d'agua"
+msgstr "Pozu d''agua"
 
 msgid "Lighthouse"
 msgstr "Faru"
@@ -20067,7 +20163,7 @@ msgid "Monitoring:"
 msgstr "Monitoreo:"
 
 msgid "Water level"
-msgstr "Nivel de l'agua"
+msgstr "Nivel de l''agua"
 
 msgid "Tide Level"
 msgstr "Nivel de la marea"
@@ -20205,7 +20301,7 @@ msgid "covered"
 msgstr "cubiertu"
 
 msgid "low_water_crossing"
-msgstr "pasu d'agües baxes"
+msgstr "pasu d''agües baxes"
 
 msgid "trestle"
 msgstr "atirantado"
@@ -20280,16 +20376,16 @@ msgid "Bridge outline"
 msgstr ""
 
 msgid "Power Plant"
-msgstr "Planta xeneradora d'enerxía"
+msgstr "Planta xeneradora d''enerxía"
 
 msgid "Output forms of energy (optional):"
-msgstr "Formes de salida d'enerxía (opcional):"
+msgstr "Formes de salida d''enerxía (opcional):"
 
 msgid "Power Generator"
-msgstr "Xenerador d'enerxía"
+msgstr "Xenerador d''enerxía"
 
 msgid "Biofuel Power Generator"
-msgstr "Xenerador d'enerxía de Biocombustible"
+msgstr "Xenerador d''enerxía de Biocombustible"
 
 msgid "Generator Type"
 msgstr "Tipu de xenerador"
@@ -20304,10 +20400,10 @@ msgid "steam_generator"
 msgstr "xenerador de vapor"
 
 msgid "Biogas Power Generator"
-msgstr "Xenerador d'enerxía de Biogas"
+msgstr "Xenerador d''enerxía de Biogas"
 
 msgid "Biomass Power Generator"
-msgstr "Xenerador d'enerxía de Biomasa"
+msgstr "Xenerador d''enerxía de Biomasa"
 
 msgid "Method"
 msgstr "Métodu"
@@ -20340,22 +20436,22 @@ msgid "steam_turbine"
 msgstr "turbina de vapor"
 
 msgid "Coal Power Generator"
-msgstr "Xenerador d'enerxía de Carbón"
+msgstr "Xenerador d''enerxía de Carbón"
 
 msgid "Gas Power Generator"
-msgstr "Xenerador d'Enerxía de Gas"
+msgstr "Xenerador d''Enerxía de Gas"
 
 msgid "combined_cycle"
 msgstr "ciclu combináu"
 
 msgid "Oil Power Generator"
-msgstr "Xenerador d'enerxía de Petróleu"
+msgstr "Xenerador d''enerxía de Petróleu"
 
 msgid "Diesel Power Generator"
-msgstr "Xenerador d'enerxía Diesel"
+msgstr "Xenerador d''enerxía Diesel"
 
 msgid "Gasoline Power Generator"
-msgstr "Xenerador d'enerxía de Gasolína"
+msgstr "Xenerador d''enerxía de Gasolína"
 
 msgid "Nuclear Reactor"
 msgstr "Reactor Nuclear"
@@ -20369,28 +20465,28 @@ msgid "fusion"
 msgstr "fusión"
 
 msgid "Boiling Water Reactor 1 (BWR-1)"
-msgstr "Reactor d'agua hirviente 1 (BWR-1)"
+msgstr "Reactor d''agua hirviente 1 (BWR-1)"
 
 msgid "fission"
 msgstr "fisión"
 
 msgid "Boiling Water Reactor 2 (BWR-2)"
-msgstr "Reactor d'agua hirviente 2 (BWR-2)"
+msgstr "Reactor d''agua hirviente 2 (BWR-2)"
 
 msgid "Boiling Water Reactor 3 (BWR-3)"
-msgstr "Reactor d'agua hirviente 3 (BWR-3)"
+msgstr "Reactor d''agua hirviente 3 (BWR-3)"
 
 msgid "Boiling Water Reactor 4 (BWR-4)"
-msgstr "Reactor d'agua hirviente 4 (BWR-4)"
+msgstr "Reactor d''agua hirviente 4 (BWR-4)"
 
 msgid "Boiling Water Reactor 5 (BWR-5)"
-msgstr "Reactor d'agua hirviente 5 (BWR-5)"
+msgstr "Reactor d''agua hirviente 5 (BWR-5)"
 
 msgid "Boiling Water Reactor 6 (BWR-6)"
-msgstr "Reactor d'agua hirviente 6 (BWR-6)"
+msgstr "Reactor d''agua hirviente 6 (BWR-6)"
 
 msgid "CANada Deuterium Uranium reactor (CANDU)"
-msgstr "Reactor d'Uraniu Deuteriu CANadá (CANDU)"
+msgstr "Reactor d''Uraniu Deuteriu CANadá (CANDU)"
 
 msgid "cold-fusion"
 msgstr "fusión-fria"
@@ -20408,7 +20504,7 @@ msgid "Inertial Confinement Fusion (ICF)"
 msgstr "Fusión de Confinamientu Inercial (ICF)"
 
 msgid "Pressurized water reactor (PWR)"
-msgstr "Reactor d'Agua Presurizada (PWR)"
+msgstr "Reactor d''Agua Presurizada (PWR)"
 
 msgid "Reactor Bolshoy Moshchnosti Kanalniy 1000 (RBMK-1000)"
 msgstr "Reactor Bolshoy Moshchnosti Kanalniy 1000 (RBMK-1000)"
@@ -20426,7 +20522,7 @@ msgid "Vodo-Vodyanoi Energetichesky Reactor (VVER)"
 msgstr "Reactor Vodo-Vodyanoi Energetichesky (VVER)"
 
 msgid "Solar Power Generator"
-msgstr "Xenerador d'enerxía Solar"
+msgstr "Xenerador d''enerxía Solar"
 
 msgctxt "generator method"
 msgid "photovoltaic"
@@ -20449,7 +20545,7 @@ msgid "thermal"
 msgstr "termal"
 
 msgid "Waste Power Generator"
-msgstr "Xenerador d'enerxía de Borrafes"
+msgstr "Xenerador d''enerxía de Borrafes"
 
 msgctxt "generator method"
 msgid "pyrolysis"
@@ -20459,7 +20555,7 @@ msgid "gasification"
 msgstr "gasificación"
 
 msgid "Water Turbine"
-msgstr "Turbina d'Agua"
+msgstr "Turbina d''Agua"
 
 msgctxt "generator method"
 msgid "run-of-the-river"
@@ -20471,7 +20567,7 @@ msgstr "agua bombiada del almacenaxe"
 
 msgctxt "generator method"
 msgid "water-storage"
-msgstr "almacenamientu d'agua"
+msgstr "almacenamientu d''agua"
 
 msgid "francis_turbine"
 msgstr "turbina Francis"
@@ -20515,13 +20611,13 @@ msgid "vertical_axis"
 msgstr "exa vertical"
 
 msgid "Wave Energy Converter"
-msgstr "Conversor d'enerxía d'onda"
+msgstr "Conversor d''enerxía d''onda"
 
 msgid "Osmotic Power Generator"
-msgstr "Gnerador d'enerxía osmótica"
+msgstr "Gnerador d''enerxía osmótica"
 
 msgid "Geothermal Power Generator"
-msgstr "Xenerador d'enerxía Geotérmica"
+msgstr "Xenerador d''enerxía Geotérmica"
 
 msgid "heat_pump"
 msgstr "bombéu de calor"
@@ -20589,7 +20685,7 @@ msgid "Gas insulated"
 msgstr "aisllada en gas"
 
 msgid "Power Transformer"
-msgstr "Tresformador d'enerxía"
+msgstr "Tresformador d''enerxía"
 
 msgid "Type of transformer"
 msgstr "Tipu de tresformador"
@@ -20604,7 +20700,7 @@ msgstr "automáticu"
 
 msgctxt "power"
 msgid "phase_angle_regulator"
-msgstr "regulador d'ángulu de fase"
+msgstr "regulador d''ángulu de fase"
 
 msgctxt "power"
 msgid "yes"
@@ -20620,20 +20716,20 @@ msgid ""
 "(Please only use this tag if more detailed mapping using busbars and bays is "
 "impossible!)"
 msgstr ""
-"(¡Por favor utilice esta etiqueta si'l mapeo usando barres d'alta tensión y "
-"badees ye simposible!)"
+"(¡Por favor utilice esta etiqueta si''l mapeo usando barres d''alta tensión "
+"y badees ye simposible!)"
 
 msgid "Power Busbar"
-msgstr "Barres d'alta tensión"
+msgstr "Barres d''alta tensión"
 
 msgid "Power Bay"
-msgstr "Badea d'Enerxía"
+msgstr "Badea d''Enerxía"
 
 msgid "Power Switch"
 msgstr "Interruptor de Corriente"
 
 msgid "Power Converter"
-msgstr "Conversor d'enerxía"
+msgstr "Conversor d''enerxía"
 
 msgid "Type of converter"
 msgstr "Tipu de conversor"
@@ -20663,7 +20759,7 @@ msgid "Power rating (MVA)"
 msgstr "Potencia nominal (MVA)"
 
 msgid "Power Compensator"
-msgstr "Compensador d'Enerxía"
+msgstr "Compensador d''Enerxía"
 
 msgid "Type of compensator"
 msgstr "Tipu de compensador"
@@ -20716,7 +20812,7 @@ msgid "Cable Distribution Cabinet"
 msgstr "Armariu eléctricu"
 
 msgid "Power Tower"
-msgstr "Torre d'eletricidá"
+msgstr "Torre d''eletricidá"
 
 msgid "Type of construction"
 msgstr "Tipu de construcción"
@@ -20944,7 +21040,7 @@ msgid "Used for data communications"
 msgstr "Utilizáu pa comunicaciones de datos"
 
 msgid "Power Cable"
-msgstr "Cable d'enerxía"
+msgstr "Cable d''enerxía"
 
 msgctxt "power cable"
 msgid "underground"
@@ -21028,7 +21124,7 @@ msgid "Supermarket"
 msgstr "Supermercáu"
 
 msgid "Convenience Store"
-msgstr "Tienda d'alimentación"
+msgstr "Tienda d''alimentación"
 
 msgid "Kiosk"
 msgstr "Quioscu"
@@ -21088,7 +21184,7 @@ msgid "Shoes"
 msgstr "Zapatería"
 
 msgid "Outdoor"
-msgstr "Tienda d'actividaes al campu"
+msgstr "Tienda d''actividaes al campu"
 
 msgid "Dry Cleaning"
 msgstr "Tintorería"
@@ -21106,7 +21202,7 @@ msgid "Electronic"
 msgstr "Elleutrónica"
 
 msgid "Computer"
-msgstr "Tienda d'informática"
+msgstr "Tienda d''informática"
 
 msgid "Electronics"
 msgstr "Elleutrónica y elleutrodomésticos"
@@ -21115,7 +21211,7 @@ msgid "Mobile Phone"
 msgstr "Telefonía móvil"
 
 msgid "Vacuum Cleaner"
-msgstr "Tienda d'aspiradores"
+msgstr "Tienda d''aspiradores"
 
 msgid "Hifi"
 msgstr "Soníu"
@@ -21130,7 +21226,7 @@ msgid "Music"
 msgstr ""
 
 msgid "Cash"
-msgstr "Dineru n'efectivu"
+msgstr "Dineru n''efectivu"
 
 msgid "Bank"
 msgstr "Bancu"
@@ -21142,7 +21238,7 @@ msgid "Money Exchange"
 msgstr "Cambéu de moneda"
 
 msgid "Pawnbroker"
-msgstr "Casa d'enfotu"
+msgstr "Casa d''enfotu"
 
 msgid "Home decoration"
 msgstr "Decoración del llar"
@@ -21166,7 +21262,7 @@ msgid "Bed"
 msgstr "Cama"
 
 msgid "Interior Decoration"
-msgstr "Decoración d'interiores"
+msgstr "Decoración d''interiores"
 
 msgid "Antiques"
 msgstr ""
@@ -21268,7 +21364,7 @@ msgid "Vending products"
 msgstr "Espendedor automáticu de productos"
 
 msgid "animal_food"
-msgstr "comida p'animales"
+msgstr "comida p''animales"
 
 msgid "bicycle_tube"
 msgstr "neumáticu de bicicleta"
@@ -21292,7 +21388,7 @@ msgid "news_papers"
 msgstr "Periódicos"
 
 msgid "parking_tickets"
-msgstr "billetes d'aparcamientu"
+msgstr "billetes d''aparcamientu"
 
 msgid "photos"
 msgstr "semeyes"
@@ -21324,9 +21420,6 @@ msgstr "xuguetes"
 msgid "vouchers"
 msgstr "Bonos"
 
-msgid "Note"
-msgstr "Nota"
-
 msgid "Geography"
 msgstr "Xeografía"
 
@@ -21409,7 +21502,7 @@ msgid "Farm"
 msgstr "Granxa"
 
 msgid "A farm within a bigger settlement"
-msgstr "Una granxa dientro d'un establecimientu mayor"
+msgstr "Una granxa dientro d''un establecimientu mayor"
 
 msgid "(please use isolated_dwelling for an isolated farm)"
 msgstr "(por favor utilice isolated_dwelling pa una granxa aisllada)"
@@ -21419,7 +21512,7 @@ msgstr "Vivienda aisllada"
 
 msgid "Neighbourhood"
 msgstr ""
-"Vecinderu (área d'un llugar habitáu, urbanización, colonia, barriu, etc.)"
+"Vecinderu (área d''un llugar habitáu, urbanización, colonia, barriu, etc.)"
 
 msgid "Locality"
 msgstr "Paraxa"
@@ -21428,7 +21521,7 @@ msgid "Peak"
 msgstr "Picu"
 
 msgid "The top (summit) of a mountain or hill."
-msgstr "El cume d'un monte o llomba"
+msgstr "El cume d''un monte o llomba"
 
 msgid "Saddle"
 msgstr "Collá"
@@ -21465,7 +21558,7 @@ msgid "stratovolcano"
 msgstr "estratovolcán"
 
 msgid "shield"
-msgstr "Volcán n'escudu"
+msgstr "Volcán n''escudu"
 
 msgid "scoria"
 msgstr "escoria"
@@ -21501,16 +21594,16 @@ msgid "Botanical Name"
 msgstr "Nome botánicu"
 
 msgid "Tree Row"
-msgstr "Filera d'árboles"
+msgstr "Filera d''árboles"
 
 msgid "A line of trees."
-msgstr "Una filera d'árboles"
+msgstr "Una filera d''árboles"
 
 msgid "Wood"
 msgstr "Monte natural"
 
 msgid "Woodland where timber production does not dominate use."
-msgstr "Área forestada onde la producción de lleña nun apodera l'usu."
+msgstr "Área forestada onde la producción de lleña nun apodera l''usu."
 
 msgid "Forest"
 msgstr "Plantíu forestal"
@@ -21631,7 +21724,7 @@ msgid "Plant Nursery"
 msgstr "Viveru de plantes"
 
 msgid "Allotments"
-msgstr "Güertos d'ociu"
+msgstr "Güertos d''ociu"
 
 msgid "Garden"
 msgstr "Xardín"
@@ -21647,20 +21740,20 @@ msgstr ""
 
 msgid "Common"
 msgstr ""
-"Espaciu onde'l propietariu dexa'l pasu y esfrute (tipoloxía característica "
+"Espaciu onde''l propietariu dexa''l pasu y esfrute (tipoloxía característica "
 "en Reinu Uníu, nun ye servidume de camín)"
 
 msgid "Park"
 msgstr "Parque"
 
 msgid "Recreation Ground"
-msgstr "Área d'esparcimientu"
+msgstr "Área d''esparcimientu"
 
 msgid "Residential Area"
 msgstr "Zona residencial"
 
 msgid "Graveyard"
-msgstr "Campusantu (p'antiguos llugares d'enterramientu)"
+msgstr "Campusantu (p''antiguos llugares d''enterramientu)"
 
 msgid "Cemetery"
 msgstr "Campusantu"
@@ -21731,9 +21824,6 @@ msgstr "Abreviatura común del nome"
 msgid "House number"
 msgstr "Númberu de portal"
 
-msgid "House name"
-msgstr "Nome del edificiu"
-
 msgid "Street name"
 msgstr "Nome de la cai"
 
@@ -21746,8 +21836,8 @@ msgstr "Nome de la ciudá"
 msgid "Country code"
 msgstr "Códigu del país"
 
-msgid "Optional values for specific countries"
-msgstr "Valores opcionales pa países específicos"
+msgid "House name"
+msgstr "Nome del edificiu"
 
 msgid "Subdistrict"
 msgstr "Subdistritu"
@@ -22026,7 +22116,7 @@ msgid "no_straight_on"
 msgstr "prohibíu siguir rectu"
 
 msgid "no_u_turn"
-msgstr "prohibíu xiru n'U"
+msgstr "prohibíu xiru n''U"
 
 msgid "only_right_turn"
 msgstr "namá xiru a la derecha"
@@ -22080,10 +22170,10 @@ msgid "location of enforcement device"
 msgstr "Situación del dispositivu de control"
 
 msgid "node on way where enforcement starts"
-msgstr "nodo de la vía nel qu'empieza'l control"
+msgstr "nodo de la vía nel qu''empieza''l control"
 
 msgid "where enforcement ends"
-msgstr "onde termina'l control"
+msgstr "onde termina''l control"
 
 msgid "traffic light or barrier that stops you"
 msgstr "semáforu o barrera que-y detien"
@@ -22134,19 +22224,19 @@ msgid "Piste Route"
 msgstr "Ruta de pista"
 
 msgid "link segment"
-msgstr "segmentu d'enllaz"
+msgstr "segmentu d''enllaz"
 
 msgid "shortcut segment"
-msgstr "segmentu d'atayu"
+msgstr "segmentu d''atayu"
 
 msgid "variant segment"
 msgstr "segmentu de variante"
 
 msgid "entry points"
-msgstr "puntos d'entrada"
+msgstr "puntos d''entrada"
 
 msgid "Ski Route"
-msgstr "Ruta d'esquí"
+msgstr "Ruta d''esquí"
 
 msgid "alpine"
 msgstr "alpín"
@@ -22158,13 +22248,13 @@ msgid "Destination"
 msgstr "Destín"
 
 msgid "Ref of the way this is a detour to"
-msgstr "Referencia de la vía en qu'esta ye una esviadura escontra"
+msgstr "Referencia de la vía en qu''esta ye una esviadura escontra"
 
 msgid "fork node for alternative routes"
 msgstr "Puntu de bifurcación pa rutes alternatives"
 
 msgid "Power Route"
-msgstr "Ruta d'enerxía"
+msgstr "Ruta d''enerxía"
 
 msgid "Railway Route"
 msgstr "Ruta de ferrocarril"
@@ -22218,7 +22308,7 @@ msgid "Colour of border/arrow"
 msgstr "Color del cantu/flecha"
 
 msgid "last way before junction"
-msgstr "última vía antes d'un encruz"
+msgstr "última vía antes d''un encruz"
 
 msgid "node of the intersection"
 msgstr "nodo de la intersección"
@@ -22233,7 +22323,7 @@ msgid "Waterway"
 msgstr "Vía fluvial"
 
 msgid "Subtype of waterway (largest one of members)"
-msgstr "Subtipu de vía fluvial (más d'un miembru)"
+msgstr "Subtipu de vía fluvial (más d''un miembru)"
 
 msgid "stream"
 msgstr "regueru"
@@ -22418,6 +22508,13 @@ msgstr "VoGIS: DGM (Modelu del Terrén)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Modelu de Superficie)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -22425,7 +22522,7 @@ msgid "IBGE Mapa de Setores Rurais"
 msgstr "IBGE Mapa de Setores Rurais"
 
 msgid "Geobase Hydrography"
-msgstr "Xeobase d'Hidrografía"
+msgstr "Xeobase d''Hidrografía"
 
 msgid "Geobase Roads"
 msgstr "Xeobase de Carreteres"
@@ -22554,6 +22651,9 @@ msgstr "OpenStreetMap (Sorbian Language)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22802,6 +22902,9 @@ msgstr "GRAFCAN Express - Canary Islands"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -23159,6 +23262,9 @@ msgstr "{0} ensin {1} o {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} ensin {1}, {2} o {3}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} n´oxetu sospechosu"
 
@@ -23177,6 +23283,12 @@ msgstr "deporte ensin elementu físicu"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} tendría de tar nel nodo onde {1} y {2} s´intersecten"
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} ta obsoleto"
 
@@ -23218,6 +23330,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23239,10 +23354,10 @@ msgid "{0} on a node"
 msgstr "{0} nun nodo"
 
 msgid "Building inside building"
-msgstr "Edificiu dientro d'un edificiu"
+msgstr "Edificiu dientro d''un edificiu"
 
 msgid "Overlapping Water Areas"
-msgstr "Llámines d'agua superpuestes"
+msgstr "Llámines d''agua superpuestes"
 
 msgid "Overlapping Areas"
 msgstr "Árees superpuestes"
@@ -23256,6 +23371,9 @@ msgstr "Árees naturales idéntiques superpuestes"
 msgid "Overlapping Identical Landuses"
 msgstr "Usos del suelu idénticos superpuestos"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nome de cai embrivíu"
 
@@ -23263,7 +23381,7 @@ msgid "wrong highway tag on a node"
 msgstr "etiqueta de carretera incorrecta nun nodo"
 
 msgid "wrong crossing tag on a way"
-msgstr "etiqueta d'encruz incorrecta nuna vía"
+msgstr "etiqueta d''encruz incorrecta nuna vía"
 
 msgid "Unnamed unclassified highway"
 msgstr "carretera ensin clasificación ensin nome"
@@ -23272,14 +23390,22 @@ msgid "highway without a reference"
 msgstr "carretera ensin una referencia"
 
 msgid "temporary highway type"
-msgstr "tipu de carretera d'usu temporal"
+msgstr "tipu de carretera d''usu temporal"
 
 msgid "street name contains ss"
 msgstr "nome de cai contien ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0} con múltiples valores"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "clave numbérica"
 
@@ -23295,7 +23421,7 @@ msgstr "level tendría de ser un númberu con opcional de .5 medríes"
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
 msgstr ""
-"{0}: metros ye'l valor por omisión; el puntu ye'l separador; pa otres "
+"{0}: metros ye''l valor por omisión; el puntu ye''l separador; pa otres "
 "unidaes, introduza un espaciu y depués la unidá"
 
 msgid "unusual {0} format"
@@ -23317,6 +23443,9 @@ msgstr "enclín inusual; usar porcentaxes/graos o enriba/embaxo"
 msgid "{0} must be a numeric value"
 msgstr "{0} ten de ser un valor numbéricu"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relation ensin tipu"
 
@@ -23354,7 +23483,7 @@ msgstr ""
 "páxina''"
 
 msgid "unknown language prefix in wikipedia tag"
-msgstr "prefixu d'idioma desconocíu na etiqueta wikipedia"
+msgstr "prefixu d''idioma desconocíu na etiqueta wikipedia"
 
 msgid "deprecated format for wikipedia tag"
 msgstr "Formatu obsoletu pa la etiqueta wikipedia"
@@ -23363,10 +23492,10 @@ msgid "''wikipedia''=''language:page title''"
 msgstr "''wikipedia''=''Códigu del idioma:Títulu del artículu''"
 
 msgid "Hide icons at low zoom"
-msgstr "Esconder iconos a un nivel baxu d'acercamientu"
+msgstr "Esconder iconos a un nivel baxu d''acercamientu"
 
 msgid "Less obtrusive node symbols at low zoom"
-msgstr "Símbolos de nodos más estenos a un nivel baxu d'acercamientu"
+msgstr "Símbolos de nodos más estenos a un nivel baxu d''acercamientu"
 
 msgid "Display street labels (at high zoom)"
 msgstr "Amosar etiquetes de les víes (con zoom altu)"
@@ -23399,7 +23528,7 @@ msgid "configure the connected DG100"
 msgstr "Configurar la conexón DG100"
 
 msgid "delete data after import"
-msgstr "Esaniciar los datos dempués d'importalos"
+msgstr "Esaniciar los datos dempués d''importalos"
 
 msgid "Columbus V-900 CSV Files"
 msgstr "Arquivos CSV Columbus V-900"
@@ -23411,7 +23540,7 @@ msgid "Markers of "
 msgstr "Marcadores de "
 
 msgid "Show summary after import"
-msgstr "Amosar resume n'importando"
+msgstr "Amosar resume n''importando"
 
 msgid "Do not zoom after import"
 msgstr "Non zoom dempués de la importación"
@@ -23420,7 +23549,7 @@ msgid "Ignore hdop/vdop/pdop entries"
 msgstr "Ignorar entraes hdop/vdop/pdop"
 
 msgid "Warn on missing audio files"
-msgstr "Alvertir sobre los arquivos d'audiu perdíos"
+msgstr "Alvertir sobre los arquivos d''audiu perdíos"
 
 msgid "Warn on conversion errors"
 msgstr "Alvertir sobre los erros de conversión"
@@ -23429,7 +23558,7 @@ msgid "Error in line "
 msgstr "Erru en llínea "
 
 msgid "Missing audio file"
-msgstr "Arquivos d'audiu perdíos"
+msgstr "Arquivos d''audiu perdíos"
 
 msgid "Commands"
 msgstr "Comandos"
@@ -23438,7 +23567,7 @@ msgid ""
 "No command has been found. Would you like to download and install default "
 "commands now?"
 msgstr ""
-"Non s'atopó nengún comandu. ¿Deseya descargar ya instalar comandos por "
+"Non s''atopó nengún comandu. ¿Deseya descargar ya instalar comandos por "
 "defeuto agora?"
 
 msgid "No command found"
@@ -23510,7 +23639,7 @@ msgid ""
 "in common"
 msgstr ""
 "Forma una cuadrícula de viales basándose en dos víes yá esistentes que "
-"tienen dellos nodos y unu d'ellos de mancomún"
+"tienen dellos nodos y unu d''ellos de mancomún"
 
 msgid "Select two ways with a node in common"
 msgstr "Escoyer dos víes con un nodo de mancomún"
@@ -23547,7 +23676,7 @@ msgid "Download Track"
 msgstr "Descargando traza"
 
 msgid "Filename"
-msgstr "Nome d'arquivu"
+msgstr "Nome d''arquivu"
 
 msgid "Private (only shared as anonymous, unordered points)"
 msgstr "Priváu (namá compartir como anónimu, desordenar puntos)"
@@ -23614,7 +23743,7 @@ msgid "GPX upload was successful"
 msgstr "GPX xubíu correchamente"
 
 msgid "Upload failed. Server returned the following message: "
-msgstr "Xubida fallida. El servidor retorna'l siguiente mensaxe "
+msgstr "Xubida fallida. El servidor retorna''l siguiente mensaxe "
 
 msgid "Uploading GPX track: {0}% ({1} of {2})"
 msgstr "Xubiendo traza GPX: {0}% ({1} de {2})"
@@ -23630,25 +23759,25 @@ msgid "Uploads traces to openstreetmap.org"
 msgstr "Traces xubíes a openstreetmap.org"
 
 msgid "Shows elevation profile"
-msgstr "Amuesa'l perfil d'elevación"
+msgstr "Amuesa''l perfil d''elevación"
 
 msgid "Elevation Profile"
-msgstr "Perfil d'elevación"
+msgstr "Perfil d''elevación"
 
 msgid "Elevation Grid Layer (experimental!)"
-msgstr "Capa d'Elevación d'Alluna (¡esperimental!)"
+msgstr "Capa d''Elevación d''Alluna (¡esperimental!)"
 
 msgid "Shows elevation grid layer"
-msgstr "Amosar la capa d'alluna d'elevación"
+msgstr "Amosar la capa d''alluna d''elevación"
 
 msgid "Elevation Grid"
-msgstr "Alluna d'elevación"
+msgstr "Alluna d''elevación"
 
 msgid "No SRTM data"
 msgstr "Nun hai datos de SRTM"
 
 msgid "Open the elevation profile window."
-msgstr "Abrir la ventana del perfil d'elevación."
+msgstr "Abrir la ventana del perfil d''elevación."
 
 msgid "Min"
 msgstr "Mín"
@@ -23675,7 +23804,7 @@ msgid "Elevation profile"
 msgstr "Perfil del terrén"
 
 msgid "(No elevation data)"
-msgstr "(Nun hai datos d'elevación)"
+msgstr "(Nun hai datos d''elevación)"
 
 msgid "Can not save preferences"
 msgstr "Non puede guardase les preferencies"
@@ -23737,7 +23866,7 @@ msgid ""
 "Click or Click&drag to continue, Ctrl-Click to add fixed node, Shift-Click "
 "to delete, Enter to simplify or save, Ctrl-Shift-Click to start new line"
 msgstr ""
-"Faiga clic o clic y abasnar pa siguir, Ctrl-clic p'añedir un nodo fixu, "
+"Faiga clic o clic y abasnar pa siguir, Ctrl-clic p''añedir un nodo fixu, "
 "Mayus-clic pa borrar, Enter pa simplificar o guardar, Ctrl-Mayus-Clic pa "
 "volver empecipiar."
 
@@ -23748,7 +23877,7 @@ msgid "Fast drawing mode"
 msgstr "mou de dibuxu rápidu"
 
 msgid "Please move the mouse to draw new way"
-msgstr "Por favor, mueva'l mure pa dibuxar nueva forma"
+msgstr "Por favor, mueva''l mure pa dibuxar nueva forma"
 
 msgid "Are you sure you do not want to save the line containing {0} points?"
 msgstr "¿Tas seguru de nun querer guardar la llínea que contien {0} puntos?"
@@ -23765,7 +23894,7 @@ msgstr ""
 "{3} puntos por km (promediu)"
 
 msgid "Line information"
-msgstr "llínea d'información"
+msgstr "llínea d''información"
 
 msgid "Cannot place node outside of the world."
 msgstr "Non puede allugase un nodo fuera del mundu."
@@ -23874,7 +24003,8 @@ msgid "Postcode"
 msgstr "Códigu postal"
 
 msgid "Turns all guesses into the corresponding tag values."
-msgstr "Convierte toles conxetures nos valores d'etiquetes correspondientes."
+msgstr ""
+"Convierte toles conxetures nos valores d''etiquetes correspondientes."
 
 msgid "Applied guessed values"
 msgstr "Aplicáu a los valores supuestos"
@@ -23917,8 +24047,8 @@ msgid ""
 "Tries to guess address data by picking the name of the closest object with "
 "according tag."
 msgstr ""
-"Tratar d'envalorar los datos de la dirección escoyendo'l nome del oxetu más "
-"cercanu acordies con les etiquetes."
+"Tratar d''envalorar los datos de la dirección escoyendo''l nome del oxetu "
+"más cercanu acordies con les etiquetes."
 
 msgid "Guessing address values"
 msgstr "Envalorar valores de dirección"
@@ -23953,7 +24083,7 @@ msgstr[0] "Actualizar les propiedaes d´hasta {0} oxetu"
 msgstr[1] "Actualizar les propiedaes d´hasta {0} oxetos"
 
 msgid "Default image projection"
-msgstr "Proyección d'imaxes per omisión"
+msgstr "Proyección d''imaxes per omisión"
 
 msgid "JOSM''s current projection"
 msgstr "Proyección actual de JOSM"
@@ -23967,7 +24097,7 @@ msgstr ""
 "Nun s´atopó l´arquivu de proyección (.prj).<br>Puede escoyer la proyección "
 "d´imaxes per omisión ({0}) o l´editor de proyección actual de JOSM ({1}) "
 "como la proyección orixinal de la imaxe .<br>(Puede camudase depués col menú "
-"contextual de la capa d'imaxe)."
+"contextual de la capa d´imaxe)."
 
 msgid "Layer Properties"
 msgstr "Propiedaes de la capa"
@@ -23991,7 +24121,7 @@ msgid "NanoLog of {0} entries"
 msgstr "NanoLog de {0} entraes"
 
 msgid "NanoLog of {0} lines, {1} of them with coordinates."
-msgstr "NanoLog de {0} llínees, {1} d'elles con coordenaes."
+msgstr "NanoLog de {0} llínees, {1} d''elles con coordenaes."
 
 msgid "Correlate with GPX..."
 msgstr "Correlacionar con GPX..."
@@ -24012,17 +24142,17 @@ msgid "Open NanoLog panel"
 msgstr "Abrir el panel NanoLog"
 
 msgid "Open NanoLog file..."
-msgstr "Abrir l'arquivu NanoLog..."
+msgstr "Abrir l''arquivu NanoLog..."
 
 msgid "Could not read NanoLog file:"
-msgstr "Non pudo lleese l'arquivu NanoLog:"
+msgstr "Non pudo lleese l''arquivu NanoLog:"
 
 msgid "Edit opening hours"
-msgstr "Horarios d'apertura"
+msgstr "Horarios d''apertura"
 
 msgid "Edit time-tag of selected element in a graphical interface"
 msgstr ""
-"Editar por aciu una interfaz gráfica etiquetar sobre l'horariu del elementu "
+"Editar por aciu una interfaz gráfica etiquetar sobre l''horariu del elementu "
 "escoyíu."
 
 msgid "edit existing tag"
@@ -24050,7 +24180,7 @@ msgid "Correct the value manually and than press Enter."
 msgstr "Corrixa´l valor manualmente y prima Enter."
 
 msgid "Error in timeformat"
-msgstr "Erru en formatu d'hora"
+msgstr "Erru en formatu d''hora"
 
 msgid "open end"
 msgstr "terminación accesible"
@@ -24162,12 +24292,12 @@ msgstr "Información opcional:"
 
 msgid "Please select a street to associate with address interpolation way"
 msgstr ""
-"Por favor, escueya una cai p'acomuñar cola mou de interpolación de númberos "
+"Por favor, escueya una cai p''acomuñar cola mou de interpolación de númberos "
 "de portales"
 
 msgid "Please select address interpolation way for this street"
 msgstr ""
-"Por favor, escueya mou de interpolación de númberos de portales d'esta cai"
+"Por favor, escueya mou de interpolación de númberos de portales d''esta cai"
 
 msgid "Expected odd numbers for addresses"
 msgstr "Prevíase númberu de portal impar"
@@ -24183,7 +24313,7 @@ msgstr "El códigu de país tien de tener 2 lletres"
 
 msgid "Please enter valid number for starting and ending address"
 msgstr ""
-"Por favor, introduza un númberu válidu d'entamu y finalización del númberu "
+"Por favor, introduza un númberu válidu d''entamu y finalización del númberu "
 "de portal"
 
 msgid "Alphabetic address must end with a letter"
@@ -24196,18 +24326,18 @@ msgstr ""
 
 msgid "Starting address letter must be less than ending address letter"
 msgstr ""
-"La lletra del portal d'entamu tien de ser inferior a la lletra del últimu "
+"La lletra del portal d''entamu tien de ser inferior a la lletra del últimu "
 "portal"
 
 msgid "Please enter valid number for starting address"
-msgstr "Por favor, introduza un númberu valíu pal portal d'entamu"
+msgstr "Por favor, introduza un númberu valíu pal portal d''entamu"
 
 msgid "Please enter valid number for ending address"
 msgstr "Por favor, introduza un númberu valíu pal portal final"
 
 msgid "Starting address number must be less than ending address number"
 msgstr ""
-"El númberu de portal d'entamu tien de ser menor que'l númberu del últimu "
+"El númberu de portal d''entamu tien de ser menor que''l númberu del últimu "
 "portal."
 
 msgid "Align Way Segments"
@@ -24227,8 +24357,8 @@ msgid ""
 "Aligning would result nodes ''outside the world''.\n"
 "Alignment not possible.\n"
 msgstr ""
-"L'alliniadura daría como resultáu nodos ''fuera del mundu''.\n"
-"Nun ye posible l'alliniadura.\n"
+"L''alliniadura daría como resultáu nodos ''fuera del mundu''.\n"
+"Nun ye posible l''alliniadura.\n"
 
 msgid ""
 "There is at least a non-pivot endpoint of the alignee that joins more than "
@@ -24237,23 +24367,23 @@ msgid ""
 msgstr ""
 "Hai siquier un puntu final que nun ye pivós del alliniáu y xune más de dos "
 "segmentos\n"
-"Nun ye posible l'alliniadura calteniendo los ángulos.\n"
+"Nun ye posible l''alliniadura calteniendo los ángulos.\n"
 
 msgid ""
 "The alignment is not possible with maintaining the angles of the joint "
 "segments.\n"
 "Either choose the ''keep length'' aligning method or select other segments.\n"
 msgstr ""
-"Nun ye posible l'alliniadura calteniendo los ángulos de los segmentos "
+"Nun ye posible l''alliniadura calteniendo los ángulos de los segmentos "
 "xuníos.\n"
-"Escueya'l métodu d'alliniadura ''caltener el llargor'' o escueya otros "
+"Escueya''l métodu d''alliniadura ''caltener el llargor'' o escueya otros "
 "segmentos.\n"
 
 msgid ""
 "An intersection point would fall outside its adjacent nodes.\n"
 "This is an unsupported scenario.\n"
 msgstr ""
-"Un puntu d'intersección cayería fora de les sos nodos axacentes.\n"
+"Un puntu d''intersección cayería fora de les sos nodos axacentes.\n"
 "Esti escenariu nun ta previstu.\n"
 
 msgid "Undocumented problem occured.\n"
@@ -24270,19 +24400,19 @@ msgid ""
 " or put the pivot on their common node.\n"
 msgstr ""
 "Por favor escueya dos segmentos que nun compartan nodos\n"
-"o ponga'l pivós nel nodo común.\n"
+"o ponga''l pivós nel nodo común.\n"
 
 msgid "Align Way Segments: Modes"
 msgstr "Alliniar Segmentos de Víes: Moos"
 
 msgid "Align Ways control panel"
-msgstr "Panel de control d'Alliniar Víes"
+msgstr "Panel de control d''Alliniar Víes"
 
 msgid "This panel activates in Align Ways mode:"
 msgstr "Esti panel activar na mou Alliniar Víes"
 
 msgid "Length preserved"
-msgstr "Caltiense'l llargor"
+msgstr "Caltiense''l llargor"
 
 msgid "Angle preserved"
 msgstr "Caltiénense los ángulos"
@@ -24294,7 +24424,7 @@ msgid ""
 "<html>Aligns the way segment to the reference so that its length is "
 "preserved.</html>"
 msgstr ""
-"<html>Allinia'l segmentu a la referencia de tal mou que caltien el so "
+"<html>Allinia''l segmentu a la referencia de tal mou que caltien el so "
 "llargor.</html>"
 
 msgid ""
@@ -24302,7 +24432,7 @@ msgid ""
 "adjacent segments are preserved.<br/>The length of the aligned segment is "
 "likely to change as result.</html>"
 msgstr ""
-"<html>Allinia'l segmentu de la vía a la referencia de tal mou que los "
+"<html>Allinia''l segmentu de la vía a la referencia de tal mou que los "
 "ángulos de los segmentos axacentes calténganse.<br/>El llargor de los "
 "segmentos alliniaos de xuru va sufrir cambeos.</html>"
 
@@ -24310,13 +24440,13 @@ msgid "I''m ready!"
 msgstr "Toi list@!"
 
 msgid "AlignWays Tips"
-msgstr "Conseyos p'alliniar víes"
+msgstr "Conseyos p''alliniar víes"
 
 msgid "AlignWays: What''s New..."
 msgstr "Alliniar Víes: Novedaes..."
 
 msgid "Align Ways mode"
-msgstr "mou d'alliniación de víes"
+msgstr "mou d''alliniación de víes"
 
 msgid "Parameter ''{0}'' must not be null"
 msgstr "El parámetru''{0}'' nun tien de ser nulu"
@@ -24325,18 +24455,18 @@ msgid ""
 "Segment to be aligned cannot be the same with the reference segment.\n"
 "Please choose a different segment to be aligned."
 msgstr ""
-"El segmentu a alliniase nun puede ser el mesmu que'l segmentu de "
+"El segmentu a alliniase nun puede ser el mesmu que''l segmentu de "
 "referencia.\n"
 "Por favor, escueya un segmentu distintu pa ser alliniáu."
 
 msgid "AlignWayS message"
-msgstr "Mensaxe d'Alliniar Víes"
+msgstr "Mensaxe d''Alliniar Víes"
 
 msgid ""
 "Reference segment cannot be the same with the segment to be aligned.\n"
 "Please choose a different reference segment."
 msgstr ""
-"El segmentu de referencia nun puede ser el mesmu que l'elementu a ser "
+"El segmentu de referencia nun puede ser el mesmu que l''elementu a ser "
 "alliniáu.\n"
 "Por favor escueya un segmentu de referencia distintu."
 
@@ -24379,7 +24509,7 @@ msgstr ""
 "<span style=''font-size: xx-large;''>Complemento Alliniar Vía "
 "span<style=''color: rgb(204, 85, 0);''>S</span><br>\n"
 "</span><span style=''font-size: medium;''><br>\n"
-"...qu'en realidá tendría de ser llamáu br <>\n"
+"...qu''en realidá tendría de ser llamáu<br>\n"
 "Complementu span <style=''font-size: large;''>AlinearVíaS(egmentos)</span>..."
 
 msgid ""
@@ -24400,7 +24530,7 @@ msgstr ""
 "exemplu traza víes y deseya que les llaterales tean paraleles a el\n"
 "camín o la cai.<br>\n"
 "<br>\n"
-"Dellos conseyos antes d'empezar::\n"
+"Dellos conseyos antes d''empezar::\n"
 "</p>\n"
 "</html>\n"
 "\n"
@@ -24421,9 +24551,9 @@ msgstr ""
 "<html>\n"
 "<div style=''font-family: sans-serif;''>\n"
 "<ul>\n"
-"<li><b>Escueya un segmentu de referencia.</b> Puede faelo con <>< b i><span "
+"<li><b>Escueya un segmentu de referencia.</b> Puede faelo con <b><i><span "
 "style=''color:green''>Ctrl-click</span></i></b>\n"
-"nun segmentu. L'otru, va faese paralelu a \n"
+"nun segmentu. L''otru, va faese paralelu a \n"
 "este. </li>\n"
 "</ul>\n"
 "</div>\n"
@@ -24448,8 +24578,8 @@ msgstr ""
 "<html>\n"
 "<div style=''font-family:sans-serif''>\n"
 "<ul>\n"
-"<li><b>Escueya l'elementu a ser alliniáu.</b> Cenciellamente b <><i><span "
-"style=''color:green''>prima'l botón del mouse</span></i></b>\n"
+"<li><b>Escueya l''elementu a ser alliniáu.</b> Cenciellamente <b><i><span "
+"style=''color:green''>prima''l botón del mouse</span></i></b>\n"
 "nun segmentu distintu.\n"
 "El pivós de rotación va señalar de forma predeterminá nel \n"
 "centru del segmentu.\n"
@@ -24477,10 +24607,10 @@ msgstr ""
 "<html>\n"
 "<div style=''font-family:sans-serif''>\n"
 "<ul>\n"
-"<li>Puede b <>camudar el pivós de rotación</b> si deseyar. Col fin "
-"d'ameyorar la paralelización frente al segmentu de referencia, el segmentu "
-"que se va alliniar rotará alredor d'esti puntu. Puede escoyer los dos "
-"estremidaes o'l centru del segmentu b <><i><span "
+"<li>Puede <b>camudar el pivós de rotación</b> si deseyar. Col fin "
+"d''ameyorar la paralelización frente al segmentu de referencia, el segmentu "
+"que se va alliniar rotará alredor d''esti puntu. Puede escoyer los dos "
+"estremidaes o''l centru del segmentu <b><i><span "
 "style=''color:green''>faciendo click</span></i></b>cerca.\n"
 "</li>\n"
 "</ul>\n"
@@ -24505,10 +24635,10 @@ msgstr ""
 "<html>\n"
 "<div style=''font-family:sans-serif''>\n"
 "<ul>\n"
-"<li><b>Alliniar los oxetos.</b> Pulsie b <><i><span "
+"<li><b>Alliniar los oxetos.</b> Pulsie <b><i><span "
 "style=''color:green''>{0}</span></i></b>. De forma alternativa va atopar el "
-"comandu nel menú b <>Ferramientes</b>\n"
-"o tamién puede añedir el botón a <> la b barra de ferramientes</b>.\n"
+"comandu nel menú <b>Ferramientes</b>\n"
+"o tamién puede añedir el botón a <b> la barra de ferramientes</b>.\n"
 "</li>\n"
 "</ul>\n"
 "</div>\n"
@@ -24541,10 +24671,10 @@ msgid "What''s new..."
 msgstr "Novedaes..."
 
 msgid "Added <b>angle preserving</b> aligning mode"
-msgstr "Añedióse el mou b <>caltener ángulu /b.<>"
+msgstr "Añedióse el mou <b>caltener ángulu.</b>"
 
 msgid "Various improvements and bugfixes"
-msgstr "Meyores varies y correción d'erros"
+msgstr "Meyores varies y correción d''erros"
 
 msgid "Errr..."
 msgstr "Eeeeehh..."
@@ -24553,7 +24683,7 @@ msgid "Browser not supported."
 msgstr "Navegador ensin soportar."
 
 msgid "Building address"
-msgstr "Dirección d'edificación"
+msgstr "Dirección d''edificación"
 
 msgid "empty"
 msgstr "valeru"
@@ -24595,13 +24725,13 @@ msgid "Tools: {0}"
 msgstr "Ferramientes: {0}"
 
 msgid "Area Selection"
-msgstr "Selección d'Área"
+msgstr "Selección d''Área"
 
 msgid "Select an area (e.g. building) from an underlying image."
-msgstr "Escueya una área (por casu, construcción) d'una imaxe subxacente."
+msgstr "Escueya una área (por casu, construcción) d''una imaxe subxacente."
 
 msgid "Area Selector"
-msgstr "Selector d'Área"
+msgstr "Selector d''Área"
 
 msgid "Created area"
 msgstr "Área creada"
@@ -24610,21 +24740,21 @@ msgid "Unable to detect a polygon where you clicked."
 msgstr "Non puede detectase un polígonu onde fixo clic."
 
 msgid "Error Report"
-msgstr "Notificación d'Erru"
+msgstr "Notificación d''Erru"
 
 msgid "Something went wrong!"
 msgstr "Daqué salió mal!"
 
 msgid "Please file a bug report on the github project page under"
 msgstr ""
-"Por favor presente un informe d'erru del proyectu github na páxina de baxo"
+"Por favor presente un informe d''erru del proyectu github na páxina de baxo"
 
 msgid ""
 "Let us know what you did and what happend add the following text to the bug "
 "report, so we can find the source of the issue."
 msgstr ""
 "Fáiganos saber lo que fixo y lo que asocedió amestando el siguiente testu "
-"nel informe d'erru, pa que podamos atopar l'orixe del problema."
+"nel informe d''erru, pa que podamos atopar l''orixe del problema."
 
 msgid "Area detection algorithm settings."
 msgstr ""
@@ -24636,8 +24766,8 @@ msgid ""
 "The color threshold defines how far the color can be of the original color "
 "to be selected (Default: {0})."
 msgstr ""
-"L'estragal de color define qué llueñe puede tar el color orixinal d'el color "
-"a escoyer (por defectu: {0})."
+"L''estragal de color define qué llueñe puede tar el color orixinal d''el "
+"color a escoyer (por defectu: {0})."
 
 msgid "Color Threshold"
 msgstr "Estragal de color"
@@ -24673,6 +24803,12 @@ msgstr "Combinar nodos colos sos vecinos"
 msgid "merge nodes"
 msgstr "combinar nodos"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nome de Cai:"
 
@@ -24686,7 +24822,7 @@ msgid "Advanced settings"
 msgstr "Axustes avanzaos"
 
 msgid "Buildings tags:"
-msgstr "Etiquetes d'edificaciones"
+msgstr "Etiquetes d''edificaciones"
 
 msgid "Cannot place building outside of the world."
 msgstr "Nun puede allugar la edificación fora del planeta."
@@ -24734,7 +24870,7 @@ msgid "Add address"
 msgstr "Añedir dirección"
 
 msgid "Helping tool for tag address"
-msgstr "Ferramienta d'ayuda pa establecer dirección"
+msgstr "Ferramienta d''ayuda pa establecer dirección"
 
 msgid "CadastreFR - Buildings"
 msgstr "CadastreFR - Edificios"
@@ -24798,7 +24934,7 @@ msgid ""
 msgstr ""
 "Nun s´atopó o nun ta disponible\n"
 "el barriu o la ciudá {0}, o atayóse\n"
-"l'acción"
+"l''acción"
 
 msgid "Choose from..."
 msgstr "Escoyer dende..."
@@ -24818,9 +24954,9 @@ msgid ""
 "The new grabbing key is F10, but you can change the key\n"
 "in the shortcut settings if you want."
 msgstr ""
-"El complementu Cadastre-fr utilizaba l' atayu F11 pa grabar,\n"
+"El complementu Cadastre-fr utilizaba l''atayu F11 pa grabar,\n"
 "el cual agora ye utilizáu pa camudar al mou pantalla completa.\n"
-"El nuevu atayu ye F10, pero puede camudar l'atayu de tecláu\n"
+"El nuevu atayu ye F10, pero puede camudar l''atayu de tecláu\n"
 "nes preferencies si asina lu deseya."
 
 msgid ""
@@ -24843,7 +24979,7 @@ msgid ""
 "the current projection to one of the cadastre\n"
 "projections and retry"
 msgstr ""
-"P'habilitar el plugin de catastru WMS, camude la\n"
+"P''habilitar el plugin de catastru WMS, camude la\n"
 "proyección actual a una de proyección catastral\n"
 "y reintente"
 
@@ -24868,7 +25004,7 @@ msgid "Disable image cropping during georeferencing."
 msgstr "Evacuar sesgar(crop) la imaxe mientres la georeferencia."
 
 msgid "Use \"Tableau d''assemblage\""
-msgstr "Usar ''Tableau d'assemblage''"
+msgstr "Usar ''Tableau d''assemblage''"
 
 msgid "Replace grey shades by white color only"
 msgstr "Reemplazar solombres grises por color blancu namá"
@@ -24932,8 +25068,8 @@ msgid ""
 "<BR>before any upload of data created by this plugin."
 msgstr ""
 "Un componente especial pal manexu del servidor WMS del catastru francés en "
-"www.cadastre.gouv.fr<br><br>Por favor, llea los Términos y Condiciones d'Usu "
-"equí (en francés):<br><a "
+"www.cadastre.gouv.fr<br><br>Por favor, llea los Términos y Condiciones "
+"d''Usu equí (en francés):<br><a "
 "href=''http://www.cadastre.gouv.fr/scpc/html/CU_01_ConditionsGenerales_fr.htm"
 "l''> "
 "http://www.cadastre.gouv.fr/scpc/html/CU_01_ConditionsGenerales_fr.html</a > "
@@ -24941,8 +25077,8 @@ msgstr ""
 
 msgid "<html>Value of key \"source\" when autosourcing is enabled</html>"
 msgstr ""
-"<html>Valor de la clave ''source'' cuando'l rexistru automáticu ta activu "
-"/html.<>"
+"<html>Valor de la clave ''source'' cuando''l rexistru automáticu ta activu "
+".</html>"
 
 msgid ""
 "Replace the original white background by the background color defined in "
@@ -24983,7 +25119,7 @@ msgid "Low resolution (600x400)"
 msgstr "Resolvimientu baxu (600x400)"
 
 msgid "Image filter interpolation:"
-msgstr "Filtru de interpolación d'imaxe:"
+msgstr "Filtru de interpolación d''imaxe:"
 
 msgid "Nearest-Neighbor (fastest) [ Default ]"
 msgstr "Vecín más cercanu (La más rápida) [ Predeterminá ]"
@@ -24995,7 +25131,7 @@ msgid "Bicubic (slow)"
 msgstr "Bicúbica (lenta)"
 
 msgid "Vector images grab multiplier:"
-msgstr "Teselador d'imaxes vectorizaes a descargar."
+msgstr "Teselador d''imaxes vectorizaes a descargar."
 
 msgid "Grab one image full screen"
 msgstr "Llograr una imaxe de pantalla completa"
@@ -25041,7 +25177,7 @@ msgid "Municipality administrative borders."
 msgstr "Frontera alministrativa municipal."
 
 msgid "Raster images grab multiplier:"
-msgstr "Multiplicador de toma d'imaxes raster"
+msgstr "Multiplicador de toma d''imaxes raster"
 
 msgid ""
 "Add the \"Tableau(x) d''assemblage\" in the list of cadastre sheets to grab."
@@ -25093,11 +25229,11 @@ msgid ""
 "building import size is limited to 1 km2 max."
 msgstr ""
 "Pa evitar sobrecargar el servidor WMS del Catastru\n"
-"la importación d'arquivu ta llindada a 1km2 a lo más."
+"la importación d''arquivu ta llindada a 1km2 a lo más."
 
 msgid "Please, enable auto-sourcing and check cadastre millesime."
 msgstr ""
-"Por favor, active'l´autoabastecimiento y compruebe el catastru Millesime."
+"Por favor, active''l´autoabastecimiento y compruebe el catastru Millesime."
 
 msgid "Extract SVG ViewBox..."
 msgstr "Estrayer SVG de la caxa de vista..."
@@ -25119,7 +25255,7 @@ msgid ""
 "Use the normal Cadastre Grab menu."
 msgstr ""
 "Conceyu vectorizáu!\n"
-"Use'l menú de llogru avezáu de Catastru."
+"Use''l menú de llogru avezáu de Catastru."
 
 msgid ""
 "This commune is not vectorized.\n"
@@ -25144,7 +25280,7 @@ msgid "Cadastre grab"
 msgstr "Suxetar catastru"
 
 msgid "Download Image from French Cadastre WMS"
-msgstr "Descargando imaxes dende'l servidor francés WMS del Catastru"
+msgstr "Descargando imaxes dende''l servidor francés WMS del Catastru"
 
 msgid "Cadastre: {0}"
 msgstr "Catastru: {0}"
@@ -25183,7 +25319,7 @@ msgstr ""
 msgid ""
 "Selected file {0} is not a cache file from this plugin (invalid extension)"
 msgstr ""
-"El ficheru escoyíu {0} nun ye un ficheru de caxé d'esti plugin(estensión "
+"El ficheru escoyíu {0} nun ye un ficheru de caxé d''esti plugin (estensión "
 "inválida)"
 
 msgid "The location {0} is already on screen. Cache not loaded."
@@ -25208,7 +25344,7 @@ msgid ""
 "<html>Enter the town,village or city name.<br>Use the syntax and punctuation "
 "known by www.cadastre.gouv.fr .</html>"
 msgstr ""
-"<html>Introduza'l nome de la población.<br>Utilice la sintaxis y la "
+"<html>Introduza''l nome de la población.<br>Utilice la sintaxis y la "
 "puntuación conocida por www.cadastre.gouv.fr.</html>"
 
 msgid "Departement"
@@ -25283,13 +25419,13 @@ msgid "Enter cadastre east,north position"
 msgstr "Introduza posición de catastru este,norte"
 
 msgid "(Warning: verify north with arrow !!)"
-msgstr "(Alvertencia: verifique'l norte cola flecha !!)"
+msgstr "(Alvertencia: verifique''l norte cola flecha !!)"
 
 msgid "East"
 msgstr "Este"
 
 msgid "I use the mouse"
-msgstr "Uso'l mure"
+msgstr "Uso''l mure"
 
 msgid "Set {0} Lambert coordinates"
 msgstr "Establecer {0} coordenaes Lambert"
@@ -25310,8 +25446,8 @@ msgid ""
 "More than one WMS layer present\n"
 "Select one of them first, then retry"
 msgstr ""
-"Más d'una capa WMS presente\n"
-"Escueya primero una d'elles y reinténtelo"
+"Más d''una capa WMS presente\n"
+"Escueya primero una d''elles y reinténtelo"
 
 msgid "Reset offset"
 msgstr "Reiniciar rectificación"
@@ -25367,22 +25503,22 @@ msgid "Color Scheme"
 msgstr "Esquema de color"
 
 msgid "Please select the scheme to delete."
-msgstr "Por favor, escueya l'esquema que quier esaniciar"
+msgstr "Por favor, escueya l''esquema que quier esaniciar"
 
 msgid "Use the selected scheme from the list."
-msgstr "Utilizar l'esquema escoyíu de la llista"
+msgstr "Utilizar l''esquema escoyíu de la llista"
 
 msgid "Use the current colors as a new color scheme."
 msgstr "Utilizar los colores actuales como un nuevu esquema de color."
 
 msgid "Delete the selected scheme from the list."
-msgstr "Esaniciar l'esquema escoyíu de la llista"
+msgstr "Esaniciar l''esquema escoyíu de la llista"
 
 msgid "Color Schemes"
 msgstr "Esquemes de color"
 
 msgid "Conflate object pair"
-msgstr "Par d'oxetos combinaos"
+msgstr "Par d''oxetos combinaos"
 
 msgid "Added {0} object to subject layer"
 msgid_plural "Added {0} objects to subject layer"
@@ -25393,7 +25529,7 @@ msgid "Conflation"
 msgstr "Combinación"
 
 msgid "Activates the conflation plugin"
-msgstr "Activa'l complementu de combinación"
+msgstr "Activa''l complementu de combinación"
 
 msgid "Matches"
 msgstr "Coincidencies"
@@ -25447,10 +25583,10 @@ msgid "Select the primitives currently selected in the list"
 msgstr "Escoyer les primitives anguaño escoyíes na llista"
 
 msgid "Match finder settings"
-msgstr "Preferencies del buscador d'axugamientos"
+msgstr "Preferencies del buscador d''axugamientos"
 
 msgid "Match finder method"
-msgstr "Métodu del buscador d'axugamientos"
+msgstr "Métodu del buscador d''axugamientos"
 
 msgid "Threshold distance"
 msgstr "Estragal de distancia"
@@ -25490,7 +25626,7 @@ msgid "Freeze subject selection"
 msgstr "Conxelar la selección de suxetu"
 
 msgid "No valid OSM data layer present."
-msgstr "Nun s'atopa nenguna capa de datos OSM válida"
+msgstr "Nun s''atopa nenguna capa de datos OSM válida"
 
 msgid "Error freezing selection"
 msgstr "Erru al conxelar la selección"
@@ -25519,7 +25655,7 @@ msgid ""
 "Remove the area from the relation before splitting it."
 msgstr ""
 "La área escoyida nun puede estremase porque ye miembru de dalguna relación.\n"
-"Esanicie la área de la relación antes d'estremalo."
+"Esanicie la área de la relación antes d''estremalo."
 
 msgid "TangoGPS Files (*.log)"
 msgstr "Arquivos TangoGPS (*.log)"
@@ -25582,13 +25718,13 @@ msgid "Drop existing path"
 msgstr "Soltar camín esistente"
 
 msgid "No GPX data layer found."
-msgstr "Nun s'atopó la capa de datos GPX"
+msgstr "Nun s''atopó la capa de datos GPX"
 
 msgid "External tool error"
 msgstr "Erru de ferramienta esterno"
 
 msgid "Error executing the script:"
-msgstr "Erru executando'l script:"
+msgstr "Erru executando''l script:"
 
 msgid ""
 "Child script have returned invalid data.\n"
@@ -25606,7 +25742,7 @@ msgid "External Tool: {0}"
 msgstr "Ferramienta esterno: {0}"
 
 msgid "Edit tool"
-msgstr "Ferramienta d'Edición"
+msgstr "Ferramienta d''Edición"
 
 msgid "CmdLine:"
 msgstr "Llínea de Comandu:"
@@ -25636,7 +25772,7 @@ msgid "Failed to login as {0}:"
 msgstr "Hubo una falla al intentar ingresar como {0}:"
 
 msgid "The server did not return user ID"
-msgstr "El servidor nun devolvió un ID d'usuariu"
+msgstr "El servidor nun devolvió un ID d''usuariu"
 
 msgid "Failed to get messages as {0}:"
 msgstr "Hebo un fallu al llograr mensaxes de {0}:"
@@ -25662,7 +25798,7 @@ msgstr[0] "{0} usuariu"
 msgstr[1] "{0} usuarios"
 
 msgid "not logged in"
-msgstr "nun s'anició sesión"
+msgstr "nun s''anició sesión"
 
 msgid "Failed to log in to GeoChat:"
 msgstr "Hebo un fallu al aportar a GeoChat:"
@@ -25737,7 +25873,7 @@ msgid "Configure Device"
 msgstr "Configurar dispositivu"
 
 msgid "Importing data from device."
-msgstr "Importando datos dende'l dispositivu."
+msgstr "Importando datos dende''l dispositivu."
 
 msgid "Importing data from DG100..."
 msgstr "Importando datos dende DG100..."
@@ -25749,7 +25885,7 @@ msgid "imported data from {0}"
 msgstr "Datos importaos de {0}"
 
 msgid "No data found on device."
-msgstr "Nun s'atoparon datos nel dispositivu."
+msgstr "Nun s''atoparon datos nel dispositivu."
 
 msgid "Connection failed."
 msgstr "Conexón fallida."
@@ -25799,10 +25935,10 @@ msgstr "elementu de clase ensin nome"
 
 msgid "Tag element outside basetag and implication elements"
 msgstr ""
-"Etiqueta d'elementu fora de la base d'etiquetes y elementos d'implicación"
+"Etiqueta d''elementu fora de la base d''etiquetes y elementos d''implicación"
 
 msgid "Implications element below root child level"
-msgstr "Elementu de impliaciones debaxo del nivel d'hijo raíz"
+msgstr "Elementu de impliaciones debaxo del nivel d''hijo raíz"
 
 msgid "Tag without key"
 msgstr "Etiqueta ensin clave"
@@ -25821,22 +25957,22 @@ msgid "Closed class element while none was open"
 msgstr "Elementu de clase cerráu siendo que nengún foi abiertu"
 
 msgid "Closed basetags while it was not open"
-msgstr "Base d'etiquetes zarrada cuando entá nun foi abiertu"
+msgstr "Base d''etiquetes zarrada cuando entá nun foi abiertu"
 
 msgid "Closed implications while it was not open"
 msgstr "Implicaciones zarraes cuando entá nun foi abiertu"
 
 msgid "Tag element inside other tag element"
-msgstr "Elementu d'etiqueta dientro d'otru elementu d'etiqueta"
+msgstr "Elementu d''etiqueta dientro d''otru elementu d''etiqueta"
 
 msgid "Invalid opening xml tag <{0}> in state {1}"
 msgstr "Etiqueta d´apertura de xml <{0}> n´estáu {1} inválida"
 
 msgid "Condition isn''t finished at </condition> tag"
-msgstr "La condición nun foi rematada cola etiqueta /condition. <>"
+msgstr "La condición nun foi rematada cola etiqueta </condition>"
 
 msgid "Closing tag element that was not open"
-msgstr "Zarrando elementu d'etiqueta que nun foi abiertu"
+msgstr "Zarrando elementu d''etiqueta que nun foi abiertu"
 
 msgid "Invalid closing xml tag </{0}> in state {1}"
 msgstr "Etiqueta xml de zarru </{0}> n´estáu {1} inválida"
@@ -25881,7 +26017,7 @@ msgid "Collection must contain at least one condition"
 msgstr "La colección tien de contener siquier una condición"
 
 msgid "No ruleset has been selected!"
-msgstr "¡Nun s'escoyó nengún conxuntu de riegles!"
+msgstr "¡Nun s''escoyó nengún conxuntu de riegles!"
 
 msgid "No ruleset"
 msgstr "ensin conxuntu de riegles"
@@ -25941,13 +26077,13 @@ msgid "Bookmark name must not contain ''{0}''!"
 msgstr "¡El nome del marcador nun tien de contener ''{0}''!"
 
 msgid "Access class"
-msgstr "Clase d'accesu"
+msgstr "Clase d''accesu"
 
 msgid "Access class must not contain ''{0}''!"
 msgstr "Clase d´accesu nun tien de contener ''{0}''!"
 
 msgid "Access types"
-msgstr "Tipos d'accesu"
+msgstr "Tipos d''accesu"
 
 msgid "Vehicle properties"
 msgstr "Propiedaes del vehículu"
@@ -25959,7 +26095,7 @@ msgid "Max. incline up (%, pos.)"
 msgstr "Max. enclín ascendente (%, pos.)"
 
 msgid "Maximum incline the vehicle can go up"
-msgstr "Enclín máximu del vehículu n'ascensu"
+msgstr "Enclín máximu del vehículu n''ascensu"
 
 msgid "Max. incline down (%, pos.)"
 msgstr "Max. enclín descendente (%, pos.)"
@@ -25982,19 +26118,19 @@ msgstr "gradiente máximu de tipu de pista"
 
 msgid "Worst tracktype (1-5) the vehicle can still use, 0 for none"
 msgstr ""
-"Peor tipu de pista (1-5) que'l vehículu nun puede utilizar, 0 pa nengunu"
+"Peor tipu de pista (1-5) que''l vehículu nun puede utilizar, 0 pa nengunu"
 
 msgid "Change bookmark"
 msgstr "Camudar marcador"
 
 msgid "Edit access parameters"
-msgstr "Editar parámetros d'accesu"
+msgstr "Editar parámetros d''accesu"
 
 msgid "Graph View Dialog"
 msgstr "Diálogu de vista gráfica"
 
 msgid "Open the dialog for graph view configuration."
-msgstr "Abra'l cuadru de diálogu pa la configuración de la vista gráfica."
+msgstr "Abra''l cuadru de diálogu pa la configuración de la vista gráfica."
 
 msgid "default"
 msgstr "predetermináu"
@@ -26117,7 +26253,7 @@ msgid ""
 "Alternatively, the format FEET'' INCHES\" can be used."
 msgstr ""
 "Los llargores tienen de ser ingresaes con númberos decimales positivos y "
-"l'unidá ''m'', ''km'', ''la mio'' o ensin unidá.\n"
+"l''unidá ''m'', ''km'', ''la mio'' o ensin unidá.\n"
 "Tamién puede utilizar el formatu PIES'' PULGAES''."
 
 msgid ""
@@ -26146,22 +26282,22 @@ msgstr ""
 "calteres:: '','', '' '{' '', '' '}' '', ''='', ''|''"
 
 msgid "Imagery XML Files"
-msgstr "Arquivu XML d'Imaxes Aérees"
+msgstr "Arquivu XML d''Imaxes Aérees"
 
 msgid "Save Imagery XML file"
-msgstr "Guardar archivo XML d'Imaxe Aérea"
+msgstr "Guardar archivo XML d''Imaxe Aérea"
 
 msgid "XML Imagery Bounds"
-msgstr "Llendes del XML d'Imaxe Aérea"
+msgstr "Llendes del XML d''Imaxe Aérea"
 
 msgid "Generate Imagery XML bounds for the selection"
-msgstr "Xenerar llendes pal XML d'imaxe aérea pa la selección"
+msgstr "Xenerar llendes pal XML d''imaxe aérea pa la selección"
 
 msgid "edit bounds for selected defaults"
 msgstr "editar llendes pa los predefinidos escoyíos"
 
 msgid "Download imagery XML bounds"
-msgstr "Descargar les llendes del XML d'imaxe aérea"
+msgstr "Descargar les llendes del XML d''imaxe aérea"
 
 msgid ""
 "Validating error in file {0}:\n"
@@ -26170,10 +26306,10 @@ msgid ""
 msgstr ""
 "Validando erru nel arquivu {0}:\n"
 "{1}\n"
-"¿Deseya siguir ensin validar l'arquivu?"
+"¿Deseya siguir ensin validar l''arquivu?"
 
 msgid "Open Imagery XML file"
-msgstr "Abrir arquivu de XML d'imaxe aérea"
+msgstr "Abrir arquivu de XML d''imaxe aérea"
 
 msgid "Calibration Layer"
 msgstr "Capa de Calibración"
@@ -26191,24 +26327,24 @@ msgid "Deprecate Offset"
 msgstr "Rectificación obsoleta"
 
 msgid "Are you sure this imagery offset is wrong?"
-msgstr "¿Ta seguro de qu'esti desplazamientu d'imaxes ye incorrectu?"
+msgstr "¿Ta seguro de qu''esti desplazamientu d''imaxes ye incorrectu?"
 
 msgid "Are you sure this calibration geometry is aligned badly?"
 msgstr ""
-"¿Ta seguro de qu'esta xeometría de calibración atópase mal alliniada?"
+"¿Ta seguro de qu''esta xeometría de calibración atópase mal alliniada?"
 
 msgid "Warning: deprecation is basically irreversible!"
 msgstr "Alvertencia: ¡la depreciación ye básicamente irreversible!"
 
 msgid "To store imagery offsets you must be a registered OSM user."
 msgstr ""
-"P'almacenar imaxes rectificaes ten de ser un usuariu rexistráu de OSM."
+"P''almacenar imaxes rectificaes ten de ser un usuariu rexistráu de OSM."
 
 msgid ""
 "Please enter the reason why you mark this imagery offset as deprecated"
 msgstr ""
-"Por favor, introduza la razón pola que marca esta rectificación d'imaxe como "
-"obsoleta"
+"Por favor, introduza la razón pola que marca esta rectificación d''imaxe "
+"como obsoleta"
 
 msgid ""
 "Please enter the reason why you mark this calibration geometry as deprecated"
@@ -26223,12 +26359,12 @@ msgid "Get Imagery Offset..."
 msgstr "Llogrando imaxes rectificaes..."
 
 msgid "Download offsets for current imagery from a server"
-msgstr "Descargar rectificaciones pa les imaxes actuales dende'l servidor"
+msgstr "Descargar rectificaciones pa les imaxes actuales dende''l servidor"
 
 msgid ""
 "No data for this region. Please adjust imagery layer and upload an offset."
 msgstr ""
-"Nun hai datos pa esta rexón. Por favor, axuste la capa d'imaxes y xuba la "
+"Nun hai datos pa esta rexón. Por favor, axuste la capa d''imaxes y xuba la "
 "rectificación."
 
 msgid "Loading imagery offsets..."
@@ -26241,7 +26377,7 @@ msgid "Offset"
 msgstr "Desplazamientu"
 
 msgid "Imagery Offset Database"
-msgstr "Bases de datos d'imaxes rectificaes"
+msgstr "Bases de datos d''imaxes rectificaes"
 
 msgid "mm"
 msgstr "mm"
@@ -26266,8 +26402,8 @@ msgid ""
 "OSM data in the area. Please check that the offset is still valid\n"
 "by downloading GPS tracks and comparing them and OSM data to the imagery."
 msgstr ""
-"La capa cimera d'imaxes foi camudada pa presumiblemente coincidir\n"
-"colos datos de OSM de la zona. Por favor, compruebe que'l desplazamientu "
+"La capa cimera d''imaxes foi camudada pa presumiblemente coincidir\n"
+"colos datos de OSM de la zona. Por favor, compruebe que''l desplazamientu "
 "sigue siendo válidu\n"
 "en descargando trazar GPS, y compáreles colos datos OSM y les imaxes."
 
@@ -26287,13 +26423,14 @@ msgid "Created by {0} on {1}"
 msgstr "Creáu por {0} el {1}"
 
 msgid "Offset Information"
-msgstr "Información sobre'l desplazamientu"
+msgstr "Información sobre''l desplazamientu"
 
 msgid "Report this offset"
-msgstr "Informe d'esti desplazamientu"
+msgstr "Informe d''esti desplazamientu"
 
 msgid "You are to notify moderators of this offset. Why?"
-msgstr "Tas echando voz de a'l moderadores d'esti desplazamientu. ¿Por qué?"
+msgstr ""
+"Tas echando voz de a''l moderadores d''esti desplazamientu. ¿Por qué?"
 
 msgid "Reporting the offset..."
 msgstr "Informando del desplazamientu..."
@@ -26326,33 +26463,33 @@ msgid "Unable to connect to the server"
 msgstr "Non puede conectase col servidor"
 
 msgid "Store Imagery Offset..."
-msgstr "Almacenar rectificación d'imaxes..."
+msgstr "Almacenar rectificación d''imaxes..."
 
 msgid ""
 "Upload an offset for current imagery (or calibration object geometry) to a "
 "server"
 msgstr ""
-"Xubir una rectificación pa les imaxes actuales (o xeometría d'oxetu de "
+"Xubir una rectificación pa les imaxes actuales (o xeometría d''oxetu de "
 "calibración) a un servidor"
 
 msgid "Store calibration geometry"
 msgstr "Almacenar la xeometría de calibración"
 
 msgid "Store imagery offset"
-msgstr "Almacenar rectificación d'imaxes"
+msgstr "Almacenar rectificación d''imaxes"
 
 msgid ""
 "The selected object can be used as a calibration geometry. What do you "
 "intend to do?"
 msgstr ""
-"L'oxetu escoyíu pue ser utilizáu como una xeometría de calibración. ¿Qué "
+"L''oxetu escoyíu pue ser utilizáu como una xeometría de calibración. ¿Qué "
 "deseya faer?"
 
 msgid ""
 "The topmost imagery layer has no offset. Are you sure you want to upload "
 "this?"
 msgstr ""
-"La capa d'imaxes cimera nun tien nenguna rectificación. ¿Ta seguru que "
+"La capa d''imaxes cimera nun tien nenguna rectificación. ¿Ta seguru que "
 "deseya xubilo?"
 
 msgid ""
@@ -26361,8 +26498,8 @@ msgid ""
 "Please make sure it is as precise as possible, and describe a region this "
 "offset is applicable to."
 msgstr ""
-"Ta rexistrando un desplazamientu d'imaxes. Otros usuarios nesta área van ser "
-"capaces d'utilizalo pa cartografiar.\n"
+"Ta rexistrando un desplazamientu d''imaxes. Otros usuarios nesta área van "
+"ser capaces d''utilizalo pa cartografiar.\n"
 "Por favor, asegúrese de que tea lo más preciso posible y describa una rexón "
 "pa la que ye aplicable esta rectificación."
 
@@ -26372,8 +26509,8 @@ msgid ""
 "clearly visible boundaries on various satellite imagery. Please describe "
 "this object and its whereabouts."
 msgstr ""
-"Ta rexistrando un desplazamientu d'imaxes. Otros usuarios nesta área van ser "
-"capaces d'utilizalo pa cartografiar.\n"
+"Ta rexistrando un desplazamientu d''imaxes. Otros usuarios nesta área van "
+"ser capaces d''utilizalo pa cartografiar.\n"
 "Por favor, asegúrese de que tea lo más preciso posible y describa una rexón "
 "pa la que ye aplicable esta rectificación."
 
@@ -26388,19 +26525,19 @@ msgid "Adjust imagery"
 msgstr "Axustar imaxe aérea"
 
 msgid "Adjust the position of the selected imagery layer"
-msgstr "Axustar la posición de la capa d'imaxe aérea escoyida"
+msgstr "Axustar la posición de la capa d''imaxe aérea escoyida"
 
 msgid "Please select the imagery layer to adjust."
-msgstr "Por favor escueya la capa d'imaxe aérea a axustar."
+msgstr "Por favor escueya la capa d''imaxe aérea a axustar."
 
 msgid "Start adjusting"
-msgstr "Empecipiar l'axuste."
+msgstr "Empecipiar l''axuste."
 
 msgid "There are currently no imagery layer to adjust."
-msgstr "Anguaño nun hai nenguna capa d'imaxe aérea p'afaer."
+msgstr "Anguaño nun hai nenguna capa d''imaxe aérea p''afaer."
 
 msgid "No layers to adjust"
-msgstr "Nun hai capes p'axustar"
+msgstr "Nun hai capes p''axustar"
 
 msgid "Normal"
 msgstr "Normal"
@@ -26442,7 +26579,7 @@ msgid "Imported Images"
 msgstr "Imaxes importaes"
 
 msgid "Image files (*.jpg, *.jpeg, *.png, *.gif)"
-msgstr "Arquivos d'imaxe (*.jpg, *.jpeg, *.png, *.gif)"
+msgstr "Arquivos d''imaxe (*.jpg, *.jpeg, *.png, *.gif)"
 
 msgid "Import vector graphics"
 msgstr "Importar gráficos vectoriales"
@@ -26472,8 +26609,8 @@ msgid ""
 "Move the mouse to show trackpoint info for current layer. Hold shift to "
 "highlight tracks"
 msgstr ""
-"Mueva'l punteru del mure p'amosar información de trazáu pa la capa actual. "
-"Caltenga'l desplazamientu pa marcar les pistes"
+"Mueva''l punteru del mure p''amosar información de trazáu pa la capa actual. "
+"Caltenga''l desplazamientu pa marcar les pistes"
 
 msgid "Delete this"
 msgstr "Esaniciar esto"
@@ -26488,7 +26625,7 @@ msgid "Track name: "
 msgstr "Nome de pista: "
 
 msgid "Update IRS adjustment layer"
-msgstr "Actualizar la capa d'axuste IRS"
+msgstr "Actualizar la capa d''axuste IRS"
 
 msgid ""
 "This option creates IRS adjustment layer and a little way inside it. You "
@@ -26496,7 +26633,7 @@ msgid ""
 "Resulting layer is to be saved as .osm and sent to Komzpa (me at komzpa.net) "
 "with [irs rectify] in subject."
 msgstr ""
-"Esta opción crea una capa d'axuste IRS y una vía pequena dientro d'ella. "
+"Esta opción crea una capa d''axuste IRS y una vía pequena dientro d''ella. "
 "Rique afaer el llugar de la so capa WMS primeru.\n"
 "La capa resultante va guardase como .osm y va ser unviada a Komzpa "
 "(me at komzpa.net) cola tema [irs rectify]."
@@ -26553,7 +26690,7 @@ msgid "Junctionchecking/junctions searching"
 msgstr "Busca de cruces/verificación de cruces"
 
 msgid "order of junction (n):"
-msgstr "Grau d'encruz (n):"
+msgstr "Grau d''encruz (n):"
 
 msgid "produce OSM-Relations: junction"
 msgstr "producir Relaciones-OSM: encruz"
@@ -26561,7 +26698,7 @@ msgstr "producir Relaciones-OSM: encruz"
 msgid ""
 "if enabled the plugin produces osm-relations from the junction subgraphs"
 msgstr ""
-"Si ta activáu'l componente crea relaciones OSM a partir de la unión de "
+"Si ta activáu''l componente crea relaciones OSM a partir de la unión de "
 "subgrafos"
 
 msgid "create the channel digraph"
@@ -26611,7 +26748,7 @@ msgid "Looking for shoreline..."
 msgstr "Buscando llínea de mariña..."
 
 msgid "{0} nodes so far..."
-msgstr "{0} nodos hasta'l momentu..."
+msgstr "{0} nodos hasta''l momentu..."
 
 msgid "Lake Walker."
 msgstr "Lake Walker."
@@ -26692,10 +26829,10 @@ msgid "Size of Landsat tiles (pixels)"
 msgstr "Tamañu de les teseles del Landsat (píxeles)"
 
 msgid "Shift all traces to east (degrees)"
-msgstr "Dirixir toes trazar escontra l'Este (graos)"
+msgstr "Dirixir toes trazar escontra l''Este (graos)"
 
 msgid "Shift all traces to north (degrees)"
-msgstr "Dirixir toes trazar escontra'l Norte (graos)"
+msgstr "Dirixir toes trazar escontra''l Norte (graos)"
 
 msgid "Direction to search for land"
 msgstr "Dirección pa buscar pela tierra"
@@ -26719,7 +26856,7 @@ msgid "Lakewalker Plugin Preferences"
 msgstr "Preferencies de Lakewalker Plugin"
 
 msgid "A plugin to trace water bodies on Landsat imagery."
-msgstr "Un componente p'alcontrar les llámines d'agua nes imaxes Landsat."
+msgstr "Un componente p''alcontrar les llámines d''agua nes imaxes Landsat."
 
 msgid ""
 "Maximum number of segments allowed in each generated way. Default 250."
@@ -26738,7 +26875,7 @@ msgid ""
 "in the range 0-255. Default 90."
 msgstr ""
 "Máximu valor de gris a aceptar como enagua (basáu en datos Landsat DIR-1). "
-"Puede tar ente l'intervalu 0-255. Por omisión 90."
+"Puede tar ente l''intervalu 0-255. Por omisión 90."
 
 msgid ""
 "Accuracy of Douglas-Peucker line simplification, measured in "
@@ -26756,7 +26893,7 @@ msgstr ""
 "4000."
 
 msgid "Size of one landsat tile, measured in pixels. Default 2000."
-msgstr "Tamañu d'una tesela Landsat, midíu en píxeles. Por omisión 2000."
+msgstr "Tamañu d''una tesela Landsat, midíu en píxeles. Por omisión 2000."
 
 msgid "Offset all points in East direction (degrees). Default 0."
 msgstr "Mover tolos puntos en dirección Esti (por omisión 0 graos)."
@@ -26851,13 +26988,13 @@ msgid "Open MapDust"
 msgstr "Abrir MapDust"
 
 msgid "MapDust bug reports"
-msgstr "Informes d'erru de MapDust"
+msgstr "Informes d''erru de MapDust"
 
 msgid "Activates the MapDust bug reporter plugin"
-msgstr "Activar el complementu d'informes d'erru de MapDust"
+msgstr "Activar el complementu d''informes d''erru de MapDust"
 
 msgid "Missing input data"
-msgstr "Falten datos d'entrada"
+msgstr "Falten datos d''entrada"
 
 msgid "Measured values"
 msgstr "Valores midíos"
@@ -26927,7 +27064,7 @@ msgstr "Añedir xiros prohibíos a la izquierda pal conxuntu de 4 o 5 víes."
 
 msgid "Please select 4 or 5 ways to assign no left turns."
 msgstr ""
-"Por favor, escueya 4 o 5 víes p'asignar xiros prohibíos a la izquierda."
+"Por favor, escueya 4 o 5 víes p''asignar xiros prohibíos a la izquierda."
 
 msgid "Please select 4 ways that form a closed relation."
 msgstr "Por favor, escueya 4 víes que conformen una relación zarrada"
@@ -26939,7 +27076,7 @@ msgid "Create Michigan left turn restriction"
 msgstr "Crear Michigan left turn restriction"
 
 msgid "Unable to find via nodes. Please check your selection"
-msgstr "Nun s'atoparon nodos de vía. Por favor revise la so selección"
+msgstr "Nun s''atoparon nodos de vía. Por favor revise la so selección"
 
 msgid ""
 "XAPI query, e.g., '''' (to download all data), ''[highway=*]'', or "
@@ -26949,7 +27086,7 @@ msgstr ""
 "''[[network=VRR][ref=603|613]''"
 
 msgid "Download from OSM mirror..."
-msgstr "Descargar dende'l servidor espeyu OSM..."
+msgstr "Descargar dende''l servidor espeyu OSM..."
 
 msgid "This XAPI query seems to be invalid, please doublecheck"
 msgstr ""
@@ -26957,10 +27094,10 @@ msgstr ""
 "verificación"
 
 msgid "Object type: "
-msgstr "Tipu d'oxetu: "
+msgstr "Tipu d''oxetu: "
 
 msgid "OSM object type to download (''*'' stands for any)"
-msgstr "Tipu d'oxetu OSM a descargase (utilizar ''*'' pa cualesquier)"
+msgstr "Tipu d''oxetu OSM a descargase (utilizar ''*'' pa cualesquier)"
 
 msgid "XAPI query: "
 msgstr "Consulta XAPI: "
@@ -26969,7 +27106,7 @@ msgid "Download from Overpass API ..."
 msgstr "Descargando dende la API Overpass..."
 
 msgid "Download map data from Overpass API server."
-msgstr "Descargar datos del mapa dende'l servidor API Overpass."
+msgstr "Descargar datos del mapa dende''l servidor API Overpass."
 
 msgid "Overpass query: "
 msgstr "Consulta de nivel superior: "
@@ -26988,7 +27125,7 @@ msgid "Enforce meta data"
 msgstr "Forzar metadatu"
 
 msgid "About Plugin"
-msgstr "So'l plugin"
+msgstr "So''l plugin"
 
 msgid "Native password manager plugin"
 msgstr "Complementu de xestión de contraseñes natives"
@@ -27005,13 +27142,14 @@ msgstr ""
 
 msgid "No thanks, use JOSM''s plain text preferences storage"
 msgstr ""
-"Non gracies, utilice les preferencies d'almacenamientu de JOSM en testu claru"
+"Non gracies, utilice les preferencies d''almacenamientu de JOSM en testu "
+"claru"
 
 msgid ""
 "Found sensitive data that is still saved in JOSM''s preference file (plain "
 "text)."
 msgstr ""
-"Atopáronse datos sensibles qu'inda tán almacenaos nel arquivu de "
+"Atopáronse datos sensibles qu''inda tán almacenaos nel arquivu de "
 "preferencies de JOSM (testu claru)."
 
 msgid "Transfer to password manager and remove from preference file"
@@ -27022,7 +27160,7 @@ msgid "No, just keep it"
 msgstr "Non, solo calténgalo"
 
 msgid "Close the dialog and discard all changes"
-msgstr "Zarre'l diálogu y refugue tolos cambeos"
+msgstr "Zarre''l diálogu y refugue tolos cambeos"
 
 msgid "Proceed and go to the next page"
 msgstr "Proceda y siga a la siguente páxina"
@@ -27034,7 +27172,7 @@ msgid "Confirm the setup and close this dialog"
 msgstr "Confirmar la configuración y pesllar esti cuadru de diálogu"
 
 msgid "JOSM/OSM API/Username"
-msgstr "Nome d'usuariu"
+msgstr "Nome d''usuariu"
 
 msgid "JOSM/OSM API/Password"
 msgstr "Contraseña/API JOSM/OSM"
@@ -27046,7 +27184,7 @@ msgid "{0}/Password"
 msgstr "{0}/Contraseña"
 
 msgid "JOSM/Proxy/Username"
-msgstr "JOSM/Proxy/Nome d'usuariu"
+msgstr "JOSM/Proxy/Nome d''usuariu"
 
 msgid "JOSM/Proxy/Password"
 msgstr "JOSM/Proxy/Contraseña"
@@ -27064,13 +27202,13 @@ msgid "The username and password is protected by {0}."
 msgstr "El nome d´usuariu y la contraseña tán protexíos por {0}."
 
 msgid "username"
-msgstr "nome d'usuariu"
+msgstr "nome d''usuariu"
 
 msgid "password"
 msgstr "contraseña"
 
 msgid "proxy username"
-msgstr "Nome d'usuariu del proxy"
+msgstr "Nome d''usuariu del proxy"
 
 msgid "proxy password"
 msgstr "contraseña del proxy"
@@ -27098,7 +27236,7 @@ msgid "Use {0}"
 msgstr "Utilizar {0}"
 
 msgid "Encrypt data with Windows logon credentials"
-msgstr "Cifrar los datos con credenciales d'entamu de sesión de Windows"
+msgstr "Cifrar los datos con credenciales d''entamu de sesión de Windows"
 
 msgid "The native password manager plugin detected {0} on your system."
 msgstr ""
@@ -27154,7 +27292,7 @@ msgid "I understand and accept these terms and conditions"
 msgstr "Entiendo y acepto estos términos y condiciones"
 
 msgid "View the full text of this license"
-msgstr "Ver el testu completu d'esta llicencia"
+msgstr "Ver el testu completu d''esta llicencia"
 
 msgid "I refuse these terms and conditions. Cancel download."
 msgstr "Refugo estos términos y condiciones. Atayar la descarga."
@@ -27166,7 +27304,7 @@ msgid ""
 "Please click on <strong>Download list</strong> to download and display a "
 "list of available modules."
 msgstr ""
-"Por favor, prima en <strong>Descargar llista /strong<> pa descargar y amosar "
+"Por favor, prima en <strong>Descargar llista</strong> pa descargar y amosar "
 "una llista de módulos disponibles."
 
 msgid ""
@@ -27203,7 +27341,7 @@ msgid "Update the selected modules"
 msgstr "Actualizar los módulos escoyíos"
 
 msgid "Please restart JOSM to activate the downloaded modules."
-msgstr "Por favor reinice JOSM p'activar los módulos escoyíos"
+msgstr "Por favor reinice JOSM p''activar los módulos escoyíos"
 
 msgid ""
 "All installed modules are up to date. JOSM does not have to download newer "
@@ -27216,7 +27354,7 @@ msgid "Modules up to date"
 msgstr "Módulos actualizaos"
 
 msgid "Configure the list of sites where modules are downloaded from"
-msgstr "Configurar la llista de sitios d'onde se descarguen los módulos:"
+msgstr "Configurar la llista de sitios d''onde se descarguen los módulos:"
 
 msgid "Add Open Data Module description URL."
 msgstr "Añedir URL descriptiva de módulu de datos abiertos."
@@ -27235,7 +27373,7 @@ msgstr "Diferencies"
 
 msgid "Perform diff between current data set and existing OSM data."
 msgstr ""
-"Visualizar les diferencies ente'l conjutno de datos actuales y los datos "
+"Visualizar les diferencies ente''l conjutno de datos actuales y los datos "
 "esistentes en OSM."
 
 msgid "Open tools menu for this data."
@@ -27256,8 +27394,8 @@ msgid ""
 "loaded by this plugin."
 msgstr ""
 "Componente pa utilizar dellos portales de datos abiertos.<br/><br/> Por "
-"favor, llea los términos y condiciones d'usu de cada portal antes de xubir a "
-"OSM cualquier datu cargáu con esti componente."
+"favor, llea los términos y condiciones d''usu de cada portal antes de xubir "
+"a OSM cualquier datu cargáu con esti componente."
 
 msgid "General settings"
 msgstr "Configuración xeneral"
@@ -27282,7 +27420,7 @@ msgid ""
 "XAPI server used to download OSM data when Overpass API is not available"
 msgstr ""
 "El servidor XAPI utilizáu pa descargar datos OSM por aciu API Overpass nun "
-"s'atopa disponible"
+"s''atopa disponible"
 
 msgid "Download modules"
 msgstr "Módulos descargaos"
@@ -27331,10 +27469,10 @@ msgid ""
 "km</b>) ?<br/><br/>If so, <b>do NOT upload</b> such data to OSM !"
 msgstr ""
 "JOSM nun pudo atopar un tresformamientu matemáticu estricta ente ''{0}'' y "
-"WGS84.<br /><br />¿Deseya intentar un métodu i <>tolerante /i<> method, que "
-"va executar un tresformamientu non-precisu (<b>con erros d'allugamientu "
-"d'hasta 1 km</b>) ?<br/><br/>Si asina lu deseya, ¡<b>NUN publicar</b> dichos "
-"datos en OSM !"
+"WGS84.<br /><br />¿Deseya intentar un métodu <i>tolerante</i> method, que va "
+"executar un tresformamientu non-precisu (<b>con erros d''allugamientu "
+"d''hasta 1 km</b>) ?<br/><br/>Si asina lu deseya, ¡<b>NUN publicar</b> "
+"dichos datos en OSM !"
 
 msgid "Try lenient method"
 msgstr "Intentar un métodu tolerante"
@@ -27377,7 +27515,7 @@ msgid "ODS files"
 msgstr "Arquivos ODS"
 
 msgid "No valid coordinates have been found."
-msgstr "Nun s'atoparon coordenaes válides."
+msgstr "Nun s''atoparon coordenaes válides."
 
 msgid "Invalid file. Bad length on line {0}. Expected {1} columns, got {2}."
 msgstr ""
@@ -27452,24 +27590,24 @@ msgid "Last module update more than {0} days ago."
 msgstr "La última actualización del módulu foi fai más de {0} díes."
 
 msgid "Click to update the activated modules"
-msgstr "Faiga clic p'actualizar los módulos activaos"
+msgstr "Faiga clic p''actualizar los módulos activaos"
 
 msgid "Click to skip updating the activated modules"
-msgstr "Faiga clic pa omitir l'actualización de los módulos activaos"
+msgstr "Faiga clic pa omitir l''actualización de los módulos activaos"
 
 msgid ""
 "Skipping module update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
-"Suspender l'actualización del modulo una vegada trescurríu l'intervalu "
-"d'actualización. L'actualización automática nel entamu va evacuase."
+"Suspender l''actualización del modulo una vegada trescurríu l''intervalu "
+"d''actualización. L''actualización automática nel entamu va evacuase."
 
 msgid ""
 "Running module update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
-"Executar el módulu dempués de trescurríu l'intervalu d'actualización. "
-"L'actualización automática al entamu va evacuase."
+"Executar el módulu dempués de trescurríu l''intervalu d''actualización. "
+"L''actualización automática al entamu va evacuase."
 
 msgid "Could not load module {0}. Delete from preferences?"
 msgstr "Non pudo cargase el módulu {0}. ¿Esanicialo de les preferencies?"
@@ -27496,7 +27634,7 @@ msgstr "Cargando módulu ''{0}''..."
 
 msgid "JOSM could not find information about the following module:"
 msgid_plural "JOSM could not find information about the following modules:"
-msgstr[0] "JOSM nun pudo atopar información sobre'l siguiente módulu:"
+msgstr[0] "JOSM nun pudo atopar información sobre''l siguiente módulu:"
 msgstr[1] "JOSM nun pudo atopar información sobre los siguientes módulos:"
 
 msgid "The module is not going to be loaded."
@@ -27506,14 +27644,15 @@ msgstr[1] "Los módulos nun van ser cargaos."
 
 msgid "Updating the following module has failed:"
 msgid_plural "Updating the following modules has failed:"
-msgstr[0] "L'actualización del módulu siguiente falló:"
-msgstr[1] "L'actualización de los módulos siguientes falló:"
+msgstr[0] "L''actualización del módulu siguiente falló:"
+msgstr[1] "L''actualización de los módulos siguientes falló:"
 
 msgid "Module update failed"
-msgstr "Falló l'actualización del módulu"
+msgstr "Falló l''actualización del módulu"
 
 msgid "Warning: failed to download module information list"
-msgstr "Alvertencia: falló la descarga de la llista d'información de módulos"
+msgstr ""
+"Alvertencia: falló la descarga de la llista d''información de módulos"
 
 msgid "Disable module"
 msgstr "Deshabilitar módulu"
@@ -27728,7 +27867,7 @@ msgid "Orthogonal shapes"
 msgstr "Formes ortogonales"
 
 msgid "Import settings"
-msgstr "Axustes d'importación"
+msgstr "Axustes d''importación"
 
 msgid "Introduce separate layers for:"
 msgstr "Introducir capes separaes pa:"
@@ -27790,13 +27929,13 @@ msgid "Tolerance is not a number"
 msgstr "La tolerancia non ye un númberu"
 
 msgid "Could not parse color"
-msgstr "No pudo analizase'l color"
+msgstr "No pudo analizase''l color"
 
 msgid "Could not parse max path count"
 msgstr "Non pudo traducise el contador máximu de caminos"
 
 msgid "Parsing file"
-msgstr "Analizando sintáuticamente l'arquivu"
+msgstr "Analizando sintáuticamente l''arquivu"
 
 msgid "File not found."
 msgstr "Ficheru non alcontráu."
@@ -27868,13 +28007,13 @@ msgid "Encrypted documents not supported."
 msgstr "Los documentos encriptaos nun tán soportaos"
 
 msgid "The PDF file must have exactly one page."
-msgstr "L'arquivu PDF tien de tener exáctamente una páxina"
+msgstr "L''arquivu PDF tien de tener exáctamente una páxina"
 
 msgid "Read error: "
 msgstr "Erru de lectura: "
 
 msgid "Write error: "
-msgstr "Erru d'escritura: "
+msgstr "Erru d''escritura: "
 
 msgid "Write coordinates to image header"
 msgstr "Escribir coordenaes na encabezadura de la imaxe"
@@ -27904,7 +28043,7 @@ msgid "Photo Geotagging Plugin"
 msgstr "Plugin pa geolocalización de fotografíes"
 
 msgid "Writing position information to image files..."
-msgstr "Escribiendo información de posición a ficheros d'imaxes..."
+msgstr "Escribiendo información de posición a ficheros d''imaxes..."
 
 msgid "Could not read mtime."
 msgstr "Non pudo lleese mtime."
@@ -27916,7 +28055,7 @@ msgid "File could not be deleted!"
 msgstr "¡Non pudo desaniciar el ficheru!"
 
 msgid "Could not rename file!"
-msgstr "¡Non pudo reñomase'l ficheru!"
+msgstr "¡Non pudo reñomase''l ficheru!"
 
 msgid "Could not rename file {0} to {1}!"
 msgstr "¡No pudo reñomase´l arquivu {0} a {1}!"
@@ -27924,7 +28063,7 @@ msgstr "¡No pudo reñomase´l arquivu {0} a {1}!"
 msgid "<html><h3>There are old backup files in the image directory!</h3>"
 msgstr ""
 "<html><h3>Hai vieyos arquivos de copia de seguridá nel directoriu "
-"d'imaxes</h3>"
+"d''imaxes</h3>"
 
 msgid "Override old backup files?"
 msgstr "¿Sobreescribir copies de seguridá vieyes?"
@@ -27936,7 +28075,7 @@ msgid "Override"
 msgstr "Anular"
 
 msgid "Could not delete temporary file!"
-msgstr "¡Non pudo borrase'l ficheru temporal!"
+msgstr "¡Non pudo borrase''l ficheru temporal!"
 
 msgid "Test failed: Could not read mtime."
 msgstr "La prueba falló: Non pudo lleese el mtime."
@@ -27950,8 +28089,10 @@ msgstr "Axuntar semeyes"
 msgid "Move and position photos"
 msgstr "Mover y asitiar semeyes"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "Faiga clic y arrastre la semeya o Mayús+clic p'asitiar la semeya"
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr "Por favor cargue delles semeyes."
@@ -27960,7 +28101,7 @@ msgid "Toggle the image thumbnail preview"
 msgstr "Activar/desactivar la previsualización en miniatures de la imaxe"
 
 msgid "New layer for untagged images"
-msgstr "Nueva capa d'imaxes ensin etiquetar"
+msgstr "Nueva capa d''imaxes ensin etiquetar"
 
 msgid "Untagged Images"
 msgstr "Imaxes ensin etiquetar"
@@ -27969,10 +28110,10 @@ msgid "Do you want to save current calibration of layer {0}?"
 msgstr "¿Deseya guardar la calibración de la capa actual {0}?"
 
 msgid "Load Picture Calibration..."
-msgstr "Cargar calibración d'imaxes..."
+msgstr "Cargar calibración d''imaxes..."
 
 msgid "Loads calibration data from a file"
-msgstr "Carga datos de calibración d'un ficheru"
+msgstr "Carga datos de calibración d''un ficheru"
 
 msgid "Loading file failed: {0}"
 msgstr "Falló la carga´l ficheru: {0}"
@@ -28002,13 +28143,13 @@ msgid "Saving file failed: {0}"
 msgstr "Fallu al grabar ficheru: {0}"
 
 msgid "New picture layer from clipboard"
-msgstr "Nueva capa d'imaxes dende'l portapapeles"
+msgstr "Nueva capa d''imaxes dende''l portapapeles"
 
 msgid "Supported image files, *.zip, *.kml"
 msgstr "Arquivos de imaxe soportaos, *.zip, *.kml"
 
 msgid "New picture layer from file..."
-msgstr "Nueva capa d'imaxes dende un arquivu..."
+msgstr "Nueva capa d''imaxes dende un arquivu..."
 
 msgid ""
 "KML calibration is in beta stage and may produce incorrectly calibrated "
@@ -28021,7 +28162,7 @@ msgstr ""
 "incorrectamente."
 
 msgid "PicLayer move"
-msgstr "Mover Capa d'Imaxe(PicLayer)"
+msgstr "Mover Capa d''Imaxe(PicLayer)"
 
 msgid "Moved"
 msgstr "Movíu"
@@ -28030,7 +28171,7 @@ msgid "Drag to move the picture"
 msgstr "Abasnar pa mover la imaxe"
 
 msgid "PicLayer rotate"
-msgstr "Rotar capa d'imaxe"
+msgstr "Rotar capa d''imaxe"
 
 msgid "Rotated"
 msgstr "Xiráu"
@@ -28108,7 +28249,7 @@ msgid "Calibration Files"
 msgstr "Calibrar ficheros"
 
 msgid "Could not find the map object."
-msgstr "Nun s'atopó l'oxetu mapa."
+msgstr "Nun s''atopó l''oxetu mapa."
 
 msgid "PicLayer failed to load or import the image."
 msgstr "PicLayer falló al cargar o importar la imaxe."
@@ -28145,8 +28286,8 @@ msgstr "Va aplicase automáticamente."
 msgid ""
 "Also, from now on, calibration files will always be loaded automatically."
 msgstr ""
-"Amás, d'equí p'arriba, los arquivos de calibración van ser cargaos de forma "
-"automática."
+"Amás, d''equí p''arriba, los arquivos de calibración van ser cargaos de "
+"forma automática."
 
 msgid "Point info"
 msgstr "Información del puntu"
@@ -28182,7 +28323,7 @@ msgid "Error reading poly file: {0}"
 msgstr "Erru al lleer arquivu de polígonu: {0}"
 
 msgid "The file must begin with a polygon name"
-msgstr "L'arquivu tien de tener un nome de polígonu"
+msgstr "L''arquivu tien de tener un nome de polígonu"
 
 msgid "There are less than 2 points in an area"
 msgstr "Hai menos de 2 puntos nuna área"
@@ -28300,14 +28441,14 @@ msgid ""
 "There exists no dataset. Try to download data from the server or open an OSM "
 "file."
 msgstr ""
-"Nun esiste nengún conxuntu de datos. Intente descargar datos dende'l "
+"Nun esiste nengún conxuntu de datos. Intente descargar datos dende''l "
 "servidor o abra un arquivu OSM."
 
 msgid "No data found"
-msgstr "Non s'atoparon datos"
+msgstr "Non s''atoparon datos"
 
 msgid "The GTFS file was empty."
-msgstr "L'arquivu GRFS taba valeru."
+msgstr "L''arquivu GRFS taba valeru."
 
 msgid "Create Stops from GTFS"
 msgstr "Crear paraes dende GTFS"
@@ -28448,7 +28589,7 @@ msgid "left hand side"
 msgstr "llau de la manzorga"
 
 msgid "Maximum distance from route"
-msgstr "Distancia máxima dende l'itinerariu"
+msgstr "Distancia máxima dende l''itinerariu"
 
 msgid "Public Transport: Change stop type"
 msgstr "Tresporte públicu: camudar tipu de parada"
@@ -28460,16 +28601,16 @@ msgid "Create Stops from a GPX file"
 msgstr "Crear paraes dende un arquivu GPX"
 
 msgid "Select GPX file"
-msgstr "Escoyer l'arquivu GPX"
+msgstr "Escoyer l''arquivu GPX"
 
 msgid "The GPX file contained no tracks or waypoints."
-msgstr "L'arquivu GPX nun contenía traces nin puntos d'interés."
+msgstr "L''arquivu GPX nun contenía traces nin puntos d''interés."
 
 msgid "Create Stops from GPX"
 msgstr "Crear paraes dende GPX"
 
 msgid "Tracks in this GPX file:"
-msgstr "Traces n'esti arquivu GPX:"
+msgstr "Traces n''esti arquivu GPX:"
 
 msgid "Detach"
 msgstr "Dixebrar"
@@ -28481,7 +28622,7 @@ msgid ""
 "The GPX file doesn''t contain valid trackpoints. Please use a GPX file that "
 "has trackpoints."
 msgstr ""
-"L'arquivu GPX nun contien puntos de traza válidos. Por favor utilice un "
+"L''arquivu GPX nun contien puntos de traza válidos. Por favor utilice un "
 "arquivu GPX que contenga puntos de traza."
 
 msgid "GPX File Trouble"
@@ -28530,7 +28671,7 @@ msgid "Relation Toolbox"
 msgstr "Caja de ferramientes de rellaciones"
 
 msgid "Open relation/multipolygon editor panel"
-msgstr "Abrir el panel d'edición de rellaciones/multipolígonu"
+msgstr "Abrir el panel d''edición de rellaciones/multipolígonu"
 
 msgid "Specify role"
 msgstr "Especificar rol"
@@ -28547,7 +28688,7 @@ msgstr ""
 "rellación de llendes"
 
 msgid "Move area tags from contour to relation"
-msgstr "Mover les etiquetes d'área dende la contorna a la relación"
+msgstr "Mover les etiquetes d''área dende la contorna a la relación"
 
 msgid "When moving tags, consider even non-repeating ones"
 msgstr "Al mover etiquetes considere inclusive aquelles que nun se repiten"
@@ -28628,6 +28769,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruyir polígonos a partir de la relación {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Abrir la páxina de la wiki rellacionada"
 
@@ -28667,6 +28811,12 @@ msgstr "Atopóse un nodo ensin el rol ''label'' o ''admin_centre''"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Atopóse una vía ensin el rol ''inner'' o ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Conxuntu de cambeos revertíu na so totalidá"
 
@@ -28683,7 +28833,7 @@ msgid "Revert"
 msgstr "Revertir"
 
 msgid "Enter the ID of the changeset that should be reverted"
-msgstr "Ingresar l'ID del conxuntu de cambeos que tendría de ser revertíu"
+msgstr "Ingresar l''ID del conxuntu de cambeos que tendría de ser revertíu"
 
 msgid "Reverted changeset"
 msgstr "Conxuntu de cambeos revertíu"
@@ -28695,13 +28845,13 @@ msgid "Missing merge target for {0} with id {1}"
 msgstr "Destín d´amiestu ausente pa {0} con id {1}"
 
 msgid "Objects history"
-msgstr "Historial d'oxetos"
+msgstr "Historial d''oxetos"
 
 msgid "History reverter"
-msgstr "Revertidor d'hestoria"
+msgstr "Revertidor d''hestoria"
 
 msgid "Preparing history data..."
-msgstr "Preparando datos d'hestoria..."
+msgstr "Preparando datos d''hestoria..."
 
 msgid "Remote Control has been asked to revert a changeset."
 msgstr "A Control Remotu solicitóse-y revertir un conxuntu de cambeos"
@@ -28715,7 +28865,7 @@ msgid ""
 msgstr ""
 "Esti conxuntu de cambeos tien oxetos que nun tán presentes nel conxuntu de "
 "datos actual.\n"
-"Precisa descargáselos antes d'empecipiar la reversión. ¿Deseya siguir?"
+"Precisa descargáselos antes d''empecipiar la reversión. ¿Deseya siguir?"
 
 msgid "Confirm"
 msgstr "Confirmar"
@@ -28807,7 +28957,7 @@ msgid "Edit relations"
 msgstr "Editar relaciones"
 
 msgid "No relation is selected"
-msgstr "Non s'escoyó nenguna relación"
+msgstr "Non s''escoyó nenguna relación"
 
 msgid "Remove node ''{0}'' at position {1} from relation ''{2}''"
 msgstr "Esaniciar nodo ''{0}'' na posición {1} de la relación ''{2}''"
@@ -28840,7 +28990,7 @@ msgid "Open a list of routing nodes"
 msgstr "Abrir una llista de nodos de enrutamientu"
 
 msgid "Add routing layer"
-msgstr "Añedir capa d'enrutáu"
+msgstr "Añedir capa d''enrutáu"
 
 msgid "Criteria"
 msgstr "Criteriu"
@@ -28896,7 +29046,7 @@ msgid "Enter credentials for Separate Data Store API"
 msgstr "Ingresar les credenciales pal API de Separate Data Store"
 
 msgid "Please enter the user name of your SDS account"
-msgstr "Por favor ingrese'l nome d'usuariu pa la so cuenta SDS"
+msgstr "Por favor ingrese''l nome d''usuariu pa la so cuenta SDS"
 
 msgid "Please enter the password of your SDS account"
 msgstr "Por favor ingrese la contraseña de la so cuenta SDS"
@@ -28915,7 +29065,7 @@ msgid "Load..."
 msgstr "Cargar..."
 
 msgid "Load separate data store data from a file."
-msgstr "Cargar datos d'almacenamientu separaos dende un arquivu."
+msgstr "Cargar datos d''almacenamientu separaos dende un arquivu."
 
 msgid "Loading files"
 msgstr "Lleendo arquivos"
@@ -28927,7 +29077,7 @@ msgid "Information about SDS."
 msgstr "Información sobre el SDS."
 
 msgid "About SDS..."
-msgstr "Sobre'l SDS..."
+msgstr "Sobre''l SDS..."
 
 msgid "Open a preferences dialog for SDS."
 msgstr "Abrir un cuadru de diálogu de preferencies pa SDS"
@@ -28948,28 +29098,28 @@ msgid ""
 "The user name at the SDS server. You need to create an account with the SDS "
 "admin first."
 msgstr ""
-"El nome d'usuariu nel servidor SDS. Precisa crear una cuenta col "
+"El nome d''usuariu nel servidor SDS. Precisa crear una cuenta col "
 "alministrador SDS primeru."
 
 msgid ""
 "The password at the SDS server. You need to create an account with the SDS "
 "admin first."
 msgstr ""
-"La contraseña nel servidor SDS. Precisa crear una cuenta com l'alministrador "
-"de SDS primeru."
+"La contraseña nel servidor SDS. Precisa crear una cuenta com "
+"l''alministrador de SDS primeru."
 
 msgid ""
 "Tags beginning with this prefix are never saved to OSM, but to the SDS "
 "server only."
 msgstr ""
-"Les etiquetes qu'empiecen con esti prefixu nun van ser guardaes en OSM, "
+"Les etiquetes qu''empiecen con esti prefixu nun van ser guardaes en OSM, "
 "sinón solamente al servidor SDS."
 
 msgid "SDS server URL"
 msgstr "URL del servidor SDS"
 
 msgid "SDS username"
-msgstr "Nome d'usuariu SDS"
+msgstr "Nome d''usuariu SDS"
 
 msgid "SDS password"
 msgstr "Contraseña SDS"
@@ -28978,7 +29128,7 @@ msgid "Test credentials now"
 msgstr "Prebar credenciales agora"
 
 msgid "SDS tag prefix"
-msgstr "Prefixu d'etiqueta SDS"
+msgstr "Prefixu d''etiqueta SDS"
 
 msgid "Connection successful."
 msgstr "Conexón correuta."
@@ -28991,7 +29141,7 @@ msgstr "Grabar..."
 
 msgid "Save the current separate data store information to a file."
 msgstr ""
-"Grabar la información de datos d'almacenamientu separáu como un arquivu"
+"Grabar la información de datos d''almacenamientu separáu como un arquivu"
 
 msgid "Save SDS file"
 msgstr "Grabar arquivu SDS"
@@ -29000,7 +29150,7 @@ msgid "Simplify Area"
 msgstr "Simplificar área"
 
 msgid "Delete unnecessary nodes from an area."
-msgstr "Esaniciar nodos innecesarios d'una área"
+msgstr "Esaniciar nodos innecesarios d''una área"
 
 msgid "Yes, delete nodes"
 msgstr "Sí, esaniciar nodos"
@@ -29034,32 +29184,32 @@ msgid ""
 "another step of the simplification that merges adjanced nodes that are "
 "closer than <u>Threshold</u> meters."
 msgstr ""
-"El nodo de la vía (área) ye esaniciáu si tolos <o>Pesos d'Ángulu</o>, "
-"<o>Pesos d'Área</o> y <o>Pesu de Distancia </o> son mayores que 1. El "
-"<o>Pesu</o calcúlase como un <o>Valor</o> / <o>Estragal</o>, onde'l "
-"<o>Valor</o> ye unu de <o>Ángulu</o>, <o>Área</o> y <o>Distancia</o> "
+"El nodo de la vía (área) ye esaniciáu si tolos <u>Pesos d''Ángulu</u>, "
+"<u>Pesos d''Área</u> y <u>Pesu de Distancia</u> son mayores que 1. El "
+"<u>Pesu</u> calcúlase como un <u>Valor</u> / <u>Estragal</u>, onde''l "
+"<u>Valor</u> ye unu de <u>Ángulu</u>, <u>Área</u> y <u>Distancia</u> "
 "calculáu de cada unu de los trés puntos adyancentes de la vía.<ul><li>El "
-"<o>Valor</o> de <o>Ángulu</o> ye l'ángulu en graos sobre'l segundu "
-"nodo</li><li>El <o>Valor</o> de <o>Área</o> ye formáu pol "
-"triángulu</li><li>El <o>Valor</o> de la <o>Distancia</o> ye la Distancia "
-"d'Erru de Pista Cruciada></li></ul>Los trés <o>Pesu</o>s multiplicaos polos "
-"sos <o>Factor</o>ye son sumaos y el nodo mínimu de la suma ye esaniciáu en "
+"<u>Valor</u> de <u>Ángulu</u> ye l''ángulu en graos sobre''l segundu "
+"nodo</li><li>El <u>Valor</u> de <u>Área</u> ye formáu pol "
+"triángulu</li><li>El <u>Valor</u> de la <u>Distancia</u> ye la Distancia "
+"d''Erru de Pista Cruciada></li></ul>Los trés <u>Pesu</u>s multiplicaos polos "
+"sos <u>Factor</u>ye son sumaos y el nodo mínimu de la suma ye esaniciáu en "
 "primer llugar. La eliminacióncontinúa hasta que nun hai nodos por esaniciar. "
 "La combinación de Nodos Cercanos ye otru pasu de la simplificación que "
 "combina los nodos axacentes que tán a una distancia inferior al "
-"<o>Estragal</o> en metros."
+"<u>Estragal</u> en metros."
 
 msgid "Angle Threshold"
-msgstr "Estragal d'ángulu"
+msgstr "Estragal d''ángulu"
 
 msgid "Angle Factor"
-msgstr "Factor d'ángulu"
+msgstr "Factor d''ángulu"
 
 msgid "Area Threshold"
-msgstr "Estragal d'área"
+msgstr "Estragal d''área"
 
 msgid "Area Factor"
-msgstr "Factor d'área"
+msgstr "Factor d''área"
 
 msgid "Distance Threshold"
 msgstr "Estragal de distancia"
@@ -29121,7 +29271,7 @@ msgid "Tag2Link Preferences"
 msgstr "Preferencies de Tag2Link"
 
 msgid "Launch browser with information about the selected object"
-msgstr "Llanzar navegador con información so l'oxetu escoyíu"
+msgstr "Llanzar navegador con información so l''oxetu escoyíu"
 
 msgid ""
 "Launch your default software for sending an email to the selected contact "
@@ -29134,13 +29284,13 @@ msgid "Edit tags"
 msgstr "Editar etiquetes"
 
 msgid "Launches the tag editor dialog"
-msgstr "Llanza la ventana de dialogo del editor d'etiquetes"
+msgstr "Llanza la ventana de dialogo del editor d''etiquetes"
 
 msgid "JOSM Tag Editor Plugin"
 msgstr "Componente JOSM Tag Editor"
 
 msgid "Abort tag editing and close dialog"
-msgstr "Dexar la edición d'etiquetes y pesllar el diálogu"
+msgstr "Dexar la edición d''etiquetes y pesllar el diálogu"
 
 msgid "Apply edited tags and close dialog"
 msgstr "Aplicar etiquetes editaes y pesllar diálogu"
@@ -29163,12 +29313,12 @@ msgstr "Test de etiquetes preestablecíes"
 msgid ""
 "Open the tagging preset test tool for previewing tagging preset dialogs."
 msgstr ""
-"Abrir la ferramienta de comprobación d'etiquetes preestablecidas pa "
-"previsualizar los diálogos d'etiquetes preestablecidas."
+"Abrir la ferramienta de comprobación d''etiquetes preestablecidas pa "
+"previsualizar los diálogos d''etiquetes preestablecidas."
 
 msgid "You have to specify tagging preset sources in the preferences first."
 msgstr ""
-"Enantes tien d'especificar les fontes de les etiquetes preestablecidas nes "
+"Enantes tien d''especificar les fontes de les etiquetes preestablecidas nes "
 "preferencies."
 
 msgid "Enter housenumbers or amount of segments"
@@ -29193,13 +29343,13 @@ msgid "List of Numbers"
 msgstr "Lista de Númberos"
 
 msgid "add to existing associatedStreet relation"
-msgstr "Amestar a una relación d'asociación de cai esistente"
+msgstr "Amestar a una relación d''asociación de cai esistente"
 
 msgid "create an associatedStreet relation"
-msgstr "crear una relación d'asociación de cai"
+msgstr "crear una relación d''asociación de cai"
 
-msgid "delete outline way"
-msgstr "Esaniciar vía resaltada"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nome de cai: "
@@ -29215,8 +29365,8 @@ msgstr "Mayor númberu"
 
 msgid "Lowest housenumber cannot be higher than highest housenumber"
 msgstr ""
-"El númberu de portal inferior non puede ser superior qu'el númberu de portal "
-"mayor"
+"El númberu de portal inferior non puede ser superior qu''el númberu de "
+"portal mayor"
 
 msgid "Housenumbers do not match odd/even setting"
 msgstr "Los númberos de portal nun coinciden cola configuración par/impar"
@@ -29234,7 +29384,7 @@ msgid "Reverse a terrace"
 msgstr "Invertir edificios adosaos"
 
 msgid "Reverses house numbers on a terrace."
-msgstr "Invertir los númberos de portal d'edificios adosaos"
+msgstr "Invertir los númberos de portal d''edificios adosaos"
 
 msgid "Reverse a Terrace"
 msgstr "Invertir edificios adosaos"
@@ -29249,7 +29399,7 @@ msgid "Terrace a building"
 msgstr "Adosar un edificiu"
 
 msgid "Creates individual buildings from a long building."
-msgstr "Crear edificios individuales a partir d'un gran edificiu."
+msgstr "Crear edificios individuales a partir d''un gran edificiu."
 
 msgid "Invalid selection"
 msgstr "Escoyeta non válida"
@@ -29261,7 +29411,7 @@ msgid ""
 msgstr ""
 "Escueya solamente una vía zarrada o siquier cuatro nodos, (Opcionalmente  "
 "puede escoyer una cai pola etiqueta addr:street y un nodo pa marcar "
-"l'empiezu de la numberación.)"
+"l''empiezu de la numberación.)"
 
 msgid "Terrace"
 msgstr "Terrace"
@@ -29273,7 +29423,7 @@ msgid "Browse map with left button"
 msgstr "Explorar el mapa col botón esquierdu"
 
 msgid "Merge objects nodes"
-msgstr "Entemecer nodos d'oxetos"
+msgstr "Entemecer nodos d''oxetos"
 
 msgid "Tracer"
 msgstr "Trazador"
@@ -29447,10 +29597,10 @@ msgid "Unknown"
 msgstr "Desconocíu"
 
 msgid "Object signatures"
-msgstr "Firmes d'oxetos"
+msgstr "Firmes d''oxetos"
 
 msgid "Open object signing window."
-msgstr "Abrir ventana de robladura d'oxetos"
+msgstr "Abrir ventana de robladura d''oxetos"
 
 msgid "Check"
 msgstr "Prebar"
@@ -29511,7 +29661,7 @@ msgid "Sorry, there are no Signatures for the selected Node."
 msgstr "Esculpe, nun hai firmes pal nodo escoyíu."
 
 msgid "No Signature found"
-msgstr "Non s'atopó firma"
+msgstr "Non s''atopó firma"
 
 msgid ""
 "Selected node was:\n"
@@ -29603,7 +29753,7 @@ msgid "Web Recherche"
 msgstr "Web Recherche"
 
 msgid "Trusted persons told me"
-msgstr "Dixéronmelo persones d'enfotu"
+msgstr "Dixéronmelo persones d''enfotu"
 
 msgid "Which source did you use?"
 msgstr "¿Qué fonte usó?"
@@ -29612,7 +29762,7 @@ msgid "never"
 msgstr "nunca"
 
 msgid "Primary user-ID: "
-msgstr "Id d'usuariu primariu: "
+msgstr "Id d''usuariu primariu: "
 
 msgid "Key-ID: "
 msgstr "Id de Llave: "
@@ -29624,7 +29774,7 @@ msgid "Algorithm: "
 msgstr "Algoritmu: "
 
 msgid "Strength in bit: "
-msgstr "Fuercia'n bit: "
+msgstr "Fuercia''n bit: "
 
 msgid "Creation date: "
 msgstr "Fecha de creación: "
@@ -29636,7 +29786,7 @@ msgid "PGP-Key details"
 msgstr "Detalles de la Llave PGP"
 
 msgid "User-ID:"
-msgstr "ID d'usuariu:"
+msgstr "ID d''usuariu:"
 
 msgid "Select algorithm:"
 msgstr "Escoyer algoritmu:"
@@ -29708,7 +29858,7 @@ msgid "{0} lanes are not referenced in any turn-relation."
 msgstr "{0} carriles nun son referencies por nenguna relación de xiru."
 
 msgid "Put the ways in order."
-msgstr "Asitia les víes n'orde."
+msgstr "Asitia les víes n''orde."
 
 msgid "Relation references non-existent (regular) lane {0}"
 msgstr "La relación referencia a un carril inesistente (regular) {0}"
@@ -29769,7 +29919,7 @@ msgstr "Llimpiar los roles escoyíos o borrar los miembros escoyíos"
 
 msgid "Insert new relation members from object in the clipboard"
 msgstr ""
-"Ensertar una nueva relación de miembros dende l'oxetu nel portapapeles"
+"Ensertar una nueva relación de miembros dende l''oxetu nel portapapeles"
 
 msgid "Move the selected relation members down by one position"
 msgstr "Mover los miembros de relación escoyíos una posición embaxo"
@@ -29778,10 +29928,10 @@ msgid "Move the selected relation members up by one position"
 msgstr "Mover los miembros de relación escoyíos una posición enriba"
 
 msgid "Edit basic attributes of a turn restriction"
-msgstr "Editar atributos básicos d'una restricción de xiru"
+msgstr "Editar atributos básicos d''una restricción de xiru"
 
 msgid "Edit the raw tags and members of this turn restriction"
-msgstr "Editar les etiquetes y los miembros d'esta restricción de xiru"
+msgstr "Editar les etiquetes y los miembros d''esta restricción de xiru"
 
 msgid "Errors/Warnings"
 msgstr "Erros/alvertencies"
@@ -29837,11 +29987,11 @@ msgid_plural ""
 "This turn restriction refers to {0} objects which were deleted outside of "
 "this turn restriction editor:"
 msgstr[0] ""
-"Esta restricción de xiru fai referenciaa un oxetu que borráu per fora d'esti "
-"editor de restricciones de xiru:"
+"Esta restricción de xiru fai referenciaa un oxetu que borráu per fora "
+"d''esti editor de restricciones de xiru:"
 msgstr[1] ""
 "Esta restricción de xiru fai referencia a {0} oxetos que fueron borraos fora "
-"d'esti editor de restricciones de xiru:"
+"d''esti editor de restricciones de xiru:"
 
 msgid ""
 "Updates to this turn restriction can''t be saved unless deleted members are "
@@ -29854,7 +30004,7 @@ msgid "Remove deleted members and save"
 msgstr "Quitar miembros esaniciaos y guardar"
 
 msgid "Cancel and return to editor"
-msgstr "Atayar y volver a l'editor"
+msgstr "Atayar y volver a l''editor"
 
 msgid "Deleted members in turn restriction"
 msgstr "Miembros esaniciaos en restricción de xiru"
@@ -29872,7 +30022,7 @@ msgid ""
 msgstr ""
 "<html>Esta restricción de xiru camudó fora del editor.<br>Nun puede aplicar "
 "los sos cambeos y siguir editando.<br><br>¿Deseya crear un conflictu y "
-"cerrar l'editor?</html>"
+"cerrar l''editor?</html>"
 
 msgid "Already participating in a conflict"
 msgstr "Participando yá nun conflictu"
@@ -29920,7 +30070,7 @@ msgstr "Crear nueva restricción de xiru"
 
 msgid "Launch the turn restriction editor to create a new turn restriction"
 msgstr ""
-"Llanzar l'editor de restricciones de xiru pa crear una nueva restricción."
+"Llanzar l''editor de restricciones de xiru pa crear una nueva restricción."
 
 msgid "No Right Turn"
 msgstr "Prohibíu xirar a la derecha"
@@ -29929,7 +30079,7 @@ msgid "No Left Turn"
 msgstr "Prohibíu xirar a la izquierda"
 
 msgid "No U-Turn"
-msgstr "Prohibíu xirar n'U"
+msgstr "Prohibíu xirar n''U"
 
 msgid "No Straight On"
 msgstr "Prohibíu siguir de frente"
@@ -29994,7 +30144,7 @@ msgid "Copy the selected vias to the clipboard"
 msgstr "Copiar les víes escoyíes al portapapeles"
 
 msgid "Insert ''via'' objects from the clipboard"
-msgstr "Ensertar objeto ''vía'' dende'l portapapeles"
+msgstr "Ensertar objeto ''vía'' dende''l portapapeles"
 
 msgid ""
 "Failed to retrieve OSM object with id {0} from dataset {1}. Cannot add it as "
@@ -30025,8 +30175,8 @@ msgid ""
 "selection only.<br>Deselect to display all turn restrictions in the current "
 "data set.</html>"
 msgstr ""
-"<html>Escoyer p'amosar les restricciones de xiru rellacionaos colos oxetos "
-"de la selección actual. <br> Deseleccionar p'amosar toles restricciones del "
+"<html>Escoyer p''amosar les restricciones de xiru rellacionaos colos oxetos "
+"de la selección actual. <br> Deseleccionar p''amosar toles restricciones del "
 "conxuntu de datos actual.</html>"
 
 msgid "Turn Restrictions"
@@ -30076,7 +30226,7 @@ msgid ""
 "restriction. If enabled, one can edit them in the Basic editor too. If "
 "disabled, editing of via-objects is possible in the Advanced Editor only."
 msgstr ""
-"L'Editor Básicu pue amosar de manera opcional un llistáu de víes con "
+"L''Editor Básicu pue amosar de manera opcional un llistáu de víes con "
 "restricciones de xiru. Si ta activáu estes restricciones puen editase tamién "
 "con esti editor básicu. Si tá desactiváu, la edición de víes ye solo posible "
 "col Editor Avanzáu."
@@ -30092,7 +30242,7 @@ msgstr "Señales de tráficu - Grupu B"
 
 msgid "Please select the set of road sign icons to be used in the plugin."
 msgstr ""
-"Por favor, escueya'l conxuntu d'iconos de señales de tráficu que van ser "
+"Por favor, escueya''l conxuntu d''iconos de señales de tráficu que van ser "
 "usaos nel complementu."
 
 msgid ""
@@ -30169,14 +30319,14 @@ msgid ""
 msgstr "Reemplaza el oxetu-via configuráu anguañu col nodo na intersección"
 
 msgid "Go to Basic Editor and manually fix the list of via-objects"
-msgstr "Dir al editor básicu ya iguar manualmente el llistáu d'oxetos-vía"
+msgstr "Dir al editor básicu ya iguar manualmente el llistáu d''oxetos-vía"
 
 msgid ""
 "A turn restriction must declare the type of restriction. Please select a "
 "type in the Basic Editor."
 msgstr ""
-"Nuna restricción de xiru tien de declarase'l tipu de restricción. Por favor, "
-"escueya una nel Editor Básicu."
+"Nuna restricción de xiru tien de declarase''l tipu de restricción. Por "
+"favor, escueya una nel Editor Básicu."
 
 msgid "A way with role <tt>from</tt> is required in a turn restriction."
 msgstr "Riquir una vía col rol <tt>dende</tt> nuna restricción de xiru."
@@ -30207,7 +30357,7 @@ msgid ""
 "Make sure you add one or more via objects (nodes or ways) to the turn "
 "restriction."
 msgstr ""
-"Asegúrese d'amestar un o más elementos (nodos o víes) a la restricción de "
+"Asegúrese d''amestar un o más elementos (nodos o víes) a la restricción de "
 "xiru."
 
 msgid "Go to the Advanced Editor and add via objects"
@@ -30295,7 +30445,7 @@ msgid "A way is required instead."
 msgstr "Riquir una víes nel so llugar"
 
 msgid "Delete the member from the turn restriction"
-msgstr "Borra'l miembru de la restricción de xiru"
+msgstr "Borra''l miembru de la restricción de xiru"
 
 msgid "Change to the Basic Editor and select a way"
 msgstr "Camude al Editor Básicu y escueya una vía"
@@ -30353,7 +30503,7 @@ msgid "Align Way Nodes"
 msgstr "Aliniar nodos de la vía"
 
 msgid "Align nodes in a way"
-msgstr "Alinia los nodos d'una vía"
+msgstr "Alinia los nodos d''una vía"
 
 msgid "The way with selected nodes can not be straightened."
 msgstr "El camín colos nodos escoyíos nun se pue endrechar."
@@ -30365,13 +30515,13 @@ msgid "Extract node"
 msgstr "Estrayer nodo"
 
 msgid "Extracts node from a way"
-msgstr "Extrayi nodo d'una vía"
+msgstr "Extrayi nodo d''una vía"
 
 msgid ""
 "This tool extracts node from its ways and requires single node to be "
 "selected."
 msgstr ""
-"Esta ferramienta estrayi un nodo de les sos víes y riquir que s'escoya un "
+"Esta ferramienta estrayi un nodo de les sos víes y riquir que s''escoya un "
 "únicu nodo."
 
 msgid "Extract node from line"
@@ -30440,7 +30590,7 @@ msgid "Copy tags from previous selection"
 msgstr "Copiar etiquetes de la escoyeta anterior"
 
 msgid "Pastes tags of previously selected object(s)"
-msgstr "Apega etiquetes d'oxetu(s) previamente escoyíu(s)"
+msgstr "Apega etiquetes d''oxetu(s) previamente escoyíu(s)"
 
 msgid "Add Source Tag"
 msgstr "Añedir etiqueta de fonte"
@@ -30472,7 +30622,7 @@ msgid "Create a circle arc"
 msgstr "Crear arcu de círculu"
 
 msgid "Select custom URL"
-msgstr "Escoyer l'URL personalizá"
+msgstr "Escoyer l''URL personalizá"
 
 msgid "Please select one of custom URLs (configured in Preferences)"
 msgstr ""
@@ -30488,7 +30638,7 @@ msgid "Open custom URL"
 msgstr "Abrir URL personalizá"
 
 msgid "Opens specified URL browser"
-msgstr "Abre l'URL especificá nel navegador"
+msgstr "Abre l''URL especificá nel navegador"
 
 msgid "Utilsplugin2 settings"
 msgstr "Configuración de Utilsplugin2"
@@ -30518,7 +30668,7 @@ msgstr ""
 "<br/> <b>&123;díi&125;</b> ye remplazado col ID del elementu <br/> "
 "<b>&123;type&125;</b> ye reemplazáu col \"nodo\", \"vía\" o \"relación\" "
 "<br/> <b>&123;lat&125; , &123;lon&125;</b> ye reemplazáu cola "
-"llatitú/llargor del centru del mapa <br/> Pue cargar manualmente l'arquivu "
+"llatitú/llargor del centru del mapa <br/> Pue cargar manualmente l''arquivu "
 "de configuración <b>customurl.txt</b> na carpeta de JOSM."
 
 msgid "Custom URL configuration"
@@ -30559,7 +30709,7 @@ msgstr ""
 "puntu y coma.<br/>Utilice númberos positivos, o bien los calteres N y E pa "
 "indicar la dirección cardinal Norte o Este.<br/>Pa les direcciones "
 "cardinales Sur y Oeste puede utilizar tanto númberos negativos como calteres "
-"S y W.<br/>El valor de la coordenada puede tar n'unu de los siguientes trés "
+"S y W.<br/>El valor de la coordenada puede tar n''unu de los siguientes trés "
 "formatos:<ul><li><i>grau</i><tt>°</tt></li><li><i>graos</i><tt>°</tt> "
 "<i>minutos</i><tt>&39;</tt></li><li><i>graos</i><tt>°</tt> "
 "<i>minutos</i><tt>&39;</tt> <i>segundos</i><tt>\"</tt></li>Los </ul>símbolos "
@@ -30577,7 +30727,7 @@ msgid "Tag multiple objects [alpha]"
 msgstr "Etiquetar múltiples oxetos [alfa]"
 
 msgid "Edit tags of object list in table"
-msgstr "Editar etiquetes de la llista d'oxetos na tabla"
+msgstr "Editar etiquetes de la llista d''oxetos na tabla"
 
 msgid "Tag multiple objects"
 msgstr "Etiquetar múltiples oxetos"
@@ -30598,7 +30748,7 @@ msgid "Duplicate tags from the first"
 msgstr "Doblar etiquetes a partir de la primera"
 
 msgid "Set tags for multiple objects"
-msgstr "Afitar valor d'etiquetes pa múltiples oxetos"
+msgstr "Afitar valor d''etiquetes pa múltiples oxetos"
 
 msgid "Delete from history"
 msgstr "Borrar del historial"
@@ -30619,8 +30769,8 @@ msgid ""
 "This tool replaces geometry of one object with another, and so requires "
 "exactly two objects to be selected."
 msgstr ""
-"Esta ferramienta reemplaza la xeometría d'un oxetu con otru, y rique que 2 y "
-"solo 2 oxetos sían escoyíos"
+"Esta ferramienta reemplaza la xeometría d''un oxetu con otru, y rique que 2 "
+"y solo 2 oxetos sían escoyíos."
 
 msgid ""
 "This tool can only replace a node, upgrade a node to a way or a "
@@ -30643,11 +30793,11 @@ msgid ""
 "Please select one way that exists in the database and one new way with "
 "correct geometry."
 msgstr ""
-"Por favor, escueya una vía qu'esista na base de datos y una vía nueva con "
+"Por favor, escueya una vía qu''esista na base de datos y una vía nueva con "
 "xeometría correcta."
 
 msgid "The ways must be entirely within the downloaded area."
-msgstr "Les víes tienen de tar dafechu dientro de l'área descargá."
+msgstr "Les víes tienen de tar dafechu dientro de l''área descargá."
 
 msgid ""
 "The way to be replaced cannot have any nodes with properties or relation "
@@ -30658,7 +30808,7 @@ msgstr ""
 
 msgid "Exceeded iteration limit for robust method, using simpler method."
 msgstr ""
-"Entepasóse la llende d'iteraciones pal métodu robustu, va procedese col "
+"Entepasóse la llende d''iteraciones pal métodu robustu, va procedese col "
 "métodu más simple."
 
 msgid "Replace geometry for way {0}"
@@ -30695,25 +30845,25 @@ msgid "Select all connected ways"
 msgstr "Escoyer toles víes conectaes"
 
 msgid "Intersecting ways"
-msgstr "Víes que s'interseccionen"
+msgstr "Víes que s''interseccionen"
 
 msgid "Select intersecting ways"
-msgstr "Escoyer víes que s'interseccionen"
+msgstr "Escoyer víes que s''interseccionen"
 
 msgid "Please select some ways to find connected and intersecting ways!"
 msgstr ""
-"¡Por favor, escueya delles víes p'atopar les que se conecten ya "
+"¡Por favor, escueya delles víes p''atopar les que se conecten ya "
 "interseccionen!"
 
 msgid "All intersecting ways"
-msgstr "Toles víes que s'interseccionen"
+msgstr "Toles víes que s''interseccionen"
 
 msgid "Select all intersecting ways"
-msgstr "Escoyer toles víes que s'interseccionen"
+msgstr "Escoyer toles víes que s''interseccionen"
 
 msgid "Please select some ways to find all connected and intersecting ways!"
 msgstr ""
-"¡Por favor, escueya delles víes p'atopar toles que se conecten ya "
+"¡Por favor, escueya delles víes p''atopar toles que se conecten ya "
 "interseccionen!"
 
 msgid "Middle nodes"
@@ -30738,20 +30888,20 @@ msgid ""
 "Nothing found. Please select some closed ways or multipolygons to find all "
 "primitives inside them!"
 msgstr ""
-"Nun s'atopó nada. Por favor escueya dalguna forma zarrada o multipolígonos "
-"p'atopar toles primitives dientro d'ellos."
+"Nun s''atopó nada. Por favor escueya dalguna forma zarrada o multipolígonos "
+"p''atopar toles primitives dientro d''ellos."
 
 msgid "Area boundary [testing]"
-msgstr "Llende de l'área [en prueba]"
+msgstr "Llende de l''área [en prueba]"
 
 msgid "Select relation or all ways that forms area boundary"
-msgstr "Escueye la relación o toles víes que configuren la llende de l'área"
+msgstr "Escueye la relación o toles víes que configuren la llende de l''área"
 
 msgid ""
 "Nothing found. Please select way that is a part of some polygon formed by "
 "connected ways"
 msgstr ""
-"Nun s'atopó nada. Por favor escueya una vía que sía parte d'un polígonu "
+"Nun s''atopó nada. Por favor escueya una vía que sía parte d''un polígonu "
 "formáu per víes conectaes"
 
 msgid "Select Highway"
@@ -30773,14 +30923,14 @@ msgid "Select Way Nodes"
 msgstr "Escoyer nodos de la vía"
 
 msgid "Select all nodes of a selected way."
-msgstr "Escueye tolos nodos d'una vía escoyida."
+msgstr "Escueye tolos nodos d''una vía escoyida."
 
 msgid "Undo selection"
 msgstr "Desfacer selección"
 
 msgid "Reselect last added object or selection form history"
 msgstr ""
-"Vuelve escoyer los caberos oxetos en ser añedíos o escoyer dende l'historial"
+"Vuelve escoyer los caberos oxetos en ser añedíos o escoyer dende l''historial"
 
 msgid "Unselect nodes"
 msgstr "Deseleccionar nodos"
@@ -30798,7 +30948,7 @@ msgid "Remove Video"
 msgstr "Desaniciar vídeu"
 
 msgid "removes current video from layer"
-msgstr "Desanicia'l vídeu actual de la capa"
+msgstr "Desanicia''l vídeu actual de la capa"
 
 msgid "Play/Pause"
 msgstr "Reproducir / Pausar"
@@ -30813,7 +30963,7 @@ msgid "Backward"
 msgstr "Escontra tras"
 
 msgid "jumps n sec back"
-msgstr "ir n segundos p'atrás"
+msgstr "ir n segundos p''atrás"
 
 msgid "Forward"
 msgstr "Alantre"
@@ -30849,7 +30999,7 @@ msgid "Keep centered"
 msgstr "Caltener centráu"
 
 msgid "follows the video icon automatically"
-msgstr "siguir l'iconu de vídeu de manera automática"
+msgstr "siguir l''iconu de vídeu de manera automática"
 
 msgid "Subtitles"
 msgstr "Subtítulos"
@@ -30870,7 +31020,7 @@ msgid "Loop length"
 msgstr "Llargor del ciclu"
 
 msgid "Set the length around a looppoint"
-msgstr "Axuste'l llargor d'alredor d'un puntu de bucle"
+msgstr "Axuste''l llargor d''alredor d''un puntu de bucle"
 
 msgid "no deinterlacing"
 msgstr "No desentrelazáu (deinterlacing)"
@@ -30903,10 +31053,10 @@ msgid "Sync"
 msgstr "Sincronizar"
 
 msgid "Unable to find JNA Java library!"
-msgstr "¡Nun s'atopó biblioteca JNA de Java!"
+msgstr "¡Nun s''atopó biblioteca JNA de Java!"
 
 msgid "Unable to find native libvlc library!"
-msgstr "¡Nun s'atopó la biblioteca nativa libvlc!"
+msgstr "¡Nun s''atopó la biblioteca nativa libvlc!"
 
 msgid "play"
 msgstr "reproducir"
@@ -30943,7 +31093,7 @@ msgid "Way Download"
 msgstr "Descargar vía"
 
 msgid "Download map data on the end of selected way"
-msgstr "Descargar elementos del mapa hasta'l final de la vía escoyida"
+msgstr "Descargar elementos del mapa hasta''l final de la vía escoyida"
 
 msgid ""
 "<html>Neither a node nor a way with an endpoint outside of the<br>current "
@@ -30951,7 +31101,7 @@ msgid ""
 "an entire way first.</html>"
 msgstr ""
 "<html>Nengún nodo, nin vía con un puntu final fora de la<br>actual área de "
-"descarga escoyida. <br> Escueya un nodo de principiu o fin d'una vía o una "
+"descarga escoyida. <br> Escueya un nodo de principiu o fin d''una vía o una "
 "vía completa primeru. </html>"
 
 msgid "<html>Could not find a unique node to start downloading from.</html>"
@@ -31012,7 +31162,7 @@ msgstr "Añedir nomes dende Wikipedia"
 msgid ""
 "Fetches interwiki links from Wikipedia in order to add several name tags"
 msgstr ""
-"Llogra los enllaces interwiki de Wikipedia p'amestar delles etiquetes de "
+"Llogra los enllaces interwiki de Wikipedia p''amestar delles etiquetes de "
 "denominación"
 
 msgid ""
@@ -31032,7 +31182,7 @@ msgid ""
 "Double click on item to search for object with article name (and center "
 "coordinate)"
 msgstr ""
-"Doble clic nun ítem pa buscar oxetos col mesmu nome d'artículu (y centru de "
+"Doble clic nun ítem pa buscar oxetos col mesmu nome d''artículu (y centru de "
 "coordenaes)"
 
 msgid "Available via WIWOSM server"
@@ -31060,7 +31210,7 @@ msgid "Category"
 msgstr "Estaya"
 
 msgid "Fetches a list of all Wikipedia articles of a category"
-msgstr "Llogra una llista de tolos artículos de Wikipedia d'una categoría"
+msgstr "Llogra una llista de tolos artículos de Wikipedia d''una categoría"
 
 msgid "Enter the Wikipedia category"
 msgstr "Introduza la categoría de Wikipedia"
@@ -31069,7 +31219,7 @@ msgid "Clipboard"
 msgstr "Cartafueyu"
 
 msgid "Pastes Wikipedia articles from the system clipboard"
-msgstr "Pegar artículos de la Wikipedia dende'l cartafueyu del sistema"
+msgstr "Pegar artículos de la Wikipedia dende''l cartafueyu del sistema"
 
 msgid "clipboard"
 msgstr "portapapeles"
@@ -31078,13 +31228,13 @@ msgid "Open Article"
 msgstr "Abrir artículu"
 
 msgid "Opens the Wikipedia article of the selected item in a browser"
-msgstr "Abre l'artículu de Wikipedia del elementu escoyíu nun navegador"
+msgstr "Abre l''artículu de Wikipedia del elementu escoyíu nun navegador"
 
 msgid "Sets the default language for the Wikipedia articles"
-msgstr "Establez l'idioma predetermináu pa los artículos de la Wikipedia"
+msgstr "Establez l''idioma predetermináu pa los artículos de la Wikipedia"
 
 msgid "Enter the Wikipedia language"
-msgstr "Ingrese'l llinguaxe de Wikipedia"
+msgstr "Ingrese''l llinguaxe de Wikipedia"
 
 msgid ""
 "Adds a ''wikipedia'' tag corresponding to this article to the selected "
diff --git a/i18n/po/az.po b/i18n/po/az.po
index cdd4b73..900955f 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:36+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:37+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -3723,6 +3723,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3929,19 +3932,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4477,10 +4481,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4735,6 +4764,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6075,6 +6119,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7057,9 +7107,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7841,9 +7888,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8523,6 +8567,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8969,6 +9016,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12349,6 +12399,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12529,7 +12582,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12541,7 +12594,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13501,9 +13554,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14739,6 +14789,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15561,6 +15615,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15618,6 +15675,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17062,6 +17131,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17667,6 +17739,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19537,9 +19615,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19923,9 +19998,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19938,7 +20010,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20610,6 +20682,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20744,6 +20823,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20989,6 +21071,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21346,6 +21431,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21364,6 +21452,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21400,6 +21494,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21438,6 +21535,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21459,9 +21559,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21496,6 +21604,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22690,6 +22801,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25707,7 +25824,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26368,6 +26487,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26407,6 +26529,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26897,7 +27025,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/be.po b/i18n/po/be.po
index d77b2cf..0f1a109 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-07-08 12:07+0000\n"
 "Last-Translator: Andrew West <2thewest at gmail.com>\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: 2014-12-10 04:37+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:38+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: be\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3897,6 +3897,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4103,19 +4106,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4652,10 +4656,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4910,6 +4939,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6250,6 +6294,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Тып аб'екта"
 
@@ -7232,9 +7282,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -8018,9 +8065,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8705,6 +8749,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Запісаць слой"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9153,6 +9200,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12533,6 +12583,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12713,7 +12766,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12725,7 +12778,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13685,9 +13738,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14923,6 +14973,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15745,6 +15799,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15802,6 +15859,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17246,6 +17315,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17851,6 +17923,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19721,9 +19799,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -20107,9 +20182,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -20122,7 +20194,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20794,6 +20866,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20928,6 +21007,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21173,6 +21255,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21530,6 +21615,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21548,6 +21636,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21584,6 +21678,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21622,6 +21719,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21643,9 +21743,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21680,6 +21788,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22874,6 +22985,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25895,7 +26012,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26556,6 +26675,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26595,6 +26717,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27085,7 +27213,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/bg.po b/i18n/po/bg.po
index 2d2abd9..109a07a 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-11-05 05:58+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: 2014-12-10 04:39+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:42+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: bg\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3844,6 +3844,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4052,19 +4055,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4608,10 +4612,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/път/към/папката/на/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4866,6 +4895,21 @@ msgstr "слоя не е в списъка."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Слоя ''{0}'' трябва да бъде в списъка от слоеве"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Потребителско име"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6208,6 +6252,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Тип на обекта:"
 
@@ -7192,9 +7242,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Сортиране на членовете на релацията"
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7995,9 +8042,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Потребителско име"
-
 msgid "Password"
 msgstr "Парола"
 
@@ -8691,6 +8735,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Запис на слой"
 
+msgid "Note"
+msgstr "Забележка"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9150,6 +9197,9 @@ msgstr "Премахване на снимка от слой"
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Следващ"
 
@@ -12589,6 +12639,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Подготовка на OSM данните..."
 
@@ -12770,7 +12823,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12782,7 +12835,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13752,9 +13805,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr "Невалиден bz2 файл."
-
 msgid "ms"
 msgstr ""
 
@@ -15013,6 +15063,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Монети"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Електрони средства за разплата"
 
@@ -15835,6 +15889,9 @@ msgstr "Пресичане с велосипед"
 msgid "Cross on horseback"
 msgstr "Пресичане върху кон"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Стоп"
 
@@ -15892,6 +15949,18 @@ msgstr "Второ име"
 msgid "Speed Camera"
 msgstr "Пътна камера"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17336,6 +17405,9 @@ msgstr "Място за пикник"
 msgid "Fireplace"
 msgstr "Огнище"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17941,6 +18013,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Спорт"
 
@@ -19811,9 +19889,6 @@ msgstr "играчки"
 msgid "vouchers"
 msgstr "ваучери"
 
-msgid "Note"
-msgstr "Забележка"
-
 msgid "Geography"
 msgstr "География"
 
@@ -20197,9 +20272,6 @@ msgstr ""
 msgid "House number"
 msgstr "Номер"
 
-msgid "House name"
-msgstr "Име на дом"
-
 msgid "Street name"
 msgstr "Име на улица"
 
@@ -20212,8 +20284,8 @@ msgstr "Име на град"
 msgid "Country code"
 msgstr "Код на държава"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Име на дом"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20884,6 +20956,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21018,6 +21097,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21263,6 +21345,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21620,6 +21705,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21638,6 +21726,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21674,6 +21768,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21712,6 +21809,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21733,9 +21833,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21770,6 +21878,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22966,6 +23077,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -26031,7 +26148,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26692,6 +26811,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26731,6 +26853,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27226,7 +27354,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/bn.po b/i18n/po/bn.po
index 6c68e41..f6cf724 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-06-13 16:28+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: 2014-12-10 04:37+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:39+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: bn\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3727,6 +3727,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3933,19 +3936,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4481,10 +4485,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4739,6 +4768,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6079,6 +6123,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7061,9 +7111,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7845,9 +7892,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8527,6 +8571,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8973,6 +9020,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12353,6 +12403,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12533,7 +12586,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12545,7 +12598,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13505,9 +13558,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14743,6 +14793,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15565,6 +15619,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15622,6 +15679,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17066,6 +17135,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17671,6 +17743,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19541,9 +19619,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19927,9 +20002,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19942,7 +20014,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20614,6 +20686,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20748,6 +20827,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20993,6 +21075,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21350,6 +21435,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21368,6 +21456,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21404,6 +21498,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21442,6 +21539,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21463,9 +21563,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21500,6 +21608,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22694,6 +22805,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25711,7 +25828,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26372,6 +26491,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26411,6 +26533,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26901,7 +27029,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/br.po b/i18n/po/br.po
index 9decd39..3210239 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:39+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:41+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: br\n"
 
 msgid "License"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/bs.po b/i18n/po/bs.po
index 768d2ca..bdf985a 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:38+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:40+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: bs\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3727,6 +3727,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3933,19 +3936,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4481,10 +4485,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4739,6 +4768,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6079,6 +6123,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7061,9 +7111,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7845,9 +7892,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8527,6 +8571,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8973,6 +9020,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12353,6 +12403,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12533,7 +12586,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12545,7 +12598,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13505,9 +13558,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14743,6 +14793,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15565,6 +15619,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15622,6 +15679,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17066,6 +17135,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17671,6 +17743,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19541,9 +19619,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19927,9 +20002,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19942,7 +20014,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20614,6 +20686,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20748,6 +20827,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20993,6 +21075,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21350,6 +21435,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21368,6 +21456,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21404,6 +21498,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21442,6 +21539,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21463,9 +21563,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21500,6 +21608,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22694,6 +22805,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25711,7 +25828,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26372,6 +26491,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26411,6 +26533,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26901,7 +27029,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ca.po b/i18n/po/ca.po
index 0b68f3b..0b1c0a6 100644
--- a/i18n/po/ca.po
+++ b/i18n/po/ca.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-01 07:56+0000\n"
-"Last-Translator: pitort <pitort at eclipso.eu>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-26 23:17+0000\n"
+"Last-Translator: Don-vip <Unknown>\n"
 "Language-Team: el_libre - - www.catmidia.cat\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: 2014-12-10 04:40+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:43+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ca\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4117,6 +4117,9 @@ msgstr "Etiquetes d''Internet"
 msgid "Checks for errors in internet-related tags."
 msgstr "Verifica si hi ha errors a les etiquetes relacionades amb Internet"
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr " La URL no pot ser convertida a ASCII: {0}"
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4346,20 +4349,21 @@ msgstr "El tipus de relació no és conegut"
 msgid "Relation is empty"
 msgstr "La relació és buida"
 
-msgid "<empty>"
-msgstr "<buit>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rol {0} desconegut"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Trobat un rol buit"
+msgid "<empty>"
+msgstr "<buit>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "El membre pel rol ''{0}'' no concorda amb ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Membre del rol {0} de tipus incorrecte"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Manca rol {0}"
@@ -4911,11 +4915,40 @@ msgstr "Deshabilita l''accés als recursos indicats, separats per coma"
 msgid "options provided as Java system properties"
 msgstr "opcions proporcionades com a propietats de sistema de Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/RUTA/VERS/CARPETA/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr "/CAMÍ/VERS/JOSM/PREF    "
+
+msgid "Set the preferences directory"
+msgstr "Estableix el directori de les preferències"
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr "/CAMÍ/VERS/JOSM/DADESUSUARI"
+
+msgid "Set the user data directory"
+msgstr "Estableix el directori de les dades d''usuari"
 
-msgid "Change the folder for all user settings"
-msgstr "Canviar la carpeta per tots els paràmetres d''usuari"
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr "/CAMÍ/VERS/JOSM/MEMÒRIACAU   "
+
+msgid "Set the cache directory"
+msgstr "Estableix el directori de la memòria cau"
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr "/CAMÍ/VERS/JOSM/DIRECTORIINICIAL "
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+"Recol·loca els 3 directoris al directori inicial. El directori de la memòria "
+"cau serà a DirectoriInicial/cache"
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
+"-Djosm.home té una prioritat més baixa, és a dir, la configuració específica "
+"anul·la la general"
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5196,6 +5229,21 @@ msgstr "La capa no és a la llista."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "La capa ''{0}'' ha de ser a la llista de capes"
 
+msgid "Default (open, closed, new)"
+msgstr "Predefinit (obre, tanca, nou)"
+
+msgid "Username"
+msgstr "Nom d''usuari"
+
+msgid "Created date"
+msgstr "Data de creació"
+
+msgid "Last change date"
+msgstr "Data del darrer canvi"
+
+msgid "Select note sorting method"
+msgstr "Seleccioneu un mètode d''ordenació per les notes"
+
 msgid "Click to cancel the current operation"
 msgstr "Feu clic per anular l''operació actual"
 
@@ -6684,6 +6732,12 @@ msgstr "Torna a obrir"
 msgid "Reopen note with message:"
 msgstr "Tona a obrir la nota amb el missatge:"
 
+msgid "Sort notes"
+msgstr "Ordena les notes"
+
+msgid "Sort"
+msgstr "Ordenar"
+
 msgid "Object type:"
 msgstr "Tipus d''objecte:"
 
@@ -7783,9 +7837,6 @@ msgstr "Escull objectes pels membres de la relació seleccionats"
 msgid "Sort the relation members"
 msgstr "Ordenar els membres de la relació"
 
-msgid "Sort"
-msgstr "Ordenar"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor de relacions: Ordenar"
 
@@ -8667,9 +8718,6 @@ msgstr "Indiqueu unes credencials pel servidor"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Indiqueu unes credencials pel proxi HTTP"
 
-msgid "Username"
-msgstr "Nom d''usuari"
-
 msgid "Password"
 msgstr "Contrasenya"
 
@@ -9466,6 +9514,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Desa la capa"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Notes layer"
 msgstr "Capa de notes"
 
@@ -9945,6 +9996,9 @@ msgstr "Elimina foto de la capa"
 msgid "Delete File from disk"
 msgstr "Suprimir el fitxer al disc"
 
+msgid "Copy image path"
+msgstr "Copia el camí de la imatge"
+
 msgid "Next"
 msgstr "Següent"
 
@@ -13807,6 +13861,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "Valor incorrecte per l''atribut ''{0}'' (conjunt de canvis). El valor és {1}."
 
+msgid "{0} bytes have been read"
+msgstr "han estat llegits {0} bytes"
+
 msgid "Prepare OSM data..."
 msgstr "Preparació de dades..."
 
@@ -13996,8 +14053,8 @@ msgstr "Llegir la versió del protocol"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "No es possible iniciar el servidor de control remot al port {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Control remot::Acceptant connexions a través del port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr "ControlRemot::Acceptant connexions a {0}:{1}"
 
 msgid "RemoteControl::Server stopped."
 msgstr "Control remot::Servidor aturat."
@@ -14009,8 +14066,8 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "No es pot iniciar el control remot del servidor HTTPS"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "Control Remot::Acceptant connexions segures al port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr "ControlRemot::Acceptant connexions segures a {0}:{1}"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Control Remot::Servidor (https) aturat."
@@ -15220,9 +15277,6 @@ msgstr ""
 "<html><p> Ho sentim, No és possible d''enganxar etiquetes de la memòria "
 "intermèdia perquè no conté cap objecte JOSM ni cap text apropiat. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Fitxer bz2 invàlid"
-
 msgid "ms"
 msgstr "ms"
 
@@ -16604,6 +16658,10 @@ msgstr "tennis"
 msgid "Coins"
 msgstr "Monedes"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Notes"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Moneders electrònics i targetes de dèbit"
 
@@ -17440,6 +17498,9 @@ msgstr "Cruïlla per bicicleta"
 msgid "Cross on horseback"
 msgstr "Cruïlla per cavalls"
 
+msgid "Optional values for specific countries"
+msgstr "Valors opcionals per estats específics"
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17497,6 +17558,20 @@ msgstr "Segon nom"
 msgid "Speed Camera"
 msgstr "Radar"
 
+msgid "Traffic Mirror"
+msgstr "Mirall (trànsit)"
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr "Cruïlla amb nom"
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+"Utilitzat en alguns països per a cruïlles de carreteres amb nom on el nom "
+"seveix com a element d''orientació local."
+
 msgid "Elevator"
 msgstr "Ascensor"
 
@@ -18953,6 +19028,9 @@ msgstr "Lloc de Pícnic"
 msgid "Fireplace"
 msgstr "Llar de foc"
 
+msgid "Picnic Table"
+msgstr "Taula de pícnic"
+
 msgid "Public Grill"
 msgstr "Barbacoes Públiques"
 
@@ -19558,6 +19636,12 @@ msgstr "succió"
 msgid "Count"
 msgstr "Compta"
 
+msgid "Advertising Column"
+msgstr "Columna publicitària"
+
+msgid "Billboard"
+msgstr "Cartellera"
+
 msgid "Sports"
 msgstr "Esports"
 
@@ -20179,7 +20263,7 @@ msgid "Tide Level"
 msgstr "NIvell de la marea"
 
 msgid "Groundwater"
-msgstr ""
+msgstr "Aigua subterrània"
 
 msgid "Traffic"
 msgstr "Trànsit"
@@ -21430,9 +21514,6 @@ msgstr "joguines"
 msgid "vouchers"
 msgstr "bons"
 
-msgid "Note"
-msgstr "Nota"
-
 msgid "Geography"
 msgstr "Geografia"
 
@@ -21829,9 +21910,6 @@ msgstr "Nom comú abreviat"
 msgid "House number"
 msgstr "Número de carrer"
 
-msgid "House name"
-msgstr "Nom de la Casa"
-
 msgid "Street name"
 msgstr "Nom del carrer"
 
@@ -21844,8 +21922,8 @@ msgstr "Nom de la ciutat"
 msgid "Country code"
 msgstr "Codi del país"
 
-msgid "Optional values for specific countries"
-msgstr "Valors opcionals per estats específics"
+msgid "House name"
+msgstr "Nom de la Casa"
 
 msgid "Subdistrict"
 msgstr "Sots districte"
@@ -22516,6 +22594,13 @@ msgstr "VoGIS: DGM (Model del terreny)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Model de superfície)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Sectors Urbans"
 
@@ -22565,13 +22650,13 @@ msgid "Estonia Ortho (Maaamet)"
 msgstr "Estònia Ortofoto (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Estònia Ombrejat (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Estònia Cadastre (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Estònia Silvicultura (Maaamet)"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeus - 2012"
@@ -22652,6 +22737,9 @@ msgstr "OpenStreetMap (Llengua sòrab)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22900,6 +22988,9 @@ msgstr "GRAFCAN Express - Illes Canàries"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr "Cantó d''Aargau 25cm (AGIS 2014)"
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -22970,7 +23061,7 @@ msgid "OSM US TIGER 2012 Roads Overlay"
 msgstr "OSM US TIGER 2012 Roads Overlay"
 
 msgid "New & Misaligned TIGER Roads (TIGER 2014)"
-msgstr ""
+msgstr "Carreteres TIGER noves i mal alineades"
 
 msgid "MassGIS L3 Parcels"
 msgstr "MassGIS L3 Parcels"
@@ -23257,6 +23348,9 @@ msgstr "{0} sense {1} o {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} sense {1}, {2} o {3}"
 
+msgid "{0} together with {1}"
+msgstr "{0} junt amb {1}"
+
 msgid "{0} on suspicious object"
 msgstr "{0} a un objecte sospitòs"
 
@@ -23275,6 +23369,12 @@ msgstr "esport sense element físic"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} ha de ser al node on {1} i {2} es creuen"
 
+msgid "alternative name without {0}"
+msgstr "nom alternatiu sense {0}"
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr "ús incomplet de {0} a una via sense {1}"
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} és obsolet"
 
@@ -23324,6 +23424,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "{0} ha de ser substituït per {1}"
 
+msgid "{0} = {1}; remove {0}"
+msgstr "{0} = {1}; suprimeix {0}"
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23364,6 +23467,9 @@ msgstr "Àrees naturals idèntiques que se superposen"
 msgid "Overlapping Identical Landuses"
 msgstr "Usos de la terra idèntics que se superposen"
 
+msgid "{0} must be connected to a way"
+msgstr "{0} ha d''estar connectat amb una via"
+
 msgid "abbreviated street name"
 msgstr "nom abreviat del carrer"
 
@@ -23385,9 +23491,19 @@ msgstr "via de tipus temporal"
 msgid "street name contains ss"
 msgstr "el nom del carrer conté ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+"El valor de ''{0}'' ha de ser ''{1}'' o ''{2}''. Per a voreres "
+"utilitzeu''{3}''."
+
 msgid "{0} with multiple values"
 msgstr "{0} amb valors múltiples"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr "valor buit en ''{0}'' separat per punt i coma"
+
 msgid "numerical key"
 msgstr "clau numèrica"
 
@@ -23424,6 +23540,9 @@ msgstr "pendent inusual; utilitzeu percentatges/graus o amunt/avall"
 msgid "{0} must be a numeric value"
 msgstr "{0} ha de ser un valor numèric"
 
+msgid "{0} must be a positive integer number"
+msgstr "{0} ha de ser un nombre sencer i positiu"
+
 msgid "relation without type"
 msgstr "relació sense tipus"
 
@@ -24775,6 +24894,12 @@ msgstr "Combina nodes amb veïns"
 msgid "merge nodes"
 msgstr "combina nodes"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nom del carrer:"
 
@@ -28084,9 +28209,10 @@ msgstr "Ajusta fotografies"
 msgid "Move and position photos"
 msgstr "Mou i posiciona fotografies"
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
-"Clic+arrossegar per moure la foto o majúscula+clic per posicionar la foto"
 
 msgid "Please load some photos."
 msgstr "Si us plau carregeu alguna foto"
@@ -28764,6 +28890,9 @@ msgstr "La reconstrucció de polígons només pot fer-se amb vies exteriors"
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruir polígons a partir de la relació {0}"
 
+msgid "Reconstruct route"
+msgstr "Reconstrueix la ruta"
+
 msgid "Open relation wiki page"
 msgstr "Obre la pàgina wiki de la relació"
 
@@ -28804,6 +28933,12 @@ msgstr "Trobat un node sense els rols ''label'' o ''admin_centre''"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Trobada una via sense els rols ''inner'' o ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr "Node sense rol de ''stop'' o ''platform''"
+
+msgid "Way platform without ''platform'' role found"
+msgstr "Andana sense rol ''platform''"
+
 msgid "Revert changeset fully"
 msgstr "Revertir el conjunt de canvis sencer"
 
@@ -29337,8 +29472,8 @@ msgstr "afegeix a la relació associatedStreet (carrer associat) existent"
 msgid "create an associatedStreet relation"
 msgstr "crea una relació associatedStreet (carrer associat)"
 
-msgid "delete outline way"
-msgstr "suprimir la via de contorn"
+msgid "keep outline way"
+msgstr "manté en mode esquema"
 
 msgid "Street name: "
 msgstr "Nom del carrer: "
diff --git a/i18n/po/ca at valencia.po b/i18n/po/ca at valencia.po
index 5181790..bb20aba 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-10-22 10:01+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: 2014-12-10 05:24+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:41+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ca at valencia\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4081,6 +4081,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4296,20 +4299,21 @@ msgstr "El tipus de relació no és conegut"
 msgid "Relation is empty"
 msgstr "La relació és buida"
 
-msgid "<empty>"
-msgstr "<buit>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rol {0} desconegut"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Trobat un rol buit"
+msgid "<empty>"
+msgstr "<buit>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Membre del rol {0} de tipus incorrecte"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Manca rol {0}"
@@ -4858,11 +4862,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "opcions proporcionades com a propietats de sistema de Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/RUTA/VERS/CARPETA/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Canviar la carpeta per tots els paràmetres d''usuari"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5128,6 +5157,21 @@ msgstr "La capa no és a la llista."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "La capa ''{0}'' ha de ser a la llista de capes"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nom d''usuari"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Feu clic per anular l''operació actual"
 
@@ -6564,6 +6608,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Ordenar"
+
 msgid "Object type:"
 msgstr "Tipus d''objecte:"
 
@@ -7654,9 +7704,6 @@ msgstr "Trieu objectes pels membres de la relació seleccionats"
 msgid "Sort the relation members"
 msgstr "Ordenar els membres de la relació"
 
-msgid "Sort"
-msgstr "Ordenar"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor de relacions: Ordenar"
 
@@ -8539,9 +8586,6 @@ msgstr "Indiqueu unes credencials pel servidor"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Indiqueu unes credencials pel proxi HTTP"
 
-msgid "Username"
-msgstr "Nom d''usuari"
-
 msgid "Password"
 msgstr "Contrasenya"
 
@@ -9340,6 +9384,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Guarda la capa"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9819,6 +9866,9 @@ msgstr "Elimina foto de la capa"
 msgid "Delete File from disk"
 msgstr "Suprimir el fitxer al disc"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Següent"
 
@@ -13652,6 +13702,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "Valor incorrecte per l''atribut ''{0}'' (conjunt de canvis). El valor és {1}."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Preparació de dades..."
 
@@ -13840,8 +13893,8 @@ msgstr "Llegir la versió del protocol"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "No es possible iniciar el servidor de control remot al port {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Control remot::Acceptant connexions a través del port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "Control remot::Servidor parat."
@@ -13852,7 +13905,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -15046,9 +15099,6 @@ msgstr ""
 "<html><p> Ho sentim, No és possible d''apegar etiquetes de la memòria "
 "intermèdia perquè no conté cap objecte JOSM ni cap text apropiat. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Fitxer bz2 invàlid"
-
 msgid "ms"
 msgstr ""
 
@@ -16409,6 +16459,10 @@ msgstr "tennis"
 msgid "Coins"
 msgstr "Monedes"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Moneders electrònics i targetes de dèbit"
 
@@ -17245,6 +17299,9 @@ msgstr "Cruïlla amb bicicleta"
 msgid "Cross on horseback"
 msgstr "Cruïlla a cavall"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17302,6 +17359,18 @@ msgstr "Segon nom"
 msgid "Speed Camera"
 msgstr "Radar"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -18749,6 +18818,9 @@ msgstr "Lloc de Pícnic"
 msgid "Fireplace"
 msgstr "Llar de foc"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Barbacoes Públiques"
 
@@ -19354,6 +19426,12 @@ msgstr "succió"
 msgid "Count"
 msgstr "Compta"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Esports"
 
@@ -21224,9 +21302,6 @@ msgstr "joguines"
 msgid "vouchers"
 msgstr "bons"
 
-msgid "Note"
-msgstr "Nota"
-
 msgid "Geography"
 msgstr "Geografia"
 
@@ -21610,9 +21685,6 @@ msgstr ""
 msgid "House number"
 msgstr "Número de carrer"
 
-msgid "House name"
-msgstr "Nom de la Casa"
-
 msgid "Street name"
 msgstr "Nom del carrer"
 
@@ -21625,8 +21697,8 @@ msgstr "Nom de la ciutat"
 msgid "Country code"
 msgstr "Codi del país"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Nom de la Casa"
 
 msgid "Subdistrict"
 msgstr ""
@@ -22297,6 +22369,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -22431,6 +22510,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -22676,6 +22758,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -23033,6 +23118,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -23051,6 +23139,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -23087,6 +23181,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23125,6 +23222,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nom abreviat del carrer"
 
@@ -23146,9 +23246,17 @@ msgstr "via de tipus temporal"
 msgid "street name contains ss"
 msgstr "el nom del carrer conté ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "clau numèrica"
 
@@ -23183,6 +23291,9 @@ msgstr "pendent inusual; utilitzeu percentatges/graus o amunt/avall"
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relació sense tipus"
 
@@ -24519,6 +24630,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nom del carrer:"
 
@@ -27825,7 +27942,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -28501,6 +28620,9 @@ msgstr "La reconstrucció de polígons només pot fer-se amb vies exteriors"
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruir polígons a partir de la relació {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Obri la pàgina wiki de la relació"
 
@@ -28541,6 +28663,12 @@ msgstr "Trobat un node sense els rols ''label'' o ''admin_centre''"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Trobada una via sense els rols ''inner'' o ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Revertir el conjunt de canvis sencer"
 
@@ -29074,8 +29202,8 @@ msgstr "afig a la relació associatedStreet (carrer associat) existent"
 msgid "create an associatedStreet relation"
 msgstr "crea una relació associatedStreet (carrer associat)"
 
-msgid "delete outline way"
-msgstr "suprimir la via de contorn"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nom del carrer: "
diff --git a/i18n/po/cs.po b/i18n/po/cs.po
index 079ea32..9394094 100644
--- a/i18n/po/cs.po
+++ b/i18n/po/cs.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-04 13:36+0000\n"
-"Last-Translator: Jan Martinec <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-19 02:57+0000\n"
+"Last-Translator: Martin Petricek <singularita at gmail.com>\n"
 "Language-Team: Czech <cs 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=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Launchpad-Export-Date: 2014-12-10 04:41+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:44+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: cs\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4088,6 +4088,9 @@ msgstr "Značky pro Internet"
 msgid "Checks for errors in internet-related tags."
 msgstr "Kontroluje chyby v značkách sovisejících s Internetem."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4308,20 +4311,21 @@ msgstr "Neznámý typ relace"
 msgid "Relation is empty"
 msgstr "Relace je prázdná"
 
-msgid "<empty>"
-msgstr "<prázdné>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Neznámá role {0}"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Nalezena prázdná role"
+msgid "<empty>"
+msgstr "<prázdné>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Člen s rolí ''{0}'' neodpovídá ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Člen pro roli {0} má špatný typ"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Role {0} chybí"
@@ -4872,11 +4876,36 @@ msgstr "Zakázat přístup k uvedeným zdrojům, odděleným čárkou"
 msgid "options provided as Java system properties"
 msgstr "Volby poskytované jako systémové vlastnosti Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/CESTA/K/ADRESARI/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Změnit adresář pro všechna uživatelská nastavení"
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5151,6 +5180,21 @@ msgstr "Vrstva není v seznamu."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Vrstva ''{0}'' musí být v  seznamu vrstev"
 
+msgid "Default (open, closed, new)"
+msgstr "Výchozí (otevřené, zavřené, nové)"
+
+msgid "Username"
+msgstr "Jméno uživatele"
+
+msgid "Created date"
+msgstr "Datum vytvoření"
+
+msgid "Last change date"
+msgstr "Datum poslední změny"
+
+msgid "Select note sorting method"
+msgstr "Zvolte způsob třídění poznámek"
+
 msgid "Click to cancel the current operation"
 msgstr "Klikněte pro zrušení aktuální operace"
 
@@ -6630,6 +6674,12 @@ msgstr "Znovu otevřít"
 msgid "Reopen note with message:"
 msgstr "Znovu otevřít poznámku se zprávou:"
 
+msgid "Sort notes"
+msgstr "Seřadit poznámky"
+
+msgid "Sort"
+msgstr "Řadit"
+
 msgid "Object type:"
 msgstr "Typ objektu:"
 
@@ -7692,9 +7742,6 @@ msgstr "Vybrat objekty vybraných členů relace"
 msgid "Sort the relation members"
 msgstr "Seřadit členy relace"
 
-msgid "Sort"
-msgstr "Řadit"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor relací: Řazení"
 
@@ -8560,9 +8607,6 @@ msgstr "Zadajte přihlašovací údaje pro hostitele"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Zadejte přihlašovací údaje pro HTTP proxy"
 
-msgid "Username"
-msgstr "Jméno uživatele"
-
 msgid "Password"
 msgstr "Heslo"
 
@@ -9373,6 +9417,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Ulož vrstvu"
 
+msgid "Note"
+msgstr "Poznámka"
+
 msgid "Notes layer"
 msgstr "Vrstva poznámek"
 
@@ -9847,6 +9894,9 @@ msgstr "Odebrat fotografii z vrstvy"
 msgid "Delete File from disk"
 msgstr "Smazat soubor z disku"
 
+msgid "Copy image path"
+msgstr "Zkopírovat cestu k obrázku"
+
 msgid "Next"
 msgstr "Další"
 
@@ -13586,6 +13636,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "Neplatná dlhá hodnota pre vlastnosť \"{0}\". Prijatá hodnota je \"{1}\""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Připravuji OSM data..."
 
@@ -13774,8 +13827,8 @@ msgstr "Číst verzi protokolu"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "Nemůžu spustit server vzdáleného ovládání na portu {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Vzdálené ovládání::Naslouchá spojením na portu {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr "RemoteControl::Přijímá spojení na {0}:{1}"
 
 msgid "RemoteControl::Server stopped."
 msgstr "Vzdálené ovládání::Server zastaven."
@@ -13786,8 +13839,8 @@ msgstr "Nemohu spustit server https vzdáleného ovládání na portu {0}: {1}"
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Nelze inicializovat server Vzdáleného ovládání HTTPS"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "Vzdálené ovládání::Naslouchá zabezpečeným spojením na portu {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr "RemoteControl::Přijímá zabezpečená spojení na {0}:{1}"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Vzdálené ovládání::Server (https) zastaven."
@@ -15006,9 +15059,6 @@ msgstr ""
 "<html><p> Promiňte, ale nelze vložit značky ze schránky, protože neobsahuje "
 "objekty JOSM, ani žádný použitelný text.</p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "poškozený bz2 soubor."
-
 msgid "ms"
 msgstr "ms"
 
@@ -15917,7 +15967,7 @@ msgid "paving_stones"
 msgstr "(zámková) dlažba"
 
 msgid "cobblestone"
-msgstr "kočičí hlavy"
+msgstr "dlažební kostky"
 
 msgid "gravel"
 msgstr "štěrk"
@@ -16376,6 +16426,10 @@ msgstr "tenis"
 msgid "Coins"
 msgstr "Mince"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Bankovky"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektronické peněženky nebo kreditní karty"
 
@@ -17212,6 +17266,9 @@ msgstr "Přechod na kole"
 msgid "Cross on horseback"
 msgstr "Přechod na koni"
 
+msgid "Optional values for specific countries"
+msgstr "Volitelné hodnoty pro některé země"
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17269,6 +17326,18 @@ msgstr "Druhé jméno"
 msgid "Speed Camera"
 msgstr "Rychlostní radar"
 
+msgid "Traffic Mirror"
+msgstr "Dopravní zrcadlo"
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Výtah"
 
@@ -18716,6 +18785,9 @@ msgstr "Místo na piknik"
 msgid "Fireplace"
 msgstr "Ohniště"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Veřejný gril"
 
@@ -19321,6 +19393,12 @@ msgstr "sání"
 msgid "Count"
 msgstr "Počet"
 
+msgid "Advertising Column"
+msgstr "Reklamní sloup"
+
+msgid "Billboard"
+msgstr "Billboard"
+
 msgid "Sports"
 msgstr "Sport"
 
@@ -19942,7 +20020,7 @@ msgid "Tide Level"
 msgstr "Výšku přílivu"
 
 msgid "Groundwater"
-msgstr ""
+msgstr "Podzemní voda"
 
 msgid "Traffic"
 msgstr "Dopravu"
@@ -21193,9 +21271,6 @@ msgstr "hračky"
 msgid "vouchers"
 msgstr "poukazy"
 
-msgid "Note"
-msgstr "Poznámka"
-
 msgid "Geography"
 msgstr "Geografie"
 
@@ -21588,9 +21663,6 @@ msgstr "Obvyklý zkrácený název"
 msgid "House number"
 msgstr "Číslo domu"
 
-msgid "House name"
-msgstr "Jméno domu"
-
 msgid "Street name"
 msgstr "Jméno ulice"
 
@@ -21603,8 +21675,8 @@ msgstr "Jméno města"
 msgid "Country code"
 msgstr "Kód země"
 
-msgid "Optional values for specific countries"
-msgstr "Volitelné hodnoty pro některé země"
+msgid "House name"
+msgstr "Jméno domu"
 
 msgid "Subdistrict"
 msgstr "Podokres (subdistrict)"
@@ -22275,6 +22347,13 @@ msgstr "VoGIS: DGM (model terénu)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (model povrchu)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -22324,13 +22403,13 @@ msgid "Estonia Ortho (Maaamet)"
 msgstr "Estonsko ortho (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Estonia Hillshade (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Estonia Cadastre (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Estonia Forestry (Maaamet)"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -22411,6 +22490,9 @@ msgstr "OpenStreetMap (Sorbian Language)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22658,6 +22740,9 @@ msgstr "GRAFCAN Express - Kanárské ostrovy"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr "Kanton Aargau 25cm (AGIS 2014)"
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -22728,7 +22813,7 @@ msgid "OSM US TIGER 2012 Roads Overlay"
 msgstr "OSM US TIGER 2012 Roads Overlay"
 
 msgid "New & Misaligned TIGER Roads (TIGER 2014)"
-msgstr ""
+msgstr "New & Misaligned TIGER Roads (TIGER 2014)"
 
 msgid "MassGIS L3 Parcels"
 msgstr "MassGIS L3 Parcels"
@@ -23015,6 +23100,9 @@ msgstr "{0} bez {1} nebo {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} bez {1}, {2} nebo {3}"
 
+msgid "{0} together with {1}"
+msgstr "{0} zároveň s {1}"
+
 msgid "{0} on suspicious object"
 msgstr "{0} u podezřelého objektu"
 
@@ -23033,6 +23121,12 @@ msgstr "sport bez reálného objektu"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} by měl být na uzlu, kde se protínají {1} a {2}"
 
+msgid "alternative name without {0}"
+msgstr "alternativní název bez {0}"
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr "nekompletní použití {0} na cestě bez {1}"
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} je zastaralé"
 
@@ -23076,6 +23170,9 @@ msgstr "{0}={1} je neurčité. Nahraďte, prosím, ''{1}'' konkrétní hodnotou.
 msgid "{0} should be replaced with {1}"
 msgstr "{0} by mělo být nahrazeno {1}"
 
+msgid "{0} = {1}; remove {0}"
+msgstr "{0} = {1}; odstraňte {0}"
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23116,6 +23213,9 @@ msgstr "Překrývající se stejné přírodní plochy"
 msgid "Overlapping Identical Landuses"
 msgstr "Překrývající se stejné využití oblasti (landuse)"
 
+msgid "{0} must be connected to a way"
+msgstr "{0} musí být připojen k cestě"
+
 msgid "abbreviated street name"
 msgstr "zkrácený název ulice"
 
@@ -23137,9 +23237,19 @@ msgstr "dočasný typ cesty"
 msgid "street name contains ss"
 msgstr "název ulice obsahuje ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+"Hodnota ''{0}'' by měla být buď ''{1}'' nebo ''{2}''. Pro chodník pak "
+"použijte ''{3}''."
+
 msgid "{0} with multiple values"
 msgstr "{0} s vícenásobnou hodnotou"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "číselný klíč"
 
@@ -23181,6 +23291,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr "{0} musí být číselná hodnota"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relace bez \"type\""
 
@@ -24516,6 +24629,12 @@ msgstr "Sloučit uzly se sousedy"
 msgid "merge nodes"
 msgstr "sloučit uzly"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Jméno ulice:"
 
@@ -27761,9 +27880,10 @@ msgstr "Upravit fotografie"
 msgid "Move and position photos"
 msgstr "Posunout a polohovat fotografie"
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
-"Klikněte+táhněte fotografii nebo Shift+kliknutím polohujte fotografii."
 
 msgid "Please load some photos."
 msgstr "Načtěte prosím nějaké fotografie."
@@ -28434,6 +28554,9 @@ msgstr "Rekonstrukce polygonů je možná pouze z vnějších cest"
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruovat polygony z relace {0}"
 
+msgid "Reconstruct route"
+msgstr "Rekonstruovat trasu"
+
 msgid "Open relation wiki page"
 msgstr "Otevřít Wiki stránku o relaci"
 
@@ -28473,6 +28596,12 @@ msgstr "Nalezen uzel bez role ''label'' nebo ''admin_centre''"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Nalezena cesta bez role ''inner'' nebo ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr "Nalezen uzel bez role ''stop'' nebo ''platform''"
+
+msgid "Way platform without ''platform'' role found"
+msgstr "Nalezeno cesta nástupiště bez role ''platform''"
+
 msgid "Revert changeset fully"
 msgstr "Vrátit zpět celou sadu změn"
 
@@ -28997,8 +29126,8 @@ msgstr "přidat do existující relace přiřazená alice (associatedStreet)"
 msgid "create an associatedStreet relation"
 msgstr "vytvořit relaci Přiřazená ulice (associatedStreet)"
 
-msgid "delete outline way"
-msgstr "smazat vnější obrys"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Jméno ulice: "
diff --git a/i18n/po/cy.po b/i18n/po/cy.po
index 2e816ac..06da170 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:18+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:34+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: cy\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3725,6 +3725,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3931,19 +3934,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4479,10 +4483,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4737,6 +4766,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6077,6 +6121,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7059,9 +7109,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7843,9 +7890,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8525,6 +8569,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8971,6 +9018,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12351,6 +12401,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12531,7 +12584,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12543,7 +12596,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13503,9 +13556,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14741,6 +14791,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15563,6 +15617,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15620,6 +15677,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17064,6 +17133,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17669,6 +17741,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19539,9 +19617,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19925,9 +20000,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19940,7 +20012,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20612,6 +20684,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20746,6 +20825,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20991,6 +21073,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21348,6 +21433,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21366,6 +21454,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21402,6 +21496,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21440,6 +21537,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21461,9 +21561,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21498,6 +21606,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22692,6 +22803,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25709,7 +25826,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26370,6 +26489,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26409,6 +26531,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26899,7 +27027,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/da.po b/i18n/po/da.po
index 3e43085..274343e 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: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-06 23:01+0000\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-26 15: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: 2014-12-10 04:42+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:45+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: da_DK\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
@@ -70,7 +70,7 @@ msgid "DEBUG: {0}"
 msgstr "DEBUG: {0}"
 
 msgid "Cause: "
-msgstr ""
+msgstr "Årsag: "
 
 msgid "Executing platform startup hook"
 msgstr "Afvikler platforms opstartskrog"
@@ -184,7 +184,15 @@ msgid_plural ""
 "You are about to launch {0} browser windows.<br>This may both clutter your "
 "screen with browser windows<br>and take some time to finish."
 msgstr[0] ""
+"Du er ved at starte {0} browservindue. <br>Dette kan både fylde din skærm "
+"med et browservindue <br>og tage noget tid at \r\n"
+"\r\n"
+"afslutte."
 msgstr[1] ""
+"Du er ved at starte {0} browservinduer. <br>Dette kan både fylde din skærm "
+"med browservinduer <br>og tage noget tid at \r\n"
+"\r\n"
+"afslutte."
 
 msgid "Continue"
 msgstr "Fortsæt"
@@ -646,7 +654,7 @@ msgid "Move tags from ways to relations"
 msgstr "Flyt tags fra ways til relation"
 
 msgid "Reverting changes"
-msgstr "Tilbageruller ændringer"
+msgstr "Tilbagefører ændringer"
 
 msgid "Removed duplicate nodes"
 msgstr "Fjern duplikerede punkter"
@@ -2056,7 +2064,7 @@ msgid "Create areas"
 msgstr "Opret områder"
 
 msgid "Extrude Dual alignment"
-msgstr ""
+msgstr "Udvid dobbelt tilpasning"
 
 msgid ""
 "Drag a way segment to make a rectangle. Ctrl-drag to move a segment along "
@@ -2087,7 +2095,7 @@ msgid "Extrude: main line"
 msgstr "Udvid: primær linje"
 
 msgid "Extrude: helper line"
-msgstr "Extrude: hjælpelinje"
+msgstr "Udvid: hjælpelinje"
 
 msgid "Extrude Way"
 msgstr "Træk vej ud"
@@ -4028,6 +4036,9 @@ msgstr "Internet tags"
 msgid "Checks for errors in internet-related tags."
 msgstr "Kontrollerer for fejl i internet relaterede tags."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4099,7 +4110,9 @@ msgid ""
 msgid_plural ""
 "Multipolygon relation should be tagged with area tags and not the outer ways"
 msgstr[0] ""
+"Multipolygon relation bør være tagget med område tags og ikke ydre vejen."
 msgstr[1] ""
+"Multipolygon relation bør være tagget med område tags og ikke ydre vejene."
 
 msgid "Style for inner way equals multipolygon"
 msgstr "Stilen for den indre veje er den samme som multipolygon"
@@ -4240,20 +4253,21 @@ msgstr "Relationstypen er ukendt"
 msgid "Relation is empty"
 msgstr "Relationen er tom"
 
-msgid "<empty>"
-msgstr "<tom>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rolle {0} ukendt"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Tom rolle fundet"
+msgid "<empty>"
+msgstr "<tom>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Medlem for rollen {0} er af forkert type"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Rolle {0} mangler"
@@ -4385,7 +4399,7 @@ msgid "Looks for nodes or ways with FIXME in any property value."
 msgstr "Søger efter punkter eller veje med FIXME i enhver egenskavsværdi"
 
 msgid "Fix tags"
-msgstr ""
+msgstr "Ret tags"
 
 msgid "Could not find element type"
 msgstr "Kunne ikke finde element-typen"
@@ -4800,11 +4814,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "options givet som Java systemegenskaber"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/STI/TIL/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Ændr folderen for alle bruger indstillinger"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5069,6 +5108,21 @@ msgstr "lag er ikke i listen"
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Lag \"{0}\" skal være i liste over lag"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Brugernavn"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Klik for at afbryde den aktuelle operation"
 
@@ -5684,7 +5738,17 @@ msgid_plural ""
 "are shown a dialog to decide how to adapt the relations.<br/><br/>Do you "
 "want to continue?"
 msgstr[0] ""
+"Du er ved at forbinde {1} objekt, som er den del af {0} "
+"relation:<br/>{2}Forbindes disse objekter kan det måske ødelægge denne "
+"relation. Hvis du er usikker, så afbryd denne handling.<br/>Hvis du ønsker "
+"at fortsætte, vises en dialog til at beslutte hvordan relationen "
+"tilpasses.<br/><br/>Ønsker du at fortsætte?"
 msgstr[1] ""
+"Du er ved at forbinde {1} objekter, som er den del af {0} "
+"relationer:<br/>{2}Forbindes disse objekter kan det måske ødelægge disse "
+"relationer. Hvis du er usikker, så afbryd denne handling.<br/>Hvis du ønsker "
+"at fortsætte, vises en dialog til at beslutte hvordan relatonerne "
+"tilpasses.<br/><br/>Ønsker du at fortsætte?"
 
 msgid "Combine confirmation"
 msgstr "Bekræft kombinering"
@@ -5706,7 +5770,15 @@ msgid_plural ""
 "may have unwanted tags.<br/>If you want to continue, you are shown a dialog "
 "to fix the conflicting tags.<br/><br/>Do you want to continue?"
 msgstr[0] ""
+"Du er ved at forbinde {0} objekter, men de følgende tags bliver brugt "
+"konfliktfyldt:<br/>{1}Hvis disse objekter forbindes, vil det resulterende "
+"objekt måske have uønskede tags.<br/>Hvis du ønsker at fortsætte, vises en "
+"dialog til at rette de modstridende tags.<br/><br/>Ønsker du at fortsætte?"
 msgstr[1] ""
+"Du er ved at forbinde {0} objekter, men de følgende tags bliver brugt "
+"konfliktfyldt:<br/>{1}Hvis disse objekter forbindes, vil det resulterende "
+"objekt måske have uønskede tags.<br/>Hvis du ønsker at fortsætte, vises en "
+"dialog til at rette de modstridende tags.<br/><br/>Ønsker du at fortsætte?"
 
 msgid "Choose a value"
 msgstr "Vælg en værdi"
@@ -6502,6 +6574,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Sortér"
+
 msgid "Object type:"
 msgstr "Objekttype:"
 
@@ -7561,9 +7639,6 @@ msgstr "Vælg objekter for valgte relationsmedlemmer"
 msgid "Sort the relation members"
 msgstr "Sortér relationsmedlemmerne"
 
-msgid "Sort"
-msgstr "Sortér"
-
 msgid "Relation Editor: Sort"
 msgstr "Relationseditor: Sortér"
 
@@ -8425,9 +8500,6 @@ msgstr "Indtast loginoplysninger for vært"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Indtast brugerinfo for HTTP-proxy"
 
-msgid "Username"
-msgstr "Brugernavn"
-
 msgid "Password"
 msgstr "Adgangskode"
 
@@ -9197,6 +9269,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Gem lag"
 
+msgid "Note"
+msgstr "Note"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9668,6 +9743,9 @@ msgstr "Fjern foto fra lag"
 msgid "Delete File from disk"
 msgstr "Slet fil fra disk"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Næste"
 
@@ -12750,7 +12828,7 @@ msgstr ""
 "\"{1}\"."
 
 msgid "Deleted node {0} is part of way {1}"
-msgstr "Slette punkt {0} er en del af vejen {1}"
+msgstr "Slettet punkt {0} er en del af vej {1}"
 
 msgid ""
 "Way {0} with {1} nodes has incomplete nodes because at least one node was "
@@ -13075,7 +13153,7 @@ msgid "Note Files"
 msgstr ""
 
 msgid "OSM API"
-msgstr ""
+msgstr "OSM API"
 
 msgid "JOSM website"
 msgstr ""
@@ -13267,7 +13345,7 @@ msgid "No data found for layer ''{0}''."
 msgstr "Ingen data fundet for laget \"{0}\"."
 
 msgid "No data found in file ''{0}''."
-msgstr "Ingen data fundet u filen \"{0}\"."
+msgstr "Ingen data fundet i filen \"{0}\"."
 
 msgid "Open OSM file"
 msgstr "Åben OSM fil"
@@ -13354,6 +13432,9 @@ msgstr "Manglende påkrævet attribut \"{0}\"."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Ulovlig long værdi af attribut ''{0}''. Fik ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Forbereder OSM-data..."
 
@@ -13413,7 +13494,7 @@ msgstr ""
 "Kunne ikke forbinde til osm server. Tjek venligst din internetforbindelse."
 
 msgid "Reading error text failed."
-msgstr "Indkæsning af fejltekst mislykkedes."
+msgstr "Indlæsning af fejltekst mislykkedes."
 
 msgid "XML tag <user> is missing."
 msgstr "XML tag <user> mangler."
@@ -13475,7 +13556,7 @@ msgstr ""
 "Adgangskoden bliver gemt som simpel tekst i JOSMs indstillingsfil. Desuden "
 "bliver det overført <strong>ukrypteret</strong> ved hver eneste forespørgsel "
 "til OSM-serveren. <strong>Anvend ikke en værdifuld "
-"adgangskode..</strong></p></body></html>"
+"adgangskode.</strong></p></body></html>"
 
 msgid "Save user and password (unencrypted)"
 msgstr "Gem brugernavn og adgangskode (ukrypteret)"
@@ -13540,8 +13621,8 @@ msgstr "Læse protokolversionen"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Fjernstyring::Accepterer forbindelser på port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "Fjernstyring::Server stoppet."
@@ -13552,7 +13633,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -14579,50 +14660,54 @@ msgstr ""
 "platform."
 
 msgid "Opening URL: {0}"
-msgstr ""
+msgstr "Åbner URL: {0}"
 
 msgid "zoom"
-msgstr ""
+msgstr "zoom"
 
 msgid "latitude"
-msgstr ""
+msgstr "breddegrad"
 
 msgid "longitude"
-msgstr ""
+msgstr "længdegrad"
 
 msgid "URL does not contain {0}/{1}/{2}"
-msgstr ""
+msgstr "URL indeholder ikke {0}/{1}/{2}"
 
 msgid "URL does not contain valid {0}"
-msgstr ""
+msgstr "URL indeholder ikke gyldig {0}"
 
 msgid "reserved"
 msgstr "reserveret"
 
 msgid "Outdated Java version"
-msgstr ""
+msgstr "Forældet Java version"
 
 msgid "Update Java"
-msgstr ""
+msgstr "Opdater Java"
 
 msgid "You are running version {0} of Java."
-msgstr ""
+msgstr "Du bruger Java version {0}."
 
 msgid "April 2015"
-msgstr ""
+msgstr "April 2015"
 
 msgid ""
 "This version is no longer supported by {0} since {1} and is not recommended "
 "for use."
 msgstr ""
+"Denne version er ikke længere understøttet af {0} siden {1} og frarådes at "
+"bruge."
 
 msgid ""
 "JOSM will soon stop working with this version; we highly recommend you to "
 "update to Java {0}."
 msgstr ""
+"JOSM vil snart ikke virke med denne version; vi anbefaler dig meget at "
+"opdatere til Java {0}."
 
 msgid "Would you like to update now ?"
-msgstr ""
+msgstr "Vil du opdatere nu?"
 
 msgid ""
 "A previous version of JOSM has installed a custom certificate in order to "
@@ -14692,9 +14777,6 @@ msgstr ""
 "<html><p> Beklager, det er ikke muligt at indsætte tags fra udklipsholderen. "
 "Den indeholder ikke noget JOSM objekt, eller passende tekst. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Ugyldig bz2-fil."
-
 msgid "ms"
 msgstr "ms"
 
@@ -14817,7 +14899,7 @@ msgstr "skov"
 
 msgctxt "landuse"
 msgid "meadow"
-msgstr ""
+msgstr "eng"
 
 msgctxt "landuse"
 msgid "farmland"
@@ -14841,7 +14923,7 @@ msgstr "grænse"
 
 msgctxt "Relation type"
 msgid "bridge"
-msgstr ""
+msgstr "bro"
 
 msgctxt "Relation type"
 msgid "destination_sign"
@@ -14881,11 +14963,11 @@ msgstr "sted"
 
 msgctxt "Relation type"
 msgid "street"
-msgstr ""
+msgstr "gade"
 
 msgctxt "Relation type"
 msgid "tunnel"
-msgstr ""
+msgstr "tunnel"
 
 msgctxt "Relation type"
 msgid "waterway"
@@ -15304,6 +15386,8 @@ msgid ""
 "Disallow using JOSM forever (WARNING: this plugin prevents JOSM from loading "
 "and is hard to rid of)"
 msgstr ""
+"Forbyd at bruge JOSM for evigt (ADVARSEL: Dette plugin forhindrer JOSM "
+"starter og er svært at slippe af med)"
 
 msgid "Convert data from Open Data portals to OSM layer"
 msgstr "Konverter data fra Open Data portaler til OSM lag"
@@ -15329,7 +15413,7 @@ msgstr ""
 "boks"
 
 msgid "Import/export OSM data in PBF format"
-msgstr ""
+msgstr "Import/export OSM data i PBF format"
 
 msgid "Import PDF file and convert to ways."
 msgstr "Importér PDF fil og konverter til veje."
@@ -15378,7 +15462,7 @@ msgid "Relation and multipolygon creating and editing panel."
 msgstr "Panel til oprettelse og redigering af relationer og multipolygoner."
 
 msgid "Plugin for reverting changesets"
-msgstr "Plugin for tilbagerulning af rettesæt"
+msgstr "Plugin for tilbageførelse af rettesæt"
 
 msgid ""
 "Plugin for tagging of objects based on a selection of road signs. The dialog "
@@ -15409,7 +15493,7 @@ msgstr ""
 "også nærliggende punkter."
 
 msgid "Edit features for OpenSeaMap"
-msgstr ""
+msgstr "Rediger funktioner til OpenSeaMap"
 
 msgid "Allow adding markers/nodes on current gps positions."
 msgstr ""
@@ -15444,13 +15528,14 @@ msgid ""
 "Traces buildings from Czech cadastral map. Needs TracerServer (.NET or Mono) "
 "to be running."
 msgstr ""
-"Optegner bgninger fra Tjekkisk cadastral kort. Kræver at TracerServer (.Net "
+"Optegner bygninger fra Tjekkisk matrikelkort. Kræver at TracerServer (.Net "
 "eller Mono) kører."
 
 msgid ""
 "Traces buildings and other shapes from a map. Needs Tracer2Server to be "
 "running."
 msgstr ""
+"Optegner bygninger og andre former fra kort. Kræver at Tracer2Server kører."
 
 msgid "Plugin to digital sign OSM-Data"
 msgstr "Udvidelse til at signere OSM-data digitalt"
@@ -15540,10 +15625,10 @@ msgid "pebblestone"
 msgstr "småsten"
 
 msgid "compacted"
-msgstr "kompakteret"
+msgstr "komprimeret"
 
 msgid "grass_paver"
-msgstr "Græs_belægning"
+msgstr "græsarmeringssten"
 
 msgid "grass"
 msgstr "græs"
@@ -15555,7 +15640,7 @@ msgid "ground"
 msgstr "jord"
 
 msgid "sett"
-msgstr ""
+msgstr "chaussésten"
 
 msgctxt "riding"
 msgid "pitch"
@@ -15574,13 +15659,13 @@ msgid "track"
 msgstr "spor"
 
 msgid "clay"
-msgstr ""
+msgstr "ler"
 
 msgid "dirt"
-msgstr ""
+msgstr "snavs"
 
 msgid "fine_gravel"
-msgstr ""
+msgstr "fint grus"
 
 msgid "mud"
 msgstr "mudder"
@@ -15628,41 +15713,41 @@ msgid "Width (meters)"
 msgstr "Bredde (meter)"
 
 msgid "Sidewalk"
-msgstr ""
+msgstr "Fortov"
 
 msgctxt "sidewalk"
 msgid "both"
-msgstr ""
+msgstr "begge"
 
 msgctxt "sidewalk"
 msgid "left"
-msgstr ""
+msgstr "venstre"
 
 msgctxt "sidewalk"
 msgid "right"
-msgstr ""
+msgstr "højre"
 
 msgctxt "sidewalk"
 msgid "no"
-msgstr ""
+msgstr "nej"
 
 msgid "Service type"
-msgstr ""
+msgstr "Servicetype"
 
 msgid "yard"
-msgstr "Banegård"
+msgstr "banegård"
 
 msgid "siding"
 msgstr "sidespor"
 
 msgid "spur"
-msgstr "sidespor"
+msgstr "fabriksspor"
 
 msgid "Electrified"
 msgstr "Elektificeret"
 
 msgid "contact_line"
-msgstr ""
+msgstr "køreledning"
 
 msgid "no"
 msgstr "nej"
@@ -15671,16 +15756,16 @@ msgid "yes"
 msgstr "ja"
 
 msgid "rail"
-msgstr "bane"
+msgstr "strømskinne"
 
 msgid "Voltage in Volts (V)"
-msgstr ""
+msgstr "Spænding i volt (V)"
 
 msgid "Frequency in Hertz (Hz)"
-msgstr ""
+msgstr "Frekvens i hertz (Hz)"
 
 msgid "16.67"
-msgstr ""
+msgstr "16.67"
 
 msgid "16.7"
 msgstr "16.7"
@@ -15690,7 +15775,7 @@ msgid "Tracks"
 msgstr ""
 
 msgid "Gauge (mm)"
-msgstr ""
+msgstr "Sporvidde (mm)"
 
 msgid "Allowed traffic:"
 msgstr "Tilladt trafik:"
@@ -15726,7 +15811,7 @@ msgid "Service Times"
 msgstr "Servicetider"
 
 msgid "18:00"
-msgstr ""
+msgstr "18:00"
 
 msgid "sunset,sunrise"
 msgstr ""
@@ -15757,7 +15842,7 @@ msgid "24/7"
 msgstr "24/7"
 
 msgid "08:30-12:30,15:30-20:00"
-msgstr ""
+msgstr "08:30-12:30,15:30-20:00"
 
 msgid "Sa-Su 00:00-24:00"
 msgstr ""
@@ -15830,14 +15915,14 @@ msgid "stadium"
 msgstr "stadion"
 
 msgid "Select sport:"
-msgstr ""
+msgstr "Vælg sport:"
 
 msgid "Sport"
 msgstr "Sport"
 
 msgctxt "sport"
 msgid "multi"
-msgstr ""
+msgstr "multi"
 
 msgctxt "sport"
 msgid "archery"
@@ -15986,6 +16071,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Mønter"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Sedler"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektroniske punge og betalingskort"
 
@@ -16002,7 +16091,7 @@ msgid "Fee"
 msgstr "Gebyr"
 
 msgid "06:00-20:00"
-msgstr ""
+msgstr "06:00-20:00"
 
 msgid "Mo-Fr 09:00-18:00,Sa 08:00-14:00"
 msgstr ""
@@ -16012,19 +16101,19 @@ msgstr ""
 
 msgctxt "parking"
 msgid "multi-storey"
-msgstr ""
+msgstr "flere etager"
 
 msgctxt "parking"
 msgid "surface"
-msgstr ""
+msgstr "overflade"
 
 msgctxt "parking"
 msgid "underground"
-msgstr ""
+msgstr "underjordisk"
 
 msgctxt "parking"
 msgid "rooftop"
-msgstr ""
+msgstr "hustag"
 
 msgid "Reference number"
 msgstr "Referensenummer"
@@ -16060,7 +16149,7 @@ msgid "agricultural"
 msgstr "landbrug"
 
 msgid "forestry"
-msgstr ""
+msgstr "skovbrug"
 
 msgid "Population"
 msgstr "Befolkning"
@@ -16072,13 +16161,13 @@ msgid "Distance (km)"
 msgstr "Distance (km)"
 
 msgid "Ascent (m)"
-msgstr ""
+msgstr "Opstigning (m)"
 
 msgid "Descent (m)"
-msgstr ""
+msgstr "Nedstigning (m)"
 
 msgid "Roundtrip"
-msgstr ""
+msgstr "Rundstrækning"
 
 msgid "Symbol description"
 msgstr "Symbol beskrivelse"
@@ -16207,10 +16296,10 @@ msgid "low"
 msgstr "lav"
 
 msgid "750000;200000"
-msgstr ""
+msgstr "750000;200000"
 
 msgid "110000;20000"
-msgstr ""
+msgstr "110000;20000"
 
 msgid "Branch operator"
 msgstr ""
@@ -16219,30 +16308,30 @@ msgid "Amount of Cables"
 msgstr "Antal kabler"
 
 msgid "Amount of circuits"
-msgstr ""
+msgstr "Antal kredsløb"
 
 msgid "Location"
 msgstr "Sted"
 
 msgctxt "power"
 msgid "outdoor"
-msgstr ""
+msgstr "udendørs"
 
 msgctxt "power"
 msgid "indoor"
-msgstr ""
+msgstr "indendørs"
 
 msgctxt "power"
 msgid "underground"
-msgstr ""
+msgstr "underjordisk"
 
 msgctxt "power"
 msgid "platform"
-msgstr ""
+msgstr "platform"
 
 msgctxt "power"
 msgid "kiosk"
-msgstr ""
+msgstr "kiosk"
 
 msgid "Start date"
 msgstr "Start dato"
@@ -16323,13 +16412,13 @@ msgid "Secondary"
 msgstr "Sekundær"
 
 msgid "Secondary Link"
-msgstr "Sekundær forbindelse"
+msgstr "Sekundærforbindelse"
 
 msgid "Tertiary"
 msgstr "Tertiær"
 
 msgid "Tertiary Link"
-msgstr "Tertiær forbindelse"
+msgstr "Tertiærforbindelse"
 
 msgid "Unclassified"
 msgstr "Uklassificeret"
@@ -16348,29 +16437,29 @@ msgstr "Vej-type"
 
 msgctxt "Highway"
 msgid "residential"
-msgstr ""
+msgstr "beboelse"
 
 msgctxt "Highway"
 msgid "service"
-msgstr ""
+msgstr "service"
 
 msgctxt "Highway"
 msgid "unclassified"
-msgstr ""
+msgstr "uklassificeret"
 
 msgctxt "Highway"
 msgid "path"
-msgstr ""
+msgstr "sti"
 
 msgctxt "Highway"
 msgid "cycleway"
 msgstr ""
 
 msgid "Vehicle access"
-msgstr ""
+msgstr "Køretøjsadgang"
 
 msgid "Oneway for bicycle"
-msgstr ""
+msgstr "Ensrettet for cykler"
 
 msgid "Living Street"
 msgstr "Legegade"
@@ -16385,7 +16474,7 @@ msgid "Service"
 msgstr "Service"
 
 msgid "Service way type"
-msgstr ""
+msgstr "Service vejtype"
 
 msgid "alley"
 msgstr "gyde"
@@ -16397,7 +16486,7 @@ msgid "parking_aisle"
 msgstr "Vej mellem parkeringsbåse"
 
 msgid "drive-through"
-msgstr ""
+msgstr "køre igennem"
 
 msgid "Parking Aisle"
 msgstr "Vej mellem parkeringsbåse"
@@ -16466,7 +16555,7 @@ msgid "Public Service Vehicles (psv)"
 msgstr "Offentlig transport"
 
 msgid "Tourist buses"
-msgstr ""
+msgstr "Turistbusser"
 
 msgid "Min. speed (km/h)"
 msgstr "Min. hastighed (km/t)"
@@ -16482,23 +16571,23 @@ msgstr "Overhaling"
 
 msgctxt "overtaking"
 msgid "yes"
-msgstr ""
+msgstr "ja"
 
 msgctxt "overtaking"
 msgid "both"
-msgstr ""
+msgstr "begge"
 
 msgctxt "overtaking"
 msgid "forward"
-msgstr ""
+msgstr "fremad"
 
 msgctxt "overtaking"
 msgid "backward"
-msgstr ""
+msgstr "tilbage"
 
 msgctxt "overtaking"
 msgid "no"
-msgstr ""
+msgstr "nej"
 
 msgid "Roundabout"
 msgstr "Rundkørsel"
@@ -16558,19 +16647,19 @@ msgid "Tracktype"
 msgstr "Sportype"
 
 msgid "grade1"
-msgstr ""
+msgstr "klasse1"
 
 msgid "grade2"
-msgstr ""
+msgstr "klasse2"
 
 msgid "grade3"
-msgstr ""
+msgstr "klasse3"
 
 msgid "grade4"
-msgstr ""
+msgstr "klasse4"
 
 msgid "grade5"
-msgstr ""
+msgstr "klasse5"
 
 msgid "MTB Scale"
 msgstr "MTB skala"
@@ -16653,7 +16742,7 @@ msgstr ""
 
 msgctxt "trail_visibility"
 msgid "no"
-msgstr ""
+msgstr "nej"
 
 msgid "Ski"
 msgstr "Ski"
@@ -16794,7 +16883,7 @@ msgid "tiger"
 msgstr "tiger"
 
 msgid "Button operated"
-msgstr ""
+msgstr "Knap betjent"
 
 msgid "Sound signals"
 msgstr "Lydsignaler"
@@ -16808,6 +16897,9 @@ msgstr "Overkørsel for cykler"
 msgid "Cross on horseback"
 msgstr "Overgangssted for ridende"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -16865,9 +16957,21 @@ msgstr "Andet navn"
 msgid "Speed Camera"
 msgstr "Fartkamera"
 
-msgid "Elevator"
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
 msgstr ""
 
+msgid "Elevator"
+msgstr "Elevator"
+
 msgid "Grit Bin"
 msgstr "Vejkasse til salt/sand"
 
@@ -16926,7 +17030,7 @@ msgid "Hedge"
 msgstr "Hæk"
 
 msgid "Genus"
-msgstr ""
+msgstr "Slægt"
 
 msgid "Species"
 msgstr "Arter"
@@ -16941,7 +17045,7 @@ msgid "barbed_wire"
 msgstr "pigtråd"
 
 msgid "chain_link"
-msgstr ""
+msgstr "trådnet"
 
 msgid "electric"
 msgstr "elektrisk"
@@ -16950,7 +17054,7 @@ msgid "pole"
 msgstr "stang"
 
 msgid "split_rail"
-msgstr ""
+msgstr "zigzag hegn"
 
 msgid "wire"
 msgstr ""
@@ -16984,18 +17088,18 @@ msgid "Gate"
 msgstr "Låge/led"
 
 msgid "Lift Gate"
-msgstr "Bom"
+msgstr "Vippebom"
 
 msgid "Swing Gate"
 msgstr "Svingbom"
 
 msgctxt "swing_gate"
 msgid "single"
-msgstr ""
+msgstr "enkelt"
 
 msgctxt "swing_gate"
 msgid "double"
-msgstr ""
+msgstr "dobbelt"
 
 msgid "Hampshire Gate"
 msgstr "Trådled"
@@ -17178,13 +17282,13 @@ msgid "Mud"
 msgstr "Mudder"
 
 msgid "Large area covered with mud."
-msgstr ""
+msgstr "Stort område dækket med mudder."
 
 msgid "Beach"
 msgstr "Strand"
 
 msgid "A flat area of sand, gravel or pebble next to water."
-msgstr ""
+msgstr "Et fladt område med sand, grus eller småsten ved siden af vand."
 
 msgid "swimming"
 msgstr ""
@@ -17218,23 +17322,23 @@ msgstr "Fragt"
 
 msgctxt "cargo"
 msgid "passengers"
-msgstr ""
+msgstr "passagerer"
 
 msgctxt "cargo"
 msgid "vehicle"
-msgstr ""
+msgstr "køretøj"
 
 msgctxt "cargo"
 msgid "bicycle"
-msgstr ""
+msgstr "cykel"
 
 msgctxt "cargo"
 msgid "hgv"
-msgstr ""
+msgstr "lastbiler"
 
 msgctxt "cargo"
 msgid "passengers;vehicle"
-msgstr ""
+msgstr "passagerer;køretøj"
 
 msgid "Ferry Route"
 msgstr "Færgerute"
@@ -17325,23 +17429,23 @@ msgstr "Afgrænsning"
 
 msgctxt "crossing:barrier"
 msgid "yes"
-msgstr ""
+msgstr "ja"
 
 msgctxt "crossing:barrier"
 msgid "no"
-msgstr ""
+msgstr "nej"
 
 msgctxt "crossing:barrier"
 msgid "half"
-msgstr ""
+msgstr "halv"
 
 msgctxt "crossing:barrier"
 msgid "full"
-msgstr ""
+msgstr "fuld"
 
 msgctxt "crossing:barrier"
 msgid "double_half"
-msgstr ""
+msgstr "dobbelt halv"
 
 msgid "Crossing"
 msgstr "Fodgængerovergang (over jernbane)"
@@ -17353,7 +17457,7 @@ msgid "Turntable"
 msgstr "Drejeskive"
 
 msgid "Buffer Stop"
-msgstr ""
+msgstr "Sporstopper"
 
 msgid "Railway Switch"
 msgstr "Sporskifte"
@@ -17362,7 +17466,7 @@ msgid "Aerialway"
 msgstr "Luftvej"
 
 msgid "Chair Lift"
-msgstr "Skilift"
+msgstr "Stolelift"
 
 msgid "Number of people per hour"
 msgstr "Antal personer per time"
@@ -17383,28 +17487,28 @@ msgid "Drag Lift"
 msgstr "Træklift"
 
 msgid "Cable Car"
-msgstr "Tovbane"
+msgstr "Kabelbane"
 
 msgid "Number of people per car"
 msgstr "Antal personer per vogn"
 
 msgid "Gondola"
-msgstr "Gondol"
+msgstr "Gondollift"
 
 msgid "Number of people per gondola"
-msgstr "Antal personer per gondol"
+msgstr "Antal personer per gondollift"
 
 msgid "Mixed Lift"
 msgstr "Blandet lift"
 
 msgid "Number of people per gondola/chair"
-msgstr "Antal personer per gondol/stol"
+msgstr "Antal personer per gondollift/stol"
 
 msgid "T-bar Lift"
-msgstr ""
+msgstr "T-træklift"
 
 msgid "J-bar Lift"
-msgstr ""
+msgstr "J-træklift"
 
 msgid "Platter Lift"
 msgstr "Tallerkenlift"
@@ -17413,7 +17517,7 @@ msgid "Rope Tow"
 msgstr "Reblift"
 
 msgid "Magic Carpet"
-msgstr "Flyvende tæppe"
+msgstr "Tæppelift"
 
 msgid "Goods"
 msgstr "Varer"
@@ -17423,7 +17527,7 @@ msgid "Station"
 msgstr "Station"
 
 msgid "Pylon"
-msgstr ""
+msgstr "Mast"
 
 msgid "Parking"
 msgstr "Parkering"
@@ -17441,7 +17545,7 @@ msgid "tram"
 msgstr "sporvogn"
 
 msgid "metro"
-msgstr ""
+msgstr "metro"
 
 msgid "ferry"
 msgstr "færge"
@@ -17459,7 +17563,7 @@ msgid "Spaces for Parents"
 msgstr "Område for forældre"
 
 msgid "See the Wiki for other capacity:[types]=*."
-msgstr ""
+msgstr "Se Wiki for andre capacity:[typer]=*."
 
 msgid "Parking Space"
 msgstr "Parkeringsbås"
@@ -17630,7 +17734,7 @@ msgid "Rental"
 msgstr "Udlejning"
 
 msgid "Second hand"
-msgstr ""
+msgstr "Brugt"
 
 msgid "only"
 msgstr "kun"
@@ -17648,7 +17752,7 @@ msgid "Services:"
 msgstr "Services:"
 
 msgid "Sale"
-msgstr "Udsalg"
+msgstr "Salg"
 
 msgid "brand"
 msgstr "mærke"
@@ -17729,7 +17833,7 @@ msgid "Public Transport"
 msgstr "Offentlig transport"
 
 msgid "Public Transport Route"
-msgstr ""
+msgstr "Offentlig transportrute"
 
 msgid "Route type"
 msgstr "Rutetype"
@@ -17747,7 +17851,7 @@ msgid "trolleybus"
 msgstr "trolleybus"
 
 msgid "aerialway"
-msgstr ""
+msgstr "luftvej"
 
 msgid "From (initial stop)"
 msgstr "Fra (første stop)"
@@ -18105,7 +18209,7 @@ msgid "Fast Food"
 msgstr "Fastfood"
 
 msgid "fish_and_chips"
-msgstr ""
+msgstr "fiskefileter"
 
 msgid "chicken"
 msgstr "kylling"
@@ -18117,13 +18221,13 @@ msgid "Cafe"
 msgstr "Café"
 
 msgid "ice_cream"
-msgstr ""
+msgstr "is"
 
 msgid "Pub"
 msgstr "Pub"
 
 msgid "Beer Garden"
-msgstr ""
+msgstr "Ølhave"
 
 msgid "Bar"
 msgstr "Bar"
@@ -18150,19 +18254,19 @@ msgid "Information Office"
 msgstr "Informationskontor"
 
 msgid "An office where you can get information about a town or region."
-msgstr ""
+msgstr "Et kontor hvor du kan få information om en by eller region."
 
 msgid "Map"
 msgstr "Kort"
 
 msgid "A board with a map."
-msgstr ""
+msgstr "En tavle med et kort."
 
 msgid "Detail Grade"
-msgstr ""
+msgstr "Detaljeringsgrad"
 
 msgid "topo"
-msgstr ""
+msgstr "topografiske"
 
 msgid "street"
 msgstr "gade"
@@ -18171,7 +18275,7 @@ msgid "scheme"
 msgstr "skema"
 
 msgid "toposcope"
-msgstr ""
+msgstr "markør"
 
 msgid "Shown Area"
 msgstr "Vist område"
@@ -18213,10 +18317,10 @@ msgid "Information Board"
 msgstr "Informationstavle"
 
 msgid "A board with information."
-msgstr ""
+msgstr "En tavle med information."
 
 msgid "Board Content"
-msgstr ""
+msgstr "Tavle indhold"
 
 msgid "notice"
 msgstr "oplysning"
@@ -18234,7 +18338,7 @@ msgid "plants"
 msgstr "planter"
 
 msgid "geology"
-msgstr ""
+msgstr "geologi"
 
 msgid "Guidepost"
 msgstr "Guide post"
@@ -18249,7 +18353,7 @@ msgid "Information Terminal"
 msgstr "Informations terminal"
 
 msgid "Information access via electronic methods."
-msgstr ""
+msgstr "Informationsadgang via elektroniske metoder."
 
 msgid "Closer description"
 msgstr "Nærmere beskrivelse"
@@ -18311,6 +18415,9 @@ msgstr "Picnic sted"
 msgid "Fireplace"
 msgstr "Bålplads"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Offentlig grill"
 
@@ -18328,7 +18435,7 @@ msgid "Fishing"
 msgstr "Fiskeri"
 
 msgid "Private Swimming Pool"
-msgstr "Privat svømmepøl"
+msgstr "Privat svømmebassin"
 
 msgid "Culture"
 msgstr "Kultur"
@@ -18349,16 +18456,16 @@ msgid "Artwork"
 msgstr "Kunstværk"
 
 msgid "mural"
-msgstr ""
+msgstr "vægmaleri"
 
 msgid "sculpture"
-msgstr ""
+msgstr "skulptur"
 
 msgid "statue"
-msgstr ""
+msgstr "statue"
 
 msgid "Artist Name"
-msgstr ""
+msgstr "Navn på kunstner"
 
 msgid "Recording Studio"
 msgstr "Lydstudie"
@@ -18376,7 +18483,7 @@ msgid "Church"
 msgstr "Kirke"
 
 msgid "Building type"
-msgstr ""
+msgstr "Bygningstype"
 
 msgid "basilica"
 msgstr ""
@@ -18617,16 +18724,16 @@ msgid "Baby Hatch/Safe Haven"
 msgstr "Babyluge"
 
 msgid "Emergency Access Point"
-msgstr ""
+msgstr "Alarmeringspunkt"
 
 msgid "Point Number"
-msgstr ""
+msgstr "Punktnummer"
 
 msgid "Point Name"
-msgstr ""
+msgstr "Punktnavn"
 
 msgid "(Use international code, like +12-345-67890)"
-msgstr "(brug forvalgskode, fx +12-345-67890)"
+msgstr "(Brug landekode, ligesom +12-345-67890)"
 
 msgid "Veterinary"
 msgstr "Dyrlæge"
@@ -18635,40 +18742,40 @@ msgid "Toilets/Restrooms"
 msgstr "Toiletter"
 
 msgid "Access rights"
-msgstr ""
+msgstr "Adgangsrettigheder"
 
 msgid "public"
 msgstr "offentlig"
 
 msgid "seasonal"
-msgstr ""
+msgstr "sæsonmæssige"
 
 msgid "flush"
-msgstr ""
+msgstr "skyl"
 
 msgid "pitlatrine"
-msgstr ""
+msgstr "hul"
 
 msgid "chemical"
-msgstr ""
+msgstr "kemisk"
 
 msgid "bucket"
-msgstr ""
+msgstr "spand"
 
 msgid "Usage Position"
-msgstr ""
+msgstr "Brugsposition"
 
 msgid "seated"
-msgstr ""
+msgstr "siddende"
 
 msgid "seated;urinal"
-msgstr ""
+msgstr "siddende;stående"
 
 msgid "squat"
-msgstr ""
+msgstr "på hug"
 
 msgid "urinal"
-msgstr ""
+msgstr "stående"
 
 msgid "Shower"
 msgstr "Bruser"
@@ -18801,10 +18908,10 @@ msgid "centre"
 msgstr "center"
 
 msgid "Waste Basket/Trash Can"
-msgstr ""
+msgstr "Affaldskurv/affaldsspand"
 
 msgid "Waste Disposal/Dumpster"
-msgstr ""
+msgstr "Skraldespand/container"
 
 msgid "Backrest"
 msgstr "Ryglæn"
@@ -18911,11 +19018,17 @@ msgid "Pressure (in bar)"
 msgstr "Tryk (i bar)"
 
 msgid "suction"
-msgstr ""
+msgstr "sugning"
 
 msgid "Count"
 msgstr "Antal"
 
+msgid "Advertising Column"
+msgstr "Reklamesøjle"
+
+msgid "Billboard"
+msgstr "Reklameskilt"
+
 msgid "Sports"
 msgstr "Sport"
 
@@ -18979,15 +19092,15 @@ msgstr "Kano/Kajak"
 
 msgctxt "racing"
 msgid "pitch"
-msgstr ""
+msgstr "bane"
 
 msgctxt "racing"
 msgid "sports_centre"
-msgstr ""
+msgstr "sportshal"
 
 msgctxt "racing"
 msgid "stadium"
-msgstr ""
+msgstr "stadion"
 
 msgctxt "racing"
 msgid "track"
@@ -19018,7 +19131,7 @@ msgid "Swimming"
 msgstr "Svømning"
 
 msgid "swimming_pool"
-msgstr ""
+msgstr "svømmebassin"
 
 msgid "water_park"
 msgstr "badeland"
@@ -19046,27 +19159,27 @@ msgstr "Sværhedsgrad"
 
 msgctxt "piste:difficulty"
 msgid "novice"
-msgstr ""
+msgstr "begynder"
 
 msgctxt "piste:difficulty"
 msgid "easy"
-msgstr ""
+msgstr "let"
 
 msgctxt "piste:difficulty"
 msgid "intermediate"
-msgstr ""
+msgstr "øvet"
 
 msgctxt "piste:difficulty"
 msgid "advanced"
-msgstr ""
+msgstr "avanceret"
 
 msgctxt "piste:difficulty"
 msgid "expert"
-msgstr ""
+msgstr "ekspert"
 
 msgctxt "piste:difficulty"
 msgid "freeride"
-msgstr ""
+msgstr "udenfor pisterne"
 
 msgid "Grooming"
 msgstr ""
@@ -19199,11 +19312,11 @@ msgstr "Model flyveplads"
 
 msgctxt "aerialway"
 msgid "pitch"
-msgstr ""
+msgstr "bane"
 
 msgctxt "aerialway"
 msgid "sports_centre"
-msgstr ""
+msgstr "sportshal"
 
 msgctxt "aerialway"
 msgid "track"
@@ -19220,7 +19333,7 @@ msgstr "Menneskeskabt"
 
 msgctxt "building"
 msgid "yes"
-msgstr ""
+msgstr "ja"
 
 msgctxt "building"
 msgid "roof"
@@ -19299,7 +19412,7 @@ msgstr ""
 
 msgctxt "building"
 msgid "residential"
-msgstr ""
+msgstr "beboelse"
 
 msgctxt "building"
 msgid "apartments"
@@ -19330,7 +19443,7 @@ msgstr "Indgang"
 
 msgctxt "entrance"
 msgid "yes"
-msgstr ""
+msgstr "ja"
 
 msgctxt "entrance"
 msgid "main"
@@ -19338,21 +19451,21 @@ msgstr ""
 
 msgctxt "entrance"
 msgid "service"
-msgstr ""
+msgstr "service"
 
 msgctxt "entrance"
 msgid "exit"
-msgstr ""
+msgstr "udgang"
 
 msgctxt "entrance"
 msgid "emergency"
-msgstr ""
+msgstr "nødudgang"
 
 msgid "Entrance number"
-msgstr ""
+msgstr "Indgangsnummer"
 
 msgid "Flat numbers"
-msgstr ""
+msgstr "Lejlighedsnummer"
 
 msgid "Tower"
 msgstr "Tårn"
@@ -19400,7 +19513,7 @@ msgid "oil"
 msgstr "olie"
 
 msgid "sewage"
-msgstr "Spildevand"
+msgstr "spildevand"
 
 msgctxt "pipeline"
 msgid "underwater"
@@ -19420,10 +19533,10 @@ msgid "Function"
 msgstr "Funktion"
 
 msgid "winding"
-msgstr ""
+msgstr "transportskaft"
 
 msgid "air"
-msgstr "luft"
+msgstr "luftskaft"
 
 msgid "Depth in meters"
 msgstr "Dybde i meter"
@@ -19486,7 +19599,7 @@ msgid "Visible Headframe"
 msgstr ""
 
 msgid "Disused"
-msgstr ""
+msgstr "Nedlagt"
 
 msgid "Adit"
 msgstr "Mineindgang"
@@ -19537,7 +19650,7 @@ msgid "Tide Level"
 msgstr "Tidevandsniveau"
 
 msgid "Groundwater"
-msgstr ""
+msgstr "Grundvand"
 
 msgid "Traffic"
 msgstr "Trafik"
@@ -19600,61 +19713,61 @@ msgid "outdoor"
 msgstr "udendørs"
 
 msgid "Zone"
-msgstr ""
+msgstr "Område"
 
 msgid "parking"
-msgstr ""
+msgstr "parkering"
 
 msgid "traffic"
-msgstr ""
+msgstr "trafik"
 
 msgid "shop"
 msgstr "butik"
 
 msgid "bank"
-msgstr ""
+msgstr "bank"
 
 msgid "Camera"
-msgstr ""
+msgstr "Kamera"
 
 msgctxt "camera:type"
 msgid "fixed"
-msgstr ""
+msgstr "fast"
 
 msgctxt "camera:type"
 msgid "panning"
-msgstr ""
+msgstr "panorering"
 
 msgctxt "camera:type"
 msgid "dome"
-msgstr ""
+msgstr "kuppel"
 
 msgid "Mounted on"
-msgstr ""
+msgstr "Montering"
 
 msgctxt "camera:mount"
 msgid "wall"
-msgstr ""
+msgstr "væg"
 
 msgctxt "camera:mount"
 msgid "pole"
-msgstr ""
+msgstr "stang"
 
 msgctxt "camera:mount"
 msgid "ceiling"
-msgstr ""
+msgstr "loft"
 
 msgid "Direction in degrees"
-msgstr ""
+msgstr "Retning i grader"
 
 msgid "Inclination in degrees"
-msgstr ""
+msgstr "Hældning i grader"
 
 msgid "Height in meter (m)"
-msgstr ""
+msgstr "Højde i meter (m)"
 
 msgid "Bridges"
-msgstr ""
+msgstr "Broer"
 
 msgid "aqueduct"
 msgstr "akvædukt"
@@ -19741,7 +19854,7 @@ msgid "pivot_pier"
 msgstr ""
 
 msgid "Bridge outline"
-msgstr ""
+msgstr "Bro omrids"
 
 msgid "Power Plant"
 msgstr ""
@@ -20035,19 +20148,19 @@ msgid "Power rating (kVA/MVA)"
 msgstr ""
 
 msgid "2700 kVA"
-msgstr ""
+msgstr "2700 kVA"
 
 msgid "12500 kVA"
-msgstr ""
+msgstr "12500 kVA"
 
 msgid "15 MVA"
-msgstr ""
+msgstr "15 MVA"
 
 msgid "50 MVA"
-msgstr ""
+msgstr "50 MVA"
 
 msgid "100 MVA"
-msgstr ""
+msgstr "100 MVA"
 
 msgid "Gas insulated"
 msgstr ""
@@ -20072,7 +20185,7 @@ msgstr ""
 
 msgctxt "power"
 msgid "yes"
-msgstr ""
+msgstr "ja"
 
 msgid "Phases"
 msgstr ""
@@ -20166,13 +20279,13 @@ msgid "Power rating (kvar/Mvar)"
 msgstr ""
 
 msgid "500 kvar"
-msgstr ""
+msgstr "500 kvar"
 
 msgid "1 Mvar"
-msgstr ""
+msgstr "1 Mvar"
 
 msgid "5 Mvar"
-msgstr ""
+msgstr "5 Mvar"
 
 msgid "Cable Distribution Cabinet"
 msgstr "Fordelerskab"
@@ -20410,15 +20523,15 @@ msgstr ""
 
 msgctxt "power cable"
 msgid "underground"
-msgstr ""
+msgstr "underjordisk"
 
 msgctxt "power cable"
 msgid "underwater"
-msgstr ""
+msgstr "undervands"
 
 msgctxt "power cable"
 msgid "overground"
-msgstr ""
+msgstr "overjordisk"
 
 msgid "Historic Places"
 msgstr "Historiske steder"
@@ -20446,30 +20559,30 @@ msgstr "Mindesmærke"
 
 msgctxt "memorial"
 msgid "statue"
-msgstr ""
+msgstr "statue"
 
 msgctxt "memorial"
 msgid "bust"
-msgstr ""
+msgstr "buste"
 
 msgctxt "memorial"
 msgid "plaque"
-msgstr ""
+msgstr "mindeplade"
 
 msgctxt "memorial"
 msgid "stele"
-msgstr ""
+msgstr "stele"
 
 msgctxt "memorial"
 msgid "stone"
-msgstr ""
+msgstr "sten"
 
 msgctxt "memorial"
 msgid "war_memorial"
-msgstr ""
+msgstr "krigsmindesmærke"
 
 msgid "Inscription"
-msgstr ""
+msgstr "Inskription"
 
 msgid "Wayside Cross"
 msgstr "Vejkantskors"
@@ -20529,7 +20642,7 @@ msgid "Farm Stand"
 msgstr "Gårdbutik"
 
 msgid "Organic/Bio"
-msgstr ""
+msgstr "Økologisk"
 
 msgid "Fair Trade"
 msgstr "Bæredygtig"
@@ -20544,7 +20657,7 @@ msgid "Wine"
 msgstr "Vinhandel"
 
 msgid "Boutique"
-msgstr ""
+msgstr "Boutique"
 
 msgid "Shoes"
 msgstr "Sko"
@@ -20733,7 +20846,7 @@ msgid "animal_food"
 msgstr "dyremad"
 
 msgid "bicycle_tube"
-msgstr ""
+msgstr "cykelslange"
 
 msgid "cigarettes"
 msgstr "cigaretter"
@@ -20786,9 +20899,6 @@ msgstr "legetøj"
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr "Note"
-
 msgid "Geography"
 msgstr "Geografi"
 
@@ -20886,13 +20996,13 @@ msgid "Peak"
 msgstr "Tinde"
 
 msgid "The top (summit) of a mountain or hill."
-msgstr ""
+msgstr "Toppen (spidsen) af et bjerg eller en bakke."
 
 msgid "Saddle"
 msgstr "Saddel"
 
 msgid "A saddle point between mountains or hills."
-msgstr ""
+msgstr "Et saddelpunkt mellem bjerge eller bakker."
 
 msgid "Glacier"
 msgstr "Gletsjer"
@@ -20901,21 +21011,22 @@ msgid ""
 "A persistent body of dense ice that is constantly moving under its own "
 "weight."
 msgstr ""
+"En ismasse af tæt is der er i konstant bevægelse under sin egen vægt."
 
 msgid "Volcano"
 msgstr "Vulkan"
 
 msgid "A volcano, either dormant, extinct or active."
-msgstr ""
+msgstr "En vulkan, enten hvilende, uddød eller aktiv."
 
 msgid "Current Status"
-msgstr ""
+msgstr "Aktuel status"
 
 msgid "dormant"
-msgstr ""
+msgstr "hvilende"
 
 msgid "extinct"
-msgstr ""
+msgstr "uddød"
 
 msgid "stratovolcano"
 msgstr ""
@@ -20930,7 +21041,7 @@ msgid "Cave Entrance"
 msgstr "Huleindgang"
 
 msgid "The entrance to a cave."
-msgstr ""
+msgstr "Indgangen til en hule."
 
 msgid "Island"
 msgstr "Ø"
@@ -20951,7 +21062,7 @@ msgid "Tree"
 msgstr "Træ"
 
 msgid "A single tree."
-msgstr ""
+msgstr "Et enkeltstående træ."
 
 msgid "Botanical Name"
 msgstr "Botanisk navn"
@@ -20960,7 +21071,7 @@ msgid "Tree Row"
 msgstr "Trærække"
 
 msgid "A line of trees."
-msgstr ""
+msgstr "En linje af træer."
 
 msgid "Wood"
 msgstr "Naturskov"
@@ -21031,10 +21142,10 @@ msgid ""
 msgstr ""
 
 msgid "Sand"
-msgstr ""
+msgstr "Sand"
 
 msgid "Large area covered with sand."
-msgstr ""
+msgstr "Stort område dækket med sand."
 
 msgid "Bare Rock"
 msgstr "Klippe"
@@ -21043,6 +21154,8 @@ msgid ""
 "For areas of solid visible rock that is sparsely vegetated or not vegetated "
 "at all."
 msgstr ""
+"For områder med fast synlig klippe, der er tyndt bevoksede eller ikke "
+"bevoksede overhovedet."
 
 msgid "Stone"
 msgstr "Fritliggende sten"
@@ -21051,6 +21164,8 @@ msgid ""
 "A single notable free-standing rock, which may differ from the composition "
 "of the terrain it lies in."
 msgstr ""
+"En enkelt bemærkelsesværdig fritstående sten, som kan afvige fra "
+"sammensætningen af terrænet den ligger i."
 
 msgid "Land use"
 msgstr "Brug af land"
@@ -21107,7 +21222,7 @@ msgid "Cemetery"
 msgstr "Kirkegård"
 
 msgid "Religious"
-msgstr ""
+msgstr "Religiøs"
 
 msgid "Retail"
 msgstr "Detailhandel"
@@ -21122,13 +21237,13 @@ msgid "Garages"
 msgstr "Garager"
 
 msgid "Railway Land"
-msgstr ""
+msgstr "Baneterræn"
 
 msgid "Military"
 msgstr "Militært område"
 
 msgid "Construction Area"
-msgstr ""
+msgstr "Byggeplads"
 
 msgid "Brownfield"
 msgstr ""
@@ -21172,9 +21287,6 @@ msgstr ""
 msgid "House number"
 msgstr "Husnummer"
 
-msgid "House name"
-msgstr "Husnavn"
-
 msgid "Street name"
 msgstr "Vejnavn"
 
@@ -21187,8 +21299,8 @@ msgstr "Bynavn"
 msgid "Country code"
 msgstr "Landekode"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Husnavn"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21758,851 +21870,871 @@ msgid "Test"
 msgstr "Test"
 
 msgid "Landsat"
-msgstr ""
+msgstr "Landsat"
 
 msgid "Yahoo Sat"
-msgstr ""
+msgstr "Yahoo Sat"
 
 msgid "Bing Sat"
-msgstr ""
+msgstr "Bing Sat"
 
 msgid "HDM (Humanitarian OpenStreetMap Team)"
-msgstr ""
+msgstr "HDM (Humanitarian OpenStreetMap Team)"
 
 msgid "MapBox Satellite"
-msgstr ""
+msgstr "MapBox Satellite"
 
 msgid "MapQuest Open Aerial"
-msgstr ""
+msgstr "MapQuest Open Aerial"
 
 msgid "OpenStreetMap GPS Traces"
-msgstr ""
+msgstr "OpenStreetMap GPS Traces"
 
 msgid "OpenStreetMap (Mapnik)"
-msgstr ""
+msgstr "OpenStreetMap (Mapnik)"
 
 msgid "OpenStreetMap (Mapnik Black & White)"
-msgstr ""
+msgstr "OpenStreetMap (Mapnik Black & White)"
 
 msgid "OpenStreetMap (Mapnik, no labels)"
-msgstr ""
+msgstr "OpenStreetMap (Mapnik, no labels)"
 
 msgid "skobbler"
-msgstr ""
+msgstr "skobbler"
 
 msgid "skobbler heatmap"
-msgstr ""
+msgstr "skobbler heatmap"
 
 msgid "OpenCycleMap"
-msgstr ""
+msgstr "OpenCycleMap"
 
 msgid "MapQuest OSM"
-msgstr ""
+msgstr "MapQuest OSM"
 
 msgid "Public Transport (ÖPNV)"
-msgstr ""
+msgstr "Public Transport (ÖPNV)"
 
 msgid "OpenStreetMap (German Style)"
-msgstr ""
+msgstr "OpenStreetMap (German Style)"
 
 msgid "Cambodia, Laos, Thailand, Vietnam bilingual"
-msgstr ""
+msgstr "Cambodia, Laos, Thailand, Vietnam bilingual"
 
 msgid "osmfr"
-msgstr ""
+msgstr "osmfr"
 
 msgid "OpenPT Map (overlay)"
-msgstr ""
+msgstr "OpenPT Map (overlay)"
 
 msgid "Strava cycling heatmap"
-msgstr ""
+msgstr "Strava cycling heatmap"
 
 msgid "Strava running heatmap"
-msgstr ""
+msgstr "Strava running heatmap"
 
 msgid "AGRI black-and-white 2.5m"
-msgstr ""
+msgstr "AGRI black-and-white 2.5m"
 
 msgid "Geoimage.at MaxRes"
-msgstr ""
+msgstr "Geoimage.at MaxRes"
 
 msgid "basemap.at"
-msgstr ""
+msgstr "basemap.at"
 
 msgid "Graz: Basiskarte (base map)"
-msgstr ""
+msgstr "Graz: Basiskarte (base map)"
 
 msgid "Tiris: DGM (Terrain model)"
-msgstr ""
+msgstr "Tiris: DGM (Terrain model)"
 
 msgid "Tiris: DOM (Surface model)"
-msgstr ""
+msgstr "Tiris: DOM (Surface model)"
 
 msgid "Vienna: Mehrzweckkarte (general purpose)"
-msgstr ""
+msgstr "Vienna: Mehrzweckkarte (general purpose)"
 
 msgid "Vienna: Beschriftungen (annotations)"
-msgstr ""
+msgstr "Vienna: Beschriftungen (annotations)"
 
 msgid "Vienna: Orthofoto (aerial image)"
-msgstr ""
+msgstr "Vienna: Orthofoto (aerial image)"
 
 msgid "VoGIS: Echtfarbenbild 2012 (12cm)"
-msgstr ""
+msgstr "VoGIS: Echtfarbenbild 2012 (12cm)"
 
 msgid "VoGIS: Flächenwidmungsplan"
-msgstr ""
+msgstr "VoGIS: Flächenwidmungsplan"
 
 msgid "VoGIS: DGM (Terrain model)"
-msgstr ""
+msgstr "VoGIS: DGM (Terrain model)"
 
 msgid "VoGIS: DOM (Surface model)"
+msgstr "VoGIS: DOM (Surface model)"
+
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
 msgstr ""
 
-msgid "IBGE Mapa de Setores Urbanos"
+msgid "Geoservices Wallonie aerial imagery (2009)"
 msgstr ""
 
+msgid "IBGE Mapa de Setores Urbanos"
+msgstr "IBGE Mapa de Setores Urbanos"
+
 msgid "IBGE Mapa de Setores Rurais"
-msgstr ""
+msgstr "IBGE Mapa de Setores Rurais"
 
 msgid "Geobase Hydrography"
-msgstr ""
+msgstr "Geobase Hydrography"
 
 msgid "Geobase Roads"
-msgstr ""
+msgstr "Geobase Roads"
 
 msgid "Canvec"
-msgstr ""
+msgstr "Canvec"
 
 msgid "British Columbia Mosaic"
-msgstr ""
+msgstr "British Columbia Mosaic"
 
 msgid "Czech CUZK:KM"
-msgstr ""
+msgstr "Czech CUZK:KM"
 
 msgid "Czech RUIAN budovy"
-msgstr ""
+msgstr "Czech RUIAN budovy"
 
 msgid "Czech RUIAN parcely"
-msgstr ""
+msgstr "Czech RUIAN parcely"
 
 msgid "Czech pLPIS"
-msgstr ""
+msgstr "Czech pLPIS"
 
 msgid "Fugro (Denmark)"
-msgstr ""
+msgstr "Fugro (Denmark)"
 
 msgid "Geodatastyrelsen (Denmark)"
-msgstr ""
+msgstr "Geodatastyrelsen (Denmark)"
 
 msgid "Stevns (Denmark)"
-msgstr ""
+msgstr "Stevns (Denmark)"
 
 msgid "Vejmidte (Denmark)"
-msgstr ""
+msgstr "Vejmidte (Denmark)"
 
 msgid "Estonia Basemap (Maaamet)"
-msgstr ""
+msgstr "Estonia Basemap (Maaamet)"
 
 msgid "Estonia Ortho (Maaamet)"
-msgstr ""
+msgstr "Estonia Ortho (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Estonia Hillshade (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Estonia Cadastre (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Estonia Forestry (Maaamet)"
 
 msgid "Bordeaux - 2012"
-msgstr ""
+msgstr "Bordeaux - 2012"
 
 msgid "CRAIG - Auvergne 2009/2010 - 30 cm"
-msgstr ""
+msgstr "CRAIG - Auvergne 2009/2010 - 30 cm"
 
 msgid "CRAIG - Moulins 2009 - 15 cm"
-msgstr ""
+msgstr "CRAIG - Moulins 2009 - 15 cm"
 
 msgid "CRAIG - Montluçon 2009 - 15 cm"
-msgstr ""
+msgstr "CRAIG - Montluçon 2009 - 15 cm"
 
 msgid "CRAIG - Vichy 2009 - 15 cm"
-msgstr ""
+msgstr "CRAIG - Vichy 2009 - 15 cm"
 
 msgid "CRAIG - Le Puy 2010 - 15 cm"
-msgstr ""
+msgstr "CRAIG - Le Puy 2010 - 15 cm"
 
 msgid "CRIGE PACA Alpes-Maritimes 2009 - 40 cm"
-msgstr ""
+msgstr "CRIGE PACA Alpes-Maritimes 2009 - 40 cm"
 
 msgid "GrandNancy Orthophotographie 2012"
-msgstr ""
+msgstr "GrandNancy Orthophotographie 2012"
 
 msgid "Géobretagne - Brest 2010 - 10 cm"
-msgstr ""
+msgstr "Géobretagne - Brest 2010 - 10 cm"
 
 msgid "Géobretagne - Morbihan 2010"
-msgstr ""
+msgstr "Géobretagne - Morbihan 2010"
 
 msgid "Géolittoral - Orthophotos 2000"
-msgstr ""
+msgstr "Géolittoral - Orthophotos 2000"
 
 msgid "Géolittoral V2 - Orthophotos 2010-2012"
-msgstr ""
+msgstr "Géolittoral V2 - Orthophotos 2010-2012"
 
 msgid "Géolittoral - Sentiers"
-msgstr ""
+msgstr "Géolittoral - Sentiers"
 
 msgid "Grand Lyon - Orthophotographie 2012 - 10cm"
-msgstr ""
+msgstr "Grand Lyon - Orthophotographie 2012 - 10cm"
 
 msgid "Loire-Atlantique - Orthophotos 2012 - 20 cm"
-msgstr ""
+msgstr "Loire-Atlantique - Orthophotos 2012 - 20 cm"
 
 msgid "Toulouse - Orthophotoplan 2013"
-msgstr ""
+msgstr "Toulouse - Orthophotoplan 2013"
 
 msgid "Toulouse - Orthophotoplan 2011"
-msgstr ""
+msgstr "Toulouse - Orthophotoplan 2011"
 
 msgid "Toulouse - Orthophotoplan 2007"
-msgstr ""
+msgstr "Toulouse - Orthophotoplan 2007"
 
 msgid "Tours - Orthophotos 2013"
-msgstr ""
+msgstr "Tours - Orthophotos 2013"
 
 msgid "Tours - Orthophotos 2008-2010"
-msgstr ""
+msgstr "Tours - Orthophotos 2008-2010"
 
 msgid "Tours - Orthophotos 2008"
-msgstr ""
+msgstr "Tours - Orthophotos 2008"
 
 msgid ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
 msgstr ""
+"Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
+"- 1 m"
 
 msgid "Hike & Bike"
-msgstr ""
+msgstr "Hike & Bike"
 
 msgid "OpenStreetMap (Sorbian Language)"
-msgstr ""
+msgstr "OpenStreetMap (Sorbian Language)"
 
 msgid "Hamburg (40 cm)"
+msgstr "Hamburg (40 cm)"
+
+msgid "Hamburg (20 cm)"
 msgstr ""
 
 msgid "Hamburg (DK5)"
-msgstr ""
+msgstr "Hamburg (DK5)"
 
 msgid "Bavaria (2 m)"
-msgstr ""
+msgstr "Bavaria (2 m)"
 
 msgid "Stuttgart (Luftbild)"
-msgstr ""
+msgstr "Stuttgart (Luftbild)"
 
 msgid "Erlangen 2013 Luftbild (6,25 cm)"
-msgstr ""
+msgstr "Erlangen 2013 Luftbild (6,25 cm)"
 
 msgid "Erlangen 2011 Luftbild (5,0 cm)"
-msgstr ""
+msgstr "Erlangen 2011 Luftbild (5,0 cm)"
 
 msgid "Old map of Zwenkau - TK25 Messtischblatt (4739; 1906; PROJ.4-rect)"
-msgstr ""
+msgstr "Old map of Zwenkau - TK25 Messtischblatt (4739; 1906; PROJ.4-rect)"
 
 msgid "Old map of Pegau - TK25 Messtischblatt (4839; 1909; PROJ.4-rect)"
-msgstr ""
+msgstr "Old map of Pegau - TK25 Messtischblatt (4839; 1909; PROJ.4-rect)"
 
 msgid "Physical DE - Physische Karte (Naturräume)"
-msgstr ""
+msgstr "Physical DE - Physische Karte (Naturräume)"
 
 msgid "Physical DE:Harz - Physische Karte (Naturräume)"
-msgstr ""
+msgstr "Physical DE:Harz - Physische Karte (Naturräume)"
 
 msgid ""
 "Physical DE:Harz - Overlay für Bing (z.B. Deckkraft zw. 20 und 50 Prozent "
 "nutzen)"
 msgstr ""
+"Physical DE:Harz - Overlay für Bing (z.B. Deckkraft zw. 20 und 50 Prozent "
+"nutzen)"
 
 msgid "Maps4BW (LGL-BW, www.lgl-bw.de)"
-msgstr ""
+msgstr "Maps4BW (LGL-BW, www.lgl-bw.de)"
 
 msgid "NRW-Atlas: Automatisierte Liegenschaftskarte (Vektor)"
-msgstr ""
+msgstr "NRW-Atlas: Automatisierte Liegenschaftskarte (Vektor)"
 
 msgid "NRW-Atlas: Automatisierte Liegenschaftskarte (Raster)"
-msgstr ""
+msgstr "NRW-Atlas: Automatisierte Liegenschaftskarte (Raster)"
 
 msgid "NRW-Atlas: Digitale GrundKarte 1:5000"
-msgstr ""
+msgstr "NRW-Atlas: Digitale GrundKarte 1:5000"
 
 msgid "NRW-Atlas: Luftbilder"
-msgstr ""
+msgstr "NRW-Atlas: Luftbilder"
 
 msgid "NRW-Atlas: Topographische Karte 1:10000"
-msgstr ""
+msgstr "NRW-Atlas: Topographische Karte 1:10000"
 
 msgid "Metropole Ruhr: Luftbilder (10 cm)"
-msgstr ""
+msgstr "Metropole Ruhr: Luftbilder (10 cm)"
 
 msgid "Drone Imagery (Haiti)"
-msgstr ""
+msgstr "Drone Imagery (Haiti)"
 
 msgid "Drone Imagery 2014 (Haiti)"
-msgstr ""
+msgstr "Drone Imagery 2014 (Haiti)"
 
 msgid "Ireland British War Office 1:25k GSGS 3906"
-msgstr ""
+msgstr "Ireland British War Office 1:25k GSGS 3906"
 
 msgid "Ireland British War Office One-Inch 1941-43 GSGS 4136"
-msgstr ""
+msgstr "Ireland British War Office One-Inch 1941-43 GSGS 4136"
 
 msgid "Ireland Bartholomew Quarter-Inch 1940"
-msgstr ""
+msgstr "Ireland Bartholomew Quarter-Inch 1940"
 
 msgid "Ireland EEA GMES Urban Atlas"
-msgstr ""
+msgstr "Ireland EEA GMES Urban Atlas"
 
 msgid "Ireland EEA CORINE 2006"
-msgstr ""
+msgstr "Ireland EEA CORINE 2006"
 
 msgid "Lodi - Italy"
-msgstr ""
+msgstr "Lodi - Italy"
 
 msgid "Lombardia - Italy (CTR)"
-msgstr ""
+msgstr "Lombardia - Italy (CTR)"
 
 msgid "Sicily - Italy"
-msgstr ""
+msgstr "Sicily - Italy"
 
 msgid "PCN 2006 - Italy"
-msgstr ""
+msgstr "PCN 2006 - Italy"
 
 msgid "PCN 2008 - IT Lazio+Umbria"
-msgstr ""
+msgstr "PCN 2008 - IT Lazio+Umbria"
 
 msgid "PCN 2012 - Italy"
-msgstr ""
+msgstr "PCN 2012 - Italy"
 
 msgid "USSR - Latvia"
-msgstr ""
+msgstr "USSR - Latvia"
 
 msgid "50cm ortho - Latvia"
-msgstr ""
+msgstr "50cm ortho - Latvia"
 
 msgid "20cm ortho - Latvia - Coastline"
-msgstr ""
+msgstr "20cm ortho - Latvia - Coastline"
 
 msgid "ORT10LT (Lithuania)"
-msgstr ""
+msgstr "ORT10LT (Lithuania)"
 
 msgid "Luxembourg Inspire Ortho 2010"
-msgstr ""
+msgstr "Luxembourg Inspire Ortho 2010"
 
 msgid "Luxembourg Inspire Ortho 2013"
-msgstr ""
+msgstr "Luxembourg Inspire Ortho 2013"
 
 msgid "Luxembourg Inspire Railway"
-msgstr ""
+msgstr "Luxembourg Inspire Railway"
 
 msgid "Luxembourg Inspire Roads"
-msgstr ""
+msgstr "Luxembourg Inspire Roads"
 
 msgid "Niger Delta Oct 2012 Landsat"
-msgstr ""
+msgstr "Niger Delta Oct 2012 Landsat"
 
 msgid "Gaza Strip - Pléiades - 2014/07/06"
-msgstr ""
+msgstr "Gaza Strip - Pléiades - 2014/07/06"
 
 msgid "Gaza Strip - Pléiades - 2014/07/06 (NIR)"
-msgstr ""
+msgstr "Gaza Strip - Pléiades - 2014/07/06 (NIR)"
 
 msgid "Pangasinán/Bulacan (Phillipines HiRes)"
-msgstr ""
+msgstr "Pangasinán/Bulacan (Phillipines HiRes)"
 
 msgid "Geoportal 2: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Geoportal 2: Ortofotomapa (aerial image)"
 
 msgid "Geoportal 2: PRNG (geo names)"
-msgstr ""
+msgstr "Geoportal 2: PRNG (geo names)"
 
 msgid "Będzin: Ortofotomapa 2013 (aerial image)"
-msgstr ""
+msgstr "Będzin: Ortofotomapa 2013 (aerial image)"
 
 msgid "Będzin: Budynki (buildings)"
-msgstr ""
+msgstr "Będzin: Budynki (buildings)"
 
 msgid "Bytom: Ortofotomapa 2012 (aerial image)"
-msgstr ""
+msgstr "Bytom: Ortofotomapa 2012 (aerial image)"
 
 msgid "Bytom: Budynki (buildings)"
-msgstr ""
+msgstr "Bytom: Budynki (buildings)"
 
 msgid "Chorzów: Budynki (buildings)"
-msgstr ""
+msgstr "Chorzów: Budynki (buildings)"
 
 msgid "Częstochowa: Ortofotomapa 2011 (aerial image)"
-msgstr ""
+msgstr "Częstochowa: Ortofotomapa 2011 (aerial image)"
 
 msgid "Gliwice: Ortofotomapa 2013 (aerial image)"
-msgstr ""
+msgstr "Gliwice: Ortofotomapa 2013 (aerial image)"
 
 msgid "Gliwice: Budynki (buildings)"
-msgstr ""
+msgstr "Gliwice: Budynki (buildings)"
 
 msgid "Katowice: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Katowice: Ortofotomapa (aerial image)"
 
 msgid "Łódź: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Łódź: Ortofotomapa (aerial image)"
 
 msgid "Ruda Śląska: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Ruda Śląska: Ortofotomapa (aerial image)"
 
 msgid "Rzeszów: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Rzeszów: Ortofotomapa (aerial image)"
 
 msgid "Rzeszów: Budynki (buildings)"
-msgstr ""
+msgstr "Rzeszów: Budynki (buildings)"
 
 msgid "Siemianowice Śląskie: Ortofotomapa (aerial image)"
-msgstr ""
+msgstr "Siemianowice Śląskie: Ortofotomapa (aerial image)"
 
 msgid "Świętochłowice: Ortofotomapa 2009 (aerial image)"
-msgstr ""
+msgstr "Świętochłowice: Ortofotomapa 2009 (aerial image)"
 
 msgid "Zabrze: Ortofotomapa 2011 (aerial image)"
-msgstr ""
+msgstr "Zabrze: Ortofotomapa 2011 (aerial image)"
 
 msgid "trail.pl: Szlaki (paths)"
-msgstr ""
+msgstr "trail.pl: Szlaki (paths)"
 
 msgid "ScanEx IRS"
-msgstr ""
+msgstr "ScanEx IRS"
 
 msgid "ScanEx SPOT"
-msgstr ""
+msgstr "ScanEx SPOT"
 
 msgid "Freemap.sk Car"
-msgstr ""
+msgstr "Freemap.sk Car"
 
 msgid "Freemap.sk Hiking"
-msgstr ""
+msgstr "Freemap.sk Hiking"
 
 msgid "Freemap.sk Cyclo"
-msgstr ""
+msgstr "Freemap.sk Cyclo"
 
 msgid "Freemap.sk Ski"
-msgstr ""
+msgstr "Freemap.sk Ski"
 
 msgid "Katastrálna mapa Slovenska (KaPor, 2010-04)"
-msgstr ""
+msgstr "Katastrálna mapa Slovenska (KaPor, 2010-04)"
 
 msgid "Katastrálna mapa Slovenska (KaPor, 2011-05)"
-msgstr ""
+msgstr "Katastrálna mapa Slovenska (KaPor, 2011-05)"
 
 msgid "Slovakia EEA GMES Urban Atlas"
-msgstr ""
+msgstr "Slovakia EEA GMES Urban Atlas"
 
 msgid "Slovakia EEA CORINE 2006"
-msgstr ""
+msgstr "Slovakia EEA CORINE 2006"
 
 msgid "Slovakia Historic Maps"
-msgstr ""
+msgstr "Slovakia Historic Maps"
 
 msgid "South Africa CD:NGI Aerial"
-msgstr ""
+msgstr "South Africa CD:NGI Aerial"
 
 msgid "Catastro Spain"
-msgstr ""
+msgstr "Catastro Spain"
 
 msgid "PNOA Spain"
-msgstr ""
+msgstr "PNOA Spain"
 
 msgid "SIGPAC Spain"
-msgstr ""
+msgstr "SIGPAC Spain"
 
 msgid "GRAFCAN - Canary Islands"
-msgstr ""
+msgstr "GRAFCAN - Canary Islands"
 
 msgid "ITACyL - Castile and León"
-msgstr ""
+msgstr "ITACyL - Castile and León"
 
 msgid "IDEIB - Balearic Islands"
-msgstr ""
+msgstr "IDEIB - Balearic Islands"
 
 msgid "GRAFCAN Express - Canary Islands"
-msgstr ""
+msgstr "GRAFCAN Express - Canary Islands"
 
 msgid "Kanton Aargau 25cm (AGIS 2011)"
-msgstr ""
+msgstr "Kanton Aargau 25cm (AGIS 2011)"
+
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr "Kanton Aargau 25cm (AGIS 2014)"
 
 msgid "Stadt Uster Orthophoto 2008 10cm"
-msgstr ""
+msgstr "Stadt Uster Orthophoto 2008 10cm"
 
 msgid "Stadtplan Zürich"
-msgstr ""
+msgstr "Stadtplan Zürich"
 
 msgid "Stadt Zürich Übersichtsplan (Strassen, Gebäude, Hausnummer)"
-msgstr ""
+msgstr "Stadt Zürich Übersichtsplan (Strassen, Gebäude, Hausnummer)"
 
 msgid "Stadt Zürich Luftbild 2011"
-msgstr ""
+msgstr "Stadt Zürich Luftbild 2011"
 
 msgid "Orthofoto Kanton Solothurn RGB (SOGIS 2011/2012/2013)"
-msgstr ""
+msgstr "Orthofoto Kanton Solothurn RGB (SOGIS 2011/2012/2013)"
 
 msgid "Orthofoto Kanton Solothurn Infrarot (SOGIS 2011/2012/2013)"
-msgstr ""
+msgstr "Orthofoto Kanton Solothurn Infrarot (SOGIS 2011/2012/2013)"
 
 msgid "Canton de Génève 5cm (SITG 2011)"
-msgstr ""
+msgstr "Canton de Génève 5cm (SITG 2011)"
 
 msgid "Canton de Neuchâtel 50cm (SITN 2006)"
-msgstr ""
+msgstr "Canton de Neuchâtel 50cm (SITN 2006)"
 
 msgid "Canton du Jura 50cm (RCJU 1998)"
-msgstr ""
+msgstr "Canton du Jura 50cm (RCJU 1998)"
 
 msgid "Canton de Fribourg 50cm (2005)"
-msgstr ""
+msgstr "Canton de Fribourg 50cm (2005)"
 
 msgid "Stadt Bern 10cm/25cm (2012)"
-msgstr ""
+msgstr "Stadt Bern 10cm/25cm (2012)"
 
 msgid "HEIG-VD / Orthophoto Yverdon-les-Bains 25cm (2007)"
-msgstr ""
+msgstr "HEIG-VD / Orthophoto Yverdon-les-Bains 25cm (2007)"
 
 msgid "Ville de Nyon - Orthophoto 2010 HD 5cm/pi"
-msgstr ""
+msgstr "Ville de Nyon - Orthophoto 2010 HD 5cm/pi"
 
 msgid "Cartoriviera - Orthophoto 2012"
-msgstr ""
+msgstr "Cartoriviera - Orthophoto 2012"
 
 msgid "SIGIP - Orthophoto 2012"
-msgstr ""
+msgstr "SIGIP - Orthophoto 2012"
 
 msgid "Lausanne - Orthophoto technique 2012"
-msgstr ""
+msgstr "Lausanne - Orthophoto technique 2012"
 
 msgid "Bonvillars Orthophoto 2013"
-msgstr ""
+msgstr "Bonvillars Orthophoto 2013"
 
 msgid "Fiez Orthophoto 2013"
-msgstr ""
+msgstr "Fiez Orthophoto 2013"
 
 msgid "MSR Maps Topo"
-msgstr ""
+msgstr "MSR Maps Topo"
 
 msgid "MSR Maps Urban"
-msgstr ""
+msgstr "MSR Maps Urban"
 
 msgid "USGS Scanned Topographic Maps"
-msgstr ""
+msgstr "USGS Scanned Topographic Maps"
 
 msgid "USGS Large Scale Imagery"
-msgstr ""
+msgstr "USGS Large Scale Imagery"
 
 msgid "OSM US TIGER 2012 Roads Overlay"
-msgstr ""
+msgstr "OSM US TIGER 2012 Roads Overlay"
 
 msgid "New & Misaligned TIGER Roads (TIGER 2014)"
-msgstr ""
+msgstr "New & Misaligned TIGER Roads (TIGER 2014)"
 
 msgid "MassGIS L3 Parcels"
-msgstr ""
+msgstr "MassGIS L3 Parcels"
 
 msgid "NC Latest Orthoimagery"
-msgstr ""
+msgstr "NC Latest Orthoimagery"
 
 msgid "Ukraine - Orthophotomaps 2012"
-msgstr ""
+msgstr "Ukraine - Orthophotomaps 2012"
 
 msgid "7th Series (OS7)"
-msgstr ""
+msgstr "7th Series (OS7)"
 
 msgid "OS New Popular Edition historic"
-msgstr ""
+msgstr "OS New Popular Edition historic"
 
 msgid "OS OpenData StreetView"
-msgstr ""
+msgstr "OS OpenData StreetView"
 
 msgid "OS OpenData Locator"
-msgstr ""
+msgstr "OS OpenData Locator"
 
 msgid "Surrey Air Survey"
-msgstr ""
+msgstr "Surrey Air Survey"
 
 msgid "NLS - OS 6-inch Scotland 1842-82"
-msgstr ""
+msgstr "NLS - OS 6-inch Scotland 1842-82"
 
 msgid "NLS - OS 1:25k 1st Series 1937-61"
-msgstr ""
+msgstr "NLS - OS 1:25k 1st Series 1937-61"
 
 msgid "NLS - OS 1-inch 7th Series 1955-61"
-msgstr ""
+msgstr "NLS - OS 1-inch 7th Series 1955-61"
 
 msgid "OS 1:25k historic (OSM-Best)"
-msgstr ""
+msgstr "OS 1:25k historic (OSM-Best)"
 
 msgid "OS 1:25k historic (OSM-Limited)"
-msgstr ""
+msgstr "OS 1:25k historic (OSM-Limited)"
 
 msgid "OS Scottish Popular historic"
-msgstr ""
+msgstr "OS Scottish Popular historic"
 
 msgid "NLS - Bartholomew Half Inch, 1897-1907"
-msgstr ""
+msgstr "NLS - Bartholomew Half Inch, 1897-1907"
 
 msgid "OS Town Plans, Aberdeen 1866-1867 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Aberdeen 1866-1867 (NLS)"
 
 msgid "OS Town Plans, Airdrie 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Airdrie 1858 (NLS)"
 
 msgid "OS Town Plans, Alexandria 1859 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Alexandria 1859 (NLS)"
 
 msgid "OS Town Plans, Alloa 1861-1862 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Alloa 1861-1862 (NLS)"
 
 msgid "OS Town Plans, Annan 1859 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Annan 1859 (NLS)"
 
 msgid "OS Town Plans, Arbroath 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Arbroath 1858 (NLS)"
 
 msgid "OS Town Plans, Ayr 1855 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Ayr 1855 (NLS)"
 
 msgid "OS Town Plans, Berwick-upon-Tweed 1852 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Berwick-upon-Tweed 1852 (NLS)"
 
 msgid "OS Town Plans, Brechin 1862 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Brechin 1862 (NLS)"
 
 msgid "OS Town Plans, Burntisland 1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Burntisland 1894 (NLS)"
 
 msgid "OS Town Plans, Campbelton 1865 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Campbelton 1865 (NLS)"
 
 msgid "OS Town Plans, Coatbridge 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Coatbridge 1858 (NLS)"
 
 msgid "OS Town Plans, Cupar 1854 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Cupar 1854 (NLS)"
 
 msgid "OS Town Plans, Cupar 1893-1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Cupar 1893-1894 (NLS)"
 
 msgid "OS Town Plans, Dalkeith 1852 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dalkeith 1852 (NLS)"
 
 msgid "OS Town Plans, Dalkeith 1893 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dalkeith 1893 (NLS)"
 
 msgid "OS Town Plans, Dumbarton 1859 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dumbarton 1859 (NLS)"
 
 msgid "OS Town Plans, Dumfries 1850 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dumfries 1850 (NLS)"
 
 msgid "OS Town Plans, Dumfries 1893 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dumfries 1893 (NLS)"
 
 msgid "OS Town Plans, Dundee 1857-1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dundee 1857-1858 (NLS)"
 
 msgid "OS Town Plans, Dundee 1870-1872 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dundee 1870-1872 (NLS)"
 
 msgid "OS Town Plans, Dunfermline 1854 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dunfermline 1854 (NLS)"
 
 msgid "OS Town Plans, Dunfermline 1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Dunfermline 1894 (NLS)"
 
 msgid "OS Town Plans, Edinburgh 1849-1851 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Edinburgh 1849-1851 (NLS)"
 
 msgid "OS Town Plans, Edinburgh 1876-1877 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Edinburgh 1876-1877 (NLS)"
 
 msgid "OS Town Plans, Edinburgh 1893-1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Edinburgh 1893-1894 (NLS)"
 
 msgid "OS Town Plans, Elgin 1868 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Elgin 1868 (NLS)"
 
 msgid "OS Town Plans, Falkirk 1858-1859 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Falkirk 1858-1859 (NLS)"
 
 msgid "OS Town Plans, Forfar 1860-1861 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Forfar 1860-1861 (NLS)"
 
 msgid "OS Town Plans, Forres 1868 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Forres 1868 (NLS)"
 
 msgid "OS Town Plans, Galashiels 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Galashiels 1858 (NLS)"
 
 msgid "OS Town Plans, Girvan 1857 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Girvan 1857 (NLS)"
 
 msgid "OS Town Plans, Glasgow 1857-1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Glasgow 1857-1858 (NLS)"
 
 msgid "OS Town Plans, Glasgow 1892-1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Glasgow 1892-1894 (NLS)"
 
 msgid "OS Town Plans, Greenock 1857 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Greenock 1857 (NLS)"
 
 msgid "OS Town Plans, Haddington 1853 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Haddington 1853 (NLS)"
 
 msgid "OS Town Plans, Haddington 1893 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Haddington 1893 (NLS)"
 
 msgid "OS Town Plans, Hamilton 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Hamilton 1858 (NLS)"
 
 msgid "OS Town Plans, Hawick 1857-1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Hawick 1857-1858 (NLS)"
 
 msgid "OS Town Plans, Inverness 1867-1868 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Inverness 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Irvine 1859 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Irvine 1859 (NLS)"
 
 msgid "OS Town Plans, Jedburgh 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Jedburgh 1858 (NLS)"
 
 msgid "OS Town Plans, Kelso 1857 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kelso 1857 (NLS)"
 
 msgid "OS Town Plans, Kilmarnock 1857-1859 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kilmarnock 1857-1859 (NLS)"
 
 msgid "OS Town Plans, Kirkcaldy 1855 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kirkcaldy 1855 (NLS)"
 
 msgid "OS Town Plans, Kirkcaldy 1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kirkcaldy 1894 (NLS)"
 
 msgid "OS Town Plans, Kirkcudbright 1850 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kirkcudbright 1850 (NLS)"
 
 msgid "OS Town Plans, Kirkcudbright 1893 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kirkcudbright 1893 (NLS)"
 
 msgid "OS Town Plans, Kirkintilloch 1859 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kirkintilloch 1859 (NLS)"
 
 msgid "OS Town Plans, Kirriemuir 1861 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Kirriemuir 1861 (NLS)"
 
 msgid "OS Town Plans, Lanark 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Lanark 1858 (NLS)"
 
 msgid "OS Town Plans, Linlithgow 1856 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Linlithgow 1856 (NLS)"
 
 msgid "OS Town Plans, Mayole 1856-1857 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Mayole 1856-1857 (NLS)"
 
 msgid "OS Town Plans, Montrose 1861-1862 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Montrose 1861-1862 (NLS)"
 
 msgid "OS Town Plans, Musselburgh 1853 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Musselburgh 1853 (NLS)"
 
 msgid "OS Town Plans, Musselburgh 1893 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Musselburgh 1893 (NLS)"
 
 msgid "OS Town Plans, Nairn 1867-1868 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Nairn 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Oban 1867-1868 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Oban 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Peebles 1856 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Peebles 1856 (NLS)"
 
 msgid "OS Town Plans, Perth 1860 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Perth 1860 (NLS)"
 
 msgid "OS Town Plans, Peterhead 1868 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Peterhead 1868 (NLS)"
 
 msgid "OS Town Plans, Port Glasgow 1856-1857 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Port Glasgow 1856-1857 (NLS)"
 
 msgid "OS Town Plans, Portobello 1893-1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Portobello 1893-1894 (NLS)"
 
 msgid "OS Town Plans, Rothesay 1862-1863 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Rothesay 1862-1863 (NLS)"
 
 msgid "OS Town Plans, Selkirk 1865 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Selkirk 1865 (NLS)"
 
 msgid "OS Town Plans, St Andrews 1854 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, St Andrews 1854 (NLS)"
 
 msgid "OS Town Plans, St Andrews 1893 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, St Andrews 1893 (NLS)"
 
 msgid "OS Town Plans, Stirling 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Stirling 1858 (NLS)"
 
 msgid "OS Town Plans, Stonehaven 1864 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Stonehaven 1864 (NLS)"
 
 msgid "OS Town Plans, Stranraer 1847 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Stranraer 1847 (NLS)"
 
 msgid "OS Town Plans, Stranraer 1863-1877 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Stranraer 1863-1877 (NLS)"
 
 msgid "OS Town Plans, Stranraer 1893 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Stranraer 1893 (NLS)"
 
 msgid "OS Town Plans, Strathaven 1858 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Strathaven 1858 (NLS)"
 
 msgid "OS Town Plans, Wick 1872 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Wick 1872 (NLS)"
 
 msgid "OS Town Plans, Wigtown 1848 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Wigtown 1848 (NLS)"
 
 msgid "OS Town Plans, Wigtown 1894 (NLS)"
-msgstr ""
+msgstr "OS Town Plans, Wigtown 1894 (NLS)"
 
 msgid "Decreasing house numbers in addresses interpolation"
 msgstr ""
 
 msgid "{0} without {1}"
-msgstr ""
+msgstr "{0} uden {1}"
 
 msgid "{0} without {1} or {2}"
-msgstr ""
+msgstr "{0} uden {1} eller {2}"
 
 msgid "{0} without {1}, {2} or {3}"
-msgstr ""
+msgstr "{0} uden {1}, {2} eller {3}"
+
+msgid "{0} together with {1}"
+msgstr "{0} sammen med {1}"
 
 msgid "{0} on suspicious object"
-msgstr ""
+msgstr "{0} på mistænkeligt objekt"
 
 msgid "restaurant without name"
 msgstr "restaurant uden navn"
 
 msgid "{0} used with {1}"
-msgstr ""
+msgstr "{0} bruges med {1}"
 
 msgid "natural water used for swimming pool"
 msgstr "natural water brugt til swimming pool"
@@ -22611,16 +22743,22 @@ msgid "sport without physical feature"
 msgstr ""
 
 msgid "{0} should be on the node where {1} and {2} intersect"
-msgstr ""
+msgstr "{0} bør være på punktet hvor {1} og {2} krydser"
+
+msgid "alternative name without {0}"
+msgstr "alternativt navn uden {0}"
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr "mangelfuld brug af {0} på vej uden {1}"
 
 msgid "{0}={1} is deprecated"
-msgstr ""
+msgstr "{0}={1} er forældet"
 
 msgid "{0} is deprecated"
 msgstr "{0} er forældet"
 
 msgid "''{0}'' is meaningless, use more specific tags, e.g. ''{1}''"
-msgstr ""
+msgstr "''{0}'' er meningsløst, brug mere specifikke tags, f.eks. ''{1}''"
 
 msgid ""
 "''{0}'' does not specify the official mode of transportation, use ''{1}'' "
@@ -22633,11 +22771,11 @@ msgid ""
 msgstr ""
 
 msgid "{0}={1} is deprecated. Please use instead a multipolygon."
-msgstr ""
+msgstr "{0}={1} er forældet. Brug i stedet en multipolygon."
 
 msgid ""
 "{0} is deprecated. Please specify interval by using opening_hours syntax"
-msgstr ""
+msgstr "{0} er forældet. Angiv interval ved brug af opening_hours syntaks"
 
 msgid ""
 "{0} is deprecated. Please delete this object and use a private layer instead"
@@ -22647,27 +22785,32 @@ msgid "{0}={1} is unspecific. Please replace ''{1}'' by a specific value."
 msgstr ""
 
 msgid "{0} should be replaced with {1}"
-msgstr ""
+msgstr "{0} bør erstattes med {1}"
+
+msgid "{0} = {1}; remove {0}"
+msgstr "{0} = {1}; fjern {0}"
 
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
 msgstr ""
+"{0}={1}  er uspecifik. Udskift ''{1}'' med ''left'', ''right'' eller "
+"''both''."
 
 msgid "{0} on a node. Should be used on a way."
-msgstr ""
+msgstr "{0} på et punkt. Bør bruges på en vej."
 
 msgid "{0} on a node. Should be drawn as an area."
-msgstr ""
+msgstr "{0} på et punkt. Bør tegnes som et område."
 
 msgid "{0}=* on a node. Should be used in a relation"
-msgstr ""
+msgstr "{0}=* på et punkt. Bør bruges i en relation"
 
 msgid "{0} on a way. Should be used in a relation"
-msgstr ""
+msgstr "{0} på en vej. Bør bruges i en relation"
 
 msgid "{0} on a node"
-msgstr ""
+msgstr "{0} på et punkt"
 
 msgid "Building inside building"
 msgstr "Bygning inden i bygning"
@@ -22679,13 +22822,16 @@ msgid "Overlapping Areas"
 msgstr "Overlappende områder"
 
 msgid "{0} inside {1}"
-msgstr ""
+msgstr "{0} inden i {1}"
 
 msgid "Overlapping Identical Natural Areas"
-msgstr ""
+msgstr "Overlappende identiske naturområder"
 
 msgid "Overlapping Identical Landuses"
-msgstr ""
+msgstr "Overlappende identiske landområder"
+
+msgid "{0} must be connected to a way"
+msgstr "{0} skal være forbundet til en vej"
 
 msgid "abbreviated street name"
 msgstr "forkortet vejnavn"
@@ -22694,7 +22840,7 @@ msgid "wrong highway tag on a node"
 msgstr "forkert highway tag på et punkt"
 
 msgid "wrong crossing tag on a way"
-msgstr ""
+msgstr "forkert krydsnings tag på en vej"
 
 msgid "Unnamed unclassified highway"
 msgstr "Unavngivet uklassificeret highway"
@@ -22708,48 +22854,63 @@ msgstr "midlertidig highway type"
 msgid "street name contains ss"
 msgstr "vejnavn indeholder ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+"Værdien af ''{0}'' bør være enten ''{1}'' eller ''{2}''. For fortove brug "
+"''{3}'' i stedet."
+
 msgid "{0} with multiple values"
+msgstr "{0} med flere værdier"
+
+msgid "empty value in semicolon-separated ''{0}''"
 msgstr ""
 
 msgid "numerical key"
-msgstr ""
+msgstr "numerisk nøgle"
 
 msgid "layer tag with + sign"
 msgstr "layer tag med + tegn"
 
 msgid "layer should be between -5 and 5"
-msgstr ""
+msgstr "lag bør være mellem -5 og 5"
 
 msgid "level should be numbers with optional .5 increments"
-msgstr ""
+msgstr "niveau bør være tal med mulighed for .5 intervaller"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
 msgstr ""
+"{0}: meter er standard; punktum er  separator; hvis enheder, brug mellemrum "
+"så enhed"
 
 msgid "unusual {0} format"
-msgstr ""
+msgstr "usædvanligt {0} format"
 
 msgid "voltage should be in volts with no units/delimiter/spaces"
-msgstr ""
+msgstr "spænding bør være i volt uden enheder/skilletegn/mellemrum"
 
 msgid "unusual {0} specification"
-msgstr ""
+msgstr "usædvanlig {0} specifikation"
 
 msgid "unusual train track gauge; use mm with no separator"
-msgstr ""
+msgstr "usædvanlig tog sporvidde; bruge mm uden separator"
 
 msgid "unusual incline; use percentages/degrees or up/down"
-msgstr ""
+msgstr "usædvanlig hældning; bruge procenter/grader eller op/ned"
 
 msgid "{0} must be a numeric value"
-msgstr ""
+msgstr "{0} skal være en numerisk værdi"
+
+msgid "{0} must be a positive integer number"
+msgstr "{0} skal være et positivt heltal"
 
 msgid "relation without type"
 msgstr "relation uden type"
 
 msgid "{0} relation without {0} tag"
-msgstr ""
+msgstr "{0} relation uden {0} tag"
 
 msgid "religion without denomination"
 msgstr "religion uden trosretning"
@@ -22764,13 +22925,13 @@ msgid "unknown jewish denomination"
 msgstr "ukendt jødisk trosretning"
 
 msgid "{0} is unnecessary"
-msgstr ""
+msgstr "{0} er unødvendig"
 
 msgid "{0} is unnecessary for {1}"
-msgstr ""
+msgstr "{0} er unødvendig for {1}"
 
 msgid "{0}={1} makes no sense"
-msgstr ""
+msgstr "{0}={1} giver ingen mening"
 
 msgid "Nodes duplicating parent way tags"
 msgstr "Punkter der duplikerer \"forældre\"-vej tags"
@@ -22781,31 +22942,31 @@ msgstr ""
 "intet wikipedia-sprog angivet, brug \"wikipedia\"=\"sprog:sidetitel\""
 
 msgid "unknown language prefix in wikipedia tag"
-msgstr ""
+msgstr "ukendt sprog præfiks i wikipedia tag"
 
 msgid "deprecated format for wikipedia tag"
-msgstr ""
+msgstr "forældet format for wikipedia tag"
 
 msgid "''wikipedia''=''language:page title''"
-msgstr ""
+msgstr "''wikipedia''=''sprog:sidetitel''"
 
 msgid "Hide icons at low zoom"
-msgstr ""
+msgstr "Skjul ikoner ved lav zoom"
 
 msgid "Less obtrusive node symbols at low zoom"
 msgstr ""
 
 msgid "Display street labels (at high zoom)"
-msgstr ""
+msgstr "Vis gadenavne (ved høj zoom)"
 
 msgid "OSM Export"
-msgstr ""
+msgstr "OSM eksport"
 
 msgid "Export traffic data to SUMO network file."
 msgstr ""
 
 msgid "SUMO Export"
-msgstr ""
+msgstr "SUMO eksport"
 
 msgid "Export"
 msgstr "Eksporter"
@@ -22835,7 +22996,7 @@ msgid "Importing CSV file ''%s''..."
 msgstr "Importerer CSV filen ''%s''..."
 
 msgid "Markers of "
-msgstr ""
+msgstr "Markører for "
 
 msgid "Show summary after import"
 msgstr "Vis opsummering efter import"
@@ -22844,7 +23005,7 @@ msgid "Do not zoom after import"
 msgstr "Zoom ikke efter import"
 
 msgid "Ignore hdop/vdop/pdop entries"
-msgstr ""
+msgstr "Ignorer hdop/vdop/pdop poster"
 
 msgid "Warn on missing audio files"
 msgstr "Advarsel ved manglende lydfiler"
@@ -22865,18 +23026,23 @@ msgid ""
 "No command has been found. Would you like to download and install default "
 "commands now?"
 msgstr ""
+"Ingen kommando er blevet fundet. Vil du hente og installere standard "
+"kommandoer nu?"
 
 msgid "No command found"
-msgstr ""
+msgstr "Ingen kommando fundet"
 
 msgid "Default commands have been successfully installed"
-msgstr ""
+msgstr "Standard kommandoer er blevet installeret"
 
 msgid ""
 "Failed to download and install default commands.\n"
 "\n"
 "Error: {0}"
 msgstr ""
+"Kunne ikke hente og installere standard kommandoer.\n"
+"\n"
+"Fejl: {0}"
 
 msgid "Processing..."
 msgstr "Behandler..."
@@ -23047,10 +23213,10 @@ msgid "Uploads traces to openstreetmap.org"
 msgstr "Uploader GPX-spor til openstreetmap.org"
 
 msgid "Shows elevation profile"
-msgstr ""
+msgstr "Viser højdeprofil"
 
 msgid "Elevation Profile"
-msgstr ""
+msgstr "Højdeprofil"
 
 msgid "Elevation Grid Layer (experimental!)"
 msgstr ""
@@ -23062,10 +23228,10 @@ msgid "Elevation Grid"
 msgstr ""
 
 msgid "No SRTM data"
-msgstr ""
+msgstr "Ingen SRTM data"
 
 msgid "Open the elevation profile window."
-msgstr ""
+msgstr "Åben højdeprofilvindue."
 
 msgid "Min"
 msgstr "Min."
@@ -23086,16 +23252,16 @@ msgid "Tracks"
 msgstr "Spor"
 
 msgid "Elevation profile for track ''{0}''."
-msgstr ""
+msgstr "Højdeprofil for spor ''{0}''."
 
 msgid "Elevation profile"
-msgstr ""
+msgstr "Højdeprofil"
 
 msgid "(No elevation data)"
-msgstr ""
+msgstr "(Ingen højde data)"
 
 msgid "Can not save preferences"
-msgstr ""
+msgstr "Kan ikke gemme indstillinger"
 
 msgid "Epsilon multiplier"
 msgstr ""
@@ -23143,7 +23309,7 @@ msgid "Save settings"
 msgstr "Gem indstillinger"
 
 msgid "Can not read settings"
-msgstr ""
+msgstr "Kan ikke læse indstillingerne"
 
 msgid "Q=Options, Enter=save, Ctrl-Enter=save with tags, Up/Down=tune"
 msgstr ""
@@ -23154,10 +23320,10 @@ msgid ""
 msgstr ""
 
 msgid "FastDrawing"
-msgstr ""
+msgstr "Hurtig tegning"
 
 msgid "Fast drawing mode"
-msgstr ""
+msgstr "Hurtig tegning tilstand"
 
 msgid "Please move the mouse to draw new way"
 msgstr ""
@@ -23173,13 +23339,13 @@ msgid ""
 msgstr ""
 
 msgid "Line information"
-msgstr ""
+msgstr "Linje information"
 
 msgid "Cannot place node outside of the world."
 msgstr "Kan ikke placere et punkt uden for verdenen."
 
 msgid "Draw the way by mouse"
-msgstr ""
+msgstr "Tegn vej med mus"
 
 msgid "min distance={0} px ({1} m)"
 msgstr ""
@@ -23191,10 +23357,10 @@ msgid "Eps={0}, {1} points, {2} p/km"
 msgstr ""
 
 msgid "Fix addresses"
-msgstr ""
+msgstr "Ret adresser"
 
 msgid "Show dialog with incomplete addresses"
-msgstr ""
+msgstr "Vis dialog med ufuldstændige adresser"
 
 msgid "Include objects used for guesses"
 msgstr ""
@@ -23239,19 +23405,19 @@ msgid "No name"
 msgstr "Intet navn"
 
 msgid "Unresolved Addresses"
-msgstr "Uopløste adresser"
+msgstr "Uløste adresser"
 
 msgid "Select and close"
 msgstr "Vælg og luk"
 
 msgid "Fix unresolved addresses"
-msgstr "Ret uopløste adresser"
+msgstr "Ret uløste adresser"
 
 msgid "Complete Addresses"
 msgstr "Færdige adresser"
 
 msgid "Incomplete Addresses"
-msgstr "Ej-færdige adresser"
+msgstr "Ufuldstændige adresser"
 
 msgid "Selected Addresses"
 msgstr "Valgte adresser"
@@ -23266,7 +23432,7 @@ msgid "Segments"
 msgstr "Segmenter"
 
 msgid "Show incomplete addresses"
-msgstr ""
+msgstr "Vis ufuldstændige adresser"
 
 msgid "items"
 msgstr "emner"
@@ -23282,7 +23448,7 @@ msgid "Postcode"
 msgstr "Postnummer"
 
 msgid "Turns all guesses into the corresponding tag values."
-msgstr ""
+msgstr "Lav alle gæt om til de tilsvarende tag værdier."
 
 msgid "Applied guessed values"
 msgstr ""
@@ -23308,7 +23474,7 @@ msgid ""
 msgstr ""
 
 msgid "Convert to relation."
-msgstr ""
+msgstr "Konverter til relation."
 
 msgid "Create relation between street and related addresses."
 msgstr ""
@@ -23317,7 +23483,7 @@ msgid "Create address relation for "
 msgstr ""
 
 msgid "Guess"
-msgstr ""
+msgstr "Gæt"
 
 msgid ""
 "Tries to guess address data by picking the name of the closest object with "
@@ -23325,25 +23491,25 @@ msgid ""
 msgstr ""
 
 msgid "Guessing address values"
-msgstr ""
+msgstr "Gætter adresseværdier"
 
 msgid "Removes address related tags from the object."
-msgstr ""
+msgstr "Fjerner adresse relaterede tags fra objektet."
 
 msgid "Remove address tags"
-msgstr ""
+msgstr "Fjern adresse tags"
 
 msgid "Marks selected addresses in the map"
-msgstr ""
+msgstr "Marker valgte adresser på kortet"
 
 msgid "Select incomplete addresses"
-msgstr ""
+msgstr "Vælg ufuldstændige adresser"
 
 msgid "Selects all addresses with incomplete data."
-msgstr ""
+msgstr "Vælger alle adresser med ufuldstændige data."
 
 msgid "Use tag ''addr:street'' or ''addr:place''"
-msgstr ""
+msgstr "Brug tag ''addr:street'' eller ''addr:place''"
 
 msgid "House Number Editor"
 msgstr ""
@@ -23403,19 +23569,19 @@ msgid "Correlate entries with GPS trace"
 msgstr ""
 
 msgid "Save layer..."
-msgstr ""
+msgstr "Gem lag..."
 
 msgid "Save NanoLog layer"
-msgstr ""
+msgstr "Gem NanoLog lag"
 
 msgid "Open NanoLog panel"
 msgstr ""
 
 msgid "Open NanoLog file..."
-msgstr ""
+msgstr "Åben NanoLog fil..."
 
 msgid "Could not read NanoLog file:"
-msgstr ""
+msgstr "Kunne ikke læse NanoLog fil:"
 
 msgid "Edit opening hours"
 msgstr "Rediger åbningstider"
@@ -23457,10 +23623,10 @@ msgid "Import Osm Inspector Bugs..."
 msgstr ""
 
 msgid "OsmInspector"
-msgstr ""
+msgstr "OsmInspector"
 
 msgid "Open OsmInspector"
-msgstr ""
+msgstr "Åben OsmInspector"
 
 msgid "OsmBugInfo"
 msgstr ""
@@ -23472,16 +23638,16 @@ msgid "Current Selected Bug Info"
 msgstr ""
 
 msgid "Prev OSMI bug"
-msgstr ""
+msgstr "Forrige OSMI fejl"
 
 msgid "Next OSMI bug"
-msgstr ""
+msgstr "Næste OSMI fejl"
 
 msgid "Osm Inspector Bugs"
-msgstr ""
+msgstr "Osm Inspector fejl"
 
 msgid "OSM Inspector Bugs"
-msgstr ""
+msgstr "OSM Inspector fejl"
 
 msgid "Selected Bug Info"
 msgstr ""
@@ -23599,10 +23765,10 @@ msgid "Starting address number must be less than ending address number"
 msgstr "Første adressenummer skal være lavere end sidste adressenummer"
 
 msgid "Align Way Segments"
-msgstr ""
+msgstr "Tilpas vejsegmenter"
 
 msgid "Align Ways"
-msgstr ""
+msgstr "Tilpas veje"
 
 msgid ""
 "Please select two segments that don''t share any nodes.\n"
@@ -23613,6 +23779,8 @@ msgid ""
 "Aligning would result nodes ''outside the world''.\n"
 "Alignment not possible.\n"
 msgstr ""
+"Tilpasning vil resultere i punkter ''uden for verden''.\n"
+"Tilpasning ikke mulig.\n"
 
 msgid ""
 "There is at least a non-pivot endpoint of the alignee that joins more than "
@@ -23632,13 +23800,13 @@ msgid ""
 msgstr ""
 
 msgid "Undocumented problem occured.\n"
-msgstr ""
+msgstr "Udokumenteret problem opstået.\n"
 
 msgid "AlignWayS: Alignment not possible"
 msgstr ""
 
 msgid "Align way segment"
-msgstr ""
+msgstr "Tilpas vejsegment"
 
 msgid ""
 "Please select two segments that don''t share any nodes\n"
@@ -23646,10 +23814,10 @@ msgid ""
 msgstr ""
 
 msgid "Align Way Segments: Modes"
-msgstr ""
+msgstr "Tilpas vejsegmenter: Tilstande"
 
 msgid "Align Ways control panel"
-msgstr ""
+msgstr "Tilpas veje kontrolpanel"
 
 msgid "This panel activates in Align Ways mode:"
 msgstr ""
@@ -23661,30 +23829,34 @@ msgid "Angle preserved"
 msgstr "Vinkel bevaret"
 
 msgid "Align with:"
-msgstr ""
+msgstr "Tilpas med:"
 
 msgid ""
 "<html>Aligns the way segment to the reference so that its length is "
 "preserved.</html>"
 msgstr ""
+"<html>Tilpas vejsegment til reference så dens længde er bevaret.</html>"
 
 msgid ""
 "<html>Aligns the way segment to the reference so that the angles of its "
 "adjacent segments are preserved.<br/>The length of the aligned segment is "
 "likely to change as result.</html>"
 msgstr ""
+"<html>Tilpas vejsegment til reference så vinklerne for de tilstødende "
+"segmenter er bevaret. <br/> Længden af det tilpasset segment vil "
+"sandsynligvis ændre sig som resultat.</html>"
 
 msgid "I''m ready!"
 msgstr "Jeg er klar!"
 
 msgid "AlignWays Tips"
-msgstr ""
+msgstr "Tilpas veje tips"
 
 msgid "AlignWays: What''s New..."
-msgstr ""
+msgstr "Tilpas veje: Hvad er nyt..."
 
 msgid "Align Ways mode"
-msgstr ""
+msgstr "Tilpas veje tilstand"
 
 msgid "Parameter ''{0}'' must not be null"
 msgstr "Parameter ''{0}'' må ikke være nul"
@@ -23703,23 +23875,27 @@ msgid ""
 msgstr ""
 
 msgid "Ctrl-Click: select reference way segment; Alt-click: Clear selection"
-msgstr ""
+msgstr "Ctrl-Click: vælg reference vejsegment; Alt-click: Nulstil valg"
 
 msgid ": Align segments; Alt-click: Clear selection"
-msgstr ""
+msgstr ": Tilpas segmenter; Alt-click: Nulstil valg"
 
 msgid ""
 "Ctrl-click: select reference way segment; Click: select way segment to be "
 "aligned"
 msgstr ""
+"Ctrl-click: vælg reference vejsegment; Click: vælg vejsegment der skal "
+"tilpasses"
 
 msgid "Click: select way segment to be aligned; Alt-click: Clear selection"
-msgstr ""
+msgstr "Click: vælg vejsegment der skal tilpasses; Alt-click: Nulstil valg"
 
 msgid ""
 "Ctrl-Click: select reference way segment; Click: select way segment to be "
 "aligned"
 msgstr ""
+"Ctrl-Click: vælg reference vejsegment; Click: vælg vejsegment der skal "
+"tilpasses"
 
 msgid ""
 "Welcome to the</span><br>\n"
@@ -23828,7 +24004,7 @@ msgid "Various improvements and bugfixes"
 msgstr "Diverse forbedringer og fejlrettelser"
 
 msgid "Errr..."
-msgstr ""
+msgstr "Fejl..."
 
 msgid "Browser not supported."
 msgstr "Browser ikke understøttet."
@@ -23837,72 +24013,74 @@ msgid "Building address"
 msgstr "Bygningsadresse"
 
 msgid "empty"
-msgstr ""
+msgstr "tom"
 
 msgid "skip"
-msgstr ""
+msgstr "spring over"
 
 msgid "House number:"
 msgstr "Husnummer:"
 
 msgid "Street:"
-msgstr ""
+msgstr "Gade:"
 
 msgid "Post code:"
-msgstr ""
+msgstr "Postnummer:"
 
 msgid "Building:"
-msgstr ""
+msgstr "Bygning:"
 
 msgid "Tags:"
-msgstr ""
+msgstr "Tags:"
 
 msgid "Name:"
 msgstr "Navn:"
 
 msgid "updated building info"
-msgstr ""
+msgstr "opdateret bygningsinfo"
 
 msgid "Tag Element"
-msgstr ""
+msgstr "Tag element"
 
 msgid "Select an item to tag."
-msgstr ""
+msgstr "Vælg et emne at tag."
 
 msgid "Tag Building"
-msgstr ""
+msgstr "Tag bygning"
 
 msgid "Tools: {0}"
-msgstr ""
+msgstr "Værktøj: {0}"
 
 msgid "Area Selection"
-msgstr ""
+msgstr "Område valg"
 
 msgid "Select an area (e.g. building) from an underlying image."
-msgstr ""
+msgstr "Vælg et område (f.eks. bygning) fra et underliggende billede."
 
 msgid "Area Selector"
-msgstr ""
+msgstr "Område vælger"
 
 msgid "Created area"
-msgstr ""
+msgstr "Oprettet område"
 
 msgid "Unable to detect a polygon where you clicked."
 msgstr ""
 
 msgid "Error Report"
-msgstr ""
+msgstr "Fejlrapport"
 
 msgid "Something went wrong!"
-msgstr ""
+msgstr "Noget gik galt!"
 
 msgid "Please file a bug report on the github project page under"
-msgstr ""
+msgstr "Vær venlig at indsende en fejlrapport på GitHub projektside under"
 
 msgid ""
 "Let us know what you did and what happend add the following text to the bug "
 "report, so we can find the source of the issue."
 msgstr ""
+"Lad os vide hvad du gjorde og hvad der skete tilføj den følgende tekst til "
+"fejlrapporten, så vi kan finde kilden til problemet."
 
 msgid "Area detection algorithm settings."
 msgstr ""
@@ -23947,6 +24125,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Vejnavn:"
 
@@ -24211,13 +24395,13 @@ msgid "Image resolution:"
 msgstr ""
 
 msgid "High resolution (1000x800)"
-msgstr ""
+msgstr "Høj opløsning (1000x800)"
 
 msgid "Medium resolution (800x600)"
-msgstr ""
+msgstr "Mellem opløsning (800x600)"
 
 msgid "Low resolution (600x400)"
-msgstr ""
+msgstr "Lav opløsning (600x400)"
 
 msgid "Image filter interpolation:"
 msgstr ""
@@ -24456,13 +24640,13 @@ msgid "Get a new cookie (session timeout)"
 msgstr ""
 
 msgid "Save image as..."
-msgstr ""
+msgstr "Gem billede som..."
 
 msgid "PNG files (*.png)"
 msgstr "PNG filer (*.png)"
 
 msgid "GeoTiff files (*.tif)"
-msgstr ""
+msgstr "GeoTiff filer (*.tif)"
 
 msgid "Export image (only raster images)"
 msgstr ""
@@ -24742,10 +24926,10 @@ msgid "Format errors: "
 msgstr "Formatfejl: "
 
 msgid "TangoGPS import success"
-msgstr ""
+msgstr "TangoGPS import succes"
 
 msgid "TangoGPS import failure!"
-msgstr ""
+msgstr "TangoGPS import fejl!"
 
 msgid "TCX Files (*.tcx)"
 msgstr "TCX Filer (*.tcx)"
@@ -24772,16 +24956,16 @@ msgid "between {0} {1} and {2} {3}"
 msgstr "mellem {0} {1} og {2} {3}"
 
 msgid "  adding {0} {1}"
-msgstr ""
+msgstr "  tilføjer {0} {1}"
 
 msgid "Layer for editing GPX tracks"
 msgstr "Lag til redigering af GPX spor"
 
 msgid "Convert to GPX layer with anonymised time"
-msgstr ""
+msgstr "Konverter til GPX lag med anonymiseret tid"
 
 msgid "EditGpx"
-msgstr "RedigérGpx"
+msgstr "RedigerGpx"
 
 msgid "edit gpx tracks"
 msgstr "Ret gpx-spor"
@@ -24796,7 +24980,7 @@ msgid "No GPX data layer found."
 msgstr "Intet GPX-datalag blev fundet"
 
 msgid "External tool error"
-msgstr ""
+msgstr "Ekstern værktøjsfejl"
 
 msgid "Error executing the script:"
 msgstr "Fejl ved udførelse af script:"
@@ -25576,7 +25760,7 @@ msgid "Rotate right"
 msgstr "Roter med uret"
 
 msgid "Rotate image right"
-msgstr "Rotér billedet med uret"
+msgstr "Roter billedet med uret"
 
 msgid "WayPoint Image"
 msgstr "WayPoint billede"
@@ -25597,7 +25781,7 @@ msgid "Scale:"
 msgstr "Skala:"
 
 msgid "unit(s) = "
-msgstr ""
+msgstr "enhed(er) = "
 
 msgid "Importing..."
 msgstr ""
@@ -26397,25 +26581,25 @@ msgid "Downloading data..."
 msgstr "Downloader data..."
 
 msgid "OpenData XML files"
-msgstr ""
+msgstr "OpenData XML filer"
 
 msgid "File to load"
 msgstr ""
 
 msgid "7Zip Files"
-msgstr ""
+msgstr "7Zip filer"
 
 msgid "Reading 7Zip file..."
-msgstr ""
+msgstr "Læser 7Zip fil..."
 
 msgid "Zip Files"
-msgstr ""
+msgstr "Zip filer"
 
 msgid "Reading Zip file..."
-msgstr ""
+msgstr "Læser Zip fil..."
 
 msgid "Cannot transform to WGS84"
-msgstr ""
+msgstr "Kan ikke omdanne til WGS84"
 
 msgid ""
 "JOSM was unable to find a strict mathematical transformation between ''{0}'' "
@@ -26428,16 +26612,16 @@ msgid "Try lenient method"
 msgstr ""
 
 msgid "GML files"
-msgstr ""
+msgstr "GML filer"
 
 msgid "KML/KMZ files"
-msgstr ""
+msgstr "KML/KMZ filer"
 
 msgid "MapInfo files"
-msgstr ""
+msgstr "MapInfo filer"
 
 msgid "Shapefiles"
-msgstr ""
+msgstr "Shapefiler"
 
 msgid ""
 "Unable to detect Coordinate Reference System.\n"
@@ -26445,10 +26629,10 @@ msgid ""
 msgstr ""
 
 msgid "Warning: CRS not found"
-msgstr ""
+msgstr "Advarsel: CRS ikke fundet"
 
 msgid "Unable to detect CRS !"
-msgstr ""
+msgstr "Kan ikke finde CRS !"
 
 msgid "Unable to find a data store for file {0}"
 msgstr ""
@@ -26457,10 +26641,10 @@ msgid "Loading shapefile ({0} features)"
 msgstr ""
 
 msgid "CSV files"
-msgstr ""
+msgstr "CSV filer"
 
 msgid "ODS files"
-msgstr ""
+msgstr "ODS filer"
 
 msgid "No valid coordinates have been found."
 msgstr ""
@@ -26469,10 +26653,10 @@ msgid "Invalid file. Bad length on line {0}. Expected {1} columns, got {2}."
 msgstr ""
 
 msgid "XLS files"
-msgstr ""
+msgstr "XLS filer"
 
 msgid "View OSM Wiki page"
-msgstr ""
+msgstr "Vis OSM Wiki side"
 
 msgid "Launch browser to the OSM Wiki page of the selected data set"
 msgstr ""
@@ -26863,7 +27047,7 @@ msgid "Joining nodes"
 msgstr "Sammenlægger punkter"
 
 msgid "Joining adjacent segments"
-msgstr ""
+msgstr "Sammenlægger tilstødende segmenter"
 
 msgid "Removing small objects"
 msgstr ""
@@ -26995,8 +27179,10 @@ msgstr "Juster billeder"
 msgid "Move and position photos"
 msgstr "Flyt og placerer billeder"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "Klik+træk billede eller shift+klik for at placerer billede."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr ""
@@ -27294,7 +27480,7 @@ msgid "Printing has failed."
 msgstr "Udskrivning mislykkedes."
 
 msgid "Proj4J: {0} selected"
-msgstr ""
+msgstr "Proj4J: {0} valgt"
 
 msgid "Selected: {0}"
 msgstr "Valgte: {0}"
@@ -27650,7 +27836,7 @@ msgid "Open relation editor for the chosen relation"
 msgstr ""
 
 msgid "Find a relation"
-msgstr ""
+msgstr "Find en relation"
 
 msgid "Reconstruct polygon"
 msgstr ""
@@ -27664,9 +27850,12 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
-msgid "Open relation wiki page"
+msgid "Reconstruct route"
 msgstr ""
 
+msgid "Open relation wiki page"
+msgstr "Åben relation wiki side"
+
 msgid "Select relation in main selection."
 msgstr "Vælg relation i hovedmarkering."
 
@@ -27677,55 +27866,61 @@ msgid "Complete multipolygon for way {0}"
 msgstr ""
 
 msgid "Node without ''house'' role found"
-msgstr ""
+msgstr "Punkt uden ''house'' rolle fundet"
 
 msgid "Way without ''house'' or ''street'' role found"
-msgstr ""
+msgstr "Vej uden ''house'' eller ''street'' rolle fundet"
 
 msgid "Relation without ''house'' role found"
-msgstr ""
+msgstr "Relation uden ''house'' rolle fundet"
 
 msgid "Relation does not have name"
-msgstr ""
+msgstr "Relation har intet navn"
 
 msgid "Relation has streets with different names"
-msgstr ""
+msgstr "Relation har gader med forskellige navne"
 
 msgid "fix associatedStreet relation"
 msgstr ""
 
 msgid "Relation without ''subarea'' role found"
-msgstr ""
+msgstr "Relation uden ''subarea'' rolle fundet"
 
 msgid "Node without ''label'' or ''admin_centre'' role found"
-msgstr ""
+msgstr "Punkt uden ''label'' eller ''admin_centre'' rolle fundet"
 
 msgid "Way without ''inner'' or ''outer'' role found"
-msgstr ""
+msgstr "Vej uden ''inner'' eller ''outer'' rolle fundet"
+
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr "Punkt uden ''stop'' eller ''platform'' rolle fundet"
+
+msgid "Way platform without ''platform'' role found"
+msgstr "Vej platform uden ''platform'' rolle fundet"
 
 msgid "Revert changeset fully"
-msgstr ""
+msgstr "Tilbagefør rettesæt fuldstændigt"
 
 msgid "Revert selection only"
-msgstr ""
+msgstr "Tilbagefør kun valgte"
 
 msgid "Revert selection and restore deleted objects"
-msgstr ""
+msgstr "Tilbagefør valgte og genskab slettede objekter"
 
 msgid "Revert changeset"
-msgstr ""
+msgstr "Tilbagefør rettesæt"
 
 msgid "Revert"
 msgstr "Tilbagefør"
 
 msgid "Enter the ID of the changeset that should be reverted"
-msgstr ""
+msgstr "Indtast ID på rettesæt som bør tilbageføres"
 
 msgid "Reverted changeset"
-msgstr ""
+msgstr "Tilbageført rettesæt"
 
 msgid "It is not allowed to revert changeset from {0}"
-msgstr ""
+msgstr "Det er ikke tilladt at tilbageføre rettesæt fra {0}"
 
 msgid "Missing merge target for {0} with id {1}"
 msgstr ""
@@ -27734,23 +27929,23 @@ msgid "Objects history"
 msgstr "Objekts historik"
 
 msgid "History reverter"
-msgstr ""
+msgstr "Historie tilbagefører"
 
 msgid "Preparing history data..."
-msgstr ""
+msgstr "Forbereder historie data..."
 
 msgid "Remote Control has been asked to revert a changeset."
-msgstr ""
+msgstr "Fjernbetjening er blevet bedt om at tilbageføre et rettesæt."
 
 msgid "Reverting..."
-msgstr "Tilbageruller..."
+msgstr "Tilbagefører..."
 
 msgid ""
 "This changeset has objects that are not present in current dataset.\n"
 "It is needed to download them before reverting. Do you want to continue?"
 msgstr ""
 "Dette rettesæt har objekter som ikke findes i det eksisterende datasæt.\n"
-"Det er nødvendigt at downloade dem før tilbagerulning. Ønsker du at "
+"Det er nødvendigt at downloade dem før tilbageførelsen. Ønsker du at "
 "fortsætte?"
 
 msgid "Confirm"
@@ -27766,7 +27961,7 @@ msgid "See {0}"
 msgstr ""
 
 msgid "Revert changeset #{0}"
-msgstr ""
+msgstr "Tilbagefør rettesæt #{0}"
 
 msgid ""
 "Warning: unsupported start element ''{0}'' in changeset content at position "
@@ -27801,7 +27996,7 @@ msgid "Show a selection of the most useful signs"
 msgstr "Vis et udvalg af de mest brugte skilte"
 
 msgid "Spain"
-msgstr ""
+msgstr "Spanien"
 
 msgid "Germany"
 msgstr "Tyskland"
@@ -27888,7 +28083,7 @@ msgid "Fastest"
 msgstr "Hurtigste"
 
 msgid "Ignore oneways"
-msgstr ""
+msgstr "Ignorer ensrettet"
 
 msgid "Reverse route"
 msgstr "Vend ruten om"
@@ -27940,7 +28135,7 @@ msgid ""
 msgstr ""
 
 msgid "SDS data file"
-msgstr ""
+msgstr "SDS data fil"
 
 msgid "Load..."
 msgstr "Indlæs..."
@@ -27949,16 +28144,16 @@ msgid "Load separate data store data from a file."
 msgstr ""
 
 msgid "Loading files"
-msgstr ""
+msgstr "Henter filer"
 
 msgid "SDS"
-msgstr ""
+msgstr "SDS"
 
 msgid "Information about SDS."
-msgstr ""
+msgstr "Information om SDS."
 
 msgid "About SDS..."
-msgstr ""
+msgstr "Om SDS..."
 
 msgid "Open a preferences dialog for SDS."
 msgstr ""
@@ -28206,7 +28401,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
@@ -28294,7 +28489,7 @@ msgid "Tracer2."
 msgstr ""
 
 msgid "Change tag {0} to {1}"
-msgstr ""
+msgstr "Ret tag {0} til {1}"
 
 msgid ""
 "The Tracer2Server version isn''t compatible with this plugin. Please "
@@ -28311,7 +28506,7 @@ msgid "No set of parameter is active!"
 msgstr ""
 
 msgid "Select parameter"
-msgstr ""
+msgstr "Vælg parameter"
 
 msgid "Tracer2: add a way with {0} points"
 msgstr ""
@@ -28320,7 +28515,7 @@ msgid "Tracer2: modify way to {0} points"
 msgstr ""
 
 msgid "Tracer2 error"
-msgstr ""
+msgstr "Tracer2 fejl"
 
 msgid "Parameter for server request"
 msgstr ""
@@ -28329,10 +28524,10 @@ msgid "Tile size:"
 msgstr ""
 
 msgid "Resolution:"
-msgstr ""
+msgstr "Opløsning:"
 
 msgid "Mode:"
-msgstr ""
+msgstr "Tilstand:"
 
 msgid "Threshold:"
 msgstr ""
@@ -28341,7 +28536,7 @@ msgid "Points per circle:"
 msgstr ""
 
 msgid "Tag:"
-msgstr ""
+msgstr "Tag:"
 
 msgid "Preferred values:"
 msgstr ""
@@ -28362,7 +28557,7 @@ msgid "Modify list of parameter for server request."
 msgstr ""
 
 msgid "Parameter:"
-msgstr ""
+msgstr "Parameter:"
 
 msgid ""
 "Tracer2Server isn''t running. Please start the Server.\n"
@@ -28377,7 +28572,7 @@ msgid "Tracer2Server has detected an error."
 msgstr ""
 
 msgid "GPG"
-msgstr ""
+msgstr "GPG"
 
 msgid "Export sigs..."
 msgstr ""
@@ -28502,6 +28697,8 @@ msgid ""
 "Selected node was:\n"
 "{0}"
 msgstr ""
+"Valgt punkt var:\n"
+"{0}"
 
 msgid "Sorry, there are no Signatures for the selected Attribute."
 msgstr "Beklager, der er ikke nogen signaturer for den valgte attribut."
@@ -28679,7 +28876,7 @@ msgid "Add turn"
 msgstr "Tilføj sving"
 
 msgid "Delete lane."
-msgstr "Slet spor."
+msgstr "Slet sving."
 
 msgid "Delete turn."
 msgstr "Slet sving."
@@ -28933,7 +29130,7 @@ msgid "Bicycles"
 msgstr "Cykler"
 
 msgid "Mopeds"
-msgstr ""
+msgstr "Knallerter"
 
 msgid "Use standard exceptions"
 msgstr ""
@@ -29053,16 +29250,16 @@ msgid ""
 msgstr ""
 
 msgid "Delete ''from''"
-msgstr ""
+msgstr "Slet ''from''"
 
 msgid "Removes the member with role ''from''"
-msgstr ""
+msgstr "Fjern medlemmer med rolle ''from''"
 
 msgid "Delete ''to''"
 msgstr "Slet \"til\""
 
 msgid "Removes the member with role ''to''"
-msgstr ""
+msgstr "Fjern medlemmer med rolle ''to''"
 
 msgid "Fix in editor"
 msgstr "Ret i editor"
@@ -29117,10 +29314,10 @@ msgid "Add in editor"
 msgstr "Tilføj i editor"
 
 msgid "Add a way with role ''from''"
-msgstr ""
+msgstr "Tilføj en vej med rolle ''from''"
 
 msgid "Add a way with role ''to''"
-msgstr ""
+msgstr "Tilføj en vej med rolle ''to''"
 
 msgid ""
 "The two ways participating in the turn restriction <strong>aren''t "
@@ -29248,10 +29445,10 @@ msgid "Please select one or more ways with intersections of segments."
 msgstr ""
 
 msgid "Align Way Nodes"
-msgstr ""
+msgstr "Tilpas vejpunkter"
 
 msgid "Align nodes in a way"
-msgstr ""
+msgstr "Tilpas punkter i en vej"
 
 msgid "The way with selected nodes can not be straightened."
 msgstr ""
@@ -29306,10 +29503,10 @@ msgid "The selected nodes can not be consecutive nodes in the object."
 msgstr ""
 
 msgid "Split adjacent ways"
-msgstr ""
+msgstr "Opdel tilstødende veje"
 
 msgid "Split adjacent ways on T-intersections"
-msgstr ""
+msgstr "Opdel tilstødende veje ved T-kryds"
 
 msgid ""
 "There are several ways containing one of the splitting nodes. Select ways "
@@ -29325,16 +29522,16 @@ msgid ""
 msgstr ""
 
 msgid "Copy tags from previous selection"
-msgstr ""
+msgstr "Kopier tags fra forrige valg"
 
 msgid "Pastes tags of previously selected object(s)"
-msgstr ""
+msgstr "Indsæt tags fra forrige valgt objekt(er)"
 
 msgid "Add Source Tag"
 msgstr "Tilføj kilde tag"
 
 msgid "Add remembered source tag"
-msgstr ""
+msgstr "Tilføj husket kilde tag"
 
 msgid "UnGlue Relation"
 msgstr "Adskil relation"
@@ -29350,13 +29547,13 @@ msgid "Unglued Relations"
 msgstr "Adskilte relationer"
 
 msgid "Change relation member for {0} {1}"
-msgstr ""
+msgstr "Ret relationsmedlem for {0} {1}"
 
 msgid "Circle arc"
-msgstr ""
+msgstr "Cirkelbue"
 
 msgid "Create a circle arc"
-msgstr ""
+msgstr "Opret en cirkelbue"
 
 msgid "Select custom URL"
 msgstr ""
@@ -29365,7 +29562,7 @@ msgid "Please select one of custom URLs (configured in Preferences)"
 msgstr ""
 
 msgid "Ask every time"
-msgstr ""
+msgstr "Spørg hver gang"
 
 msgid "Configure custom URL"
 msgstr ""
@@ -29444,10 +29641,10 @@ msgid "Sync with JOSM selection"
 msgstr ""
 
 msgid "Zoom to objects"
-msgstr ""
+msgstr "Zoom til objekter"
 
 msgid "Remove tag"
-msgstr ""
+msgstr "Fjern tag"
 
 msgid "Delete tags from multiple objects"
 msgstr ""
@@ -29524,16 +29721,16 @@ msgid "Range of attached ways count"
 msgstr ""
 
 msgid "Adjacent nodes"
-msgstr ""
+msgstr "Tilstødende punkter"
 
 msgid "Select adjacent nodes"
-msgstr ""
+msgstr "Vælg tilstødende punkter"
 
 msgid "Adjacent ways"
-msgstr ""
+msgstr "Tilstødende veje"
 
 msgid "Adjacent ways will be selected. Nodes will be deselected."
-msgstr ""
+msgstr "Tilstødende veje vil blive valgt. Punkter vil blive fravalgt."
 
 msgid "All connected ways"
 msgstr "Alle forbundne veje"
@@ -29563,7 +29760,7 @@ msgid "Middle nodes"
 msgstr "Midterpunkter"
 
 msgid "Select middle nodes"
-msgstr "Vælgt midterpunkter"
+msgstr "Vælg midterpunkter"
 
 msgid "Please select two nodes connected by way!"
 msgstr ""
@@ -29621,7 +29818,7 @@ msgid "Reselect last added object or selection form history"
 msgstr "Genmarkerer sidste tilføjede objekt eller markering fra historikken"
 
 msgid "Unselect nodes"
-msgstr ""
+msgstr "Fravælg punkter"
 
 msgid "Removes all nodes from selection"
 msgstr "Fjern alle punkter fra markeringen"
@@ -29672,7 +29869,7 @@ msgid "slower playback"
 msgstr "langsommere afspilning"
 
 msgid "Jump To"
-msgstr "Sprin til"
+msgstr "Spring til"
 
 msgid "jumps to the entered gps time"
 msgstr "springer til den angivne gps-tid"
diff --git a/i18n/po/de.po b/i18n/po/de.po
index d01391b..d56ffe3 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: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-09 17:32+0000\n"
-"Last-Translator: Klumbumbus <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-28 14:30+0000\n"
+"Last-Translator: holgermappt <Unknown>\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: 2014-12-10 04:48+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:53+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: de\n"
 "X-Poedit-SearchPath-0: .\n"
 "X-Poedit-Basepath: /home/simon/src/josm.all/i18n\n"
@@ -1475,7 +1475,7 @@ msgid "Toggles the global setting ''{0}''."
 msgstr "Globale Einstellung \"{0}\" umschalten."
 
 msgid "Encourage/discourage upload"
-msgstr "Hochladen vorantreiben/verhindern"
+msgstr "Hochladen erlauben/verhindern"
 
 msgid "UnGlue Ways"
 msgstr "Linien trennen"
@@ -4150,6 +4150,9 @@ msgstr "Internetschlagwörter"
 msgid "Checks for errors in internet-related tags."
 msgstr "Prüft auf Fehler in Internet-bezogenen Tags."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr " URL kann nicht in ASCII umgewandelt werden: {0}"
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4369,20 +4372,24 @@ msgstr "Relationstyp unbekannt"
 msgid "Relation is empty"
 msgstr "Relation ist leer"
 
-msgid "<empty>"
-msgstr "<leer>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
+"Rollenmitglied stimmt nicht mit dem Ausdruck {0} in Vorlage {1} überein"
 
-msgid "Role {0} unknown"
-msgstr "Rolle {0} unbekannt"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
+"Rollen Elementtyp {0} stimmt nicht mit der akzeptierten Liste von {1} in "
+"Template {2} überein"
 
-msgid "Empty role found"
-msgstr "Leere Rolle gefunden"
+msgid "<empty>"
+msgstr "<leer>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Element für Rolle ''{0}'' entspricht nicht ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr "Rolle {0} in Vorlagen {1} unbekannt"
 
-msgid "Member for role {0} of wrong type"
-msgstr "Element für Rolle {0} hat falschen Typ"
+msgid "Empty role type found when expecting one of {0}"
+msgstr "Leerer Rollentyp gefunden, erwartet wird einer von {0}"
 
 msgid "Role {0} missing"
 msgstr "Rolle {0} fehlt"
@@ -4934,11 +4941,40 @@ msgstr "Zugriff zu folgende/n Ressource/n verweigern (kommagetrennt)"
 msgid "options provided as Java system properties"
 msgstr "Optionen über die Java-Systemeinstellungen"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PFAD/ZU/JOSM/ORDNER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr "/PFAD/ZU/JOSM/EINST.    "
+
+msgid "Set the preferences directory"
+msgstr "Legen Sie das Einstellungsverzeichnis fest"
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr "/PFAD/ZU/JOSM/BENUTZERDATEN"
+
+msgid "Set the user data directory"
+msgstr "Legen Sie das Benutzerdatenverzeichnis fest"
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr "/PFAD/ZUM/JOSM/CACHE   "
+
+msgid "Set the cache directory"
+msgstr "Legen Sie das Cache-Verzeichnis fest"
 
-msgid "Change the folder for all user settings"
-msgstr "Verzeichnis für alle Benutzereinstellungen ändern"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr "/PFAD/ZU/JOSM/HOME-VERZEICHNIS "
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+"Verschiebe alle 3 Verzeichnisse in das home-Verzeichnis. Das "
+"Zwischenspeicherverzeichnis ist dann home-Verzeichnis/cache"
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
+"-Djosm.home hat niedrigere Priorität, d.h. die spezifische Einstellung hat "
+"Vorrang vor der allgemeinen"
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5216,6 +5252,21 @@ msgstr "Ebene nicht in der Liste."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Ebene ''{0}'' muss in der Liste der Ebenen sein"
 
+msgid "Default (open, closed, new)"
+msgstr "Standard (offen, geschlossen, neu)"
+
+msgid "Username"
+msgstr "Benutzername"
+
+msgid "Created date"
+msgstr "Erstellungsdatum"
+
+msgid "Last change date"
+msgstr "Letztes Erstellungsdatum"
+
+msgid "Select note sorting method"
+msgstr "Anmerkungssortierverfahren auswählen"
+
 msgid "Click to cancel the current operation"
 msgstr "Klicken Sie, um die aktuelle Aufgabe abzubrechen"
 
@@ -6698,6 +6749,12 @@ msgstr "Erneut öffnen"
 msgid "Reopen note with message:"
 msgstr "Hinweis mit Nachricht erneut öffnen:"
 
+msgid "Sort notes"
+msgstr "Anmerkungen sortieren"
+
+msgid "Sort"
+msgstr "Sortieren"
+
 msgid "Object type:"
 msgstr "Objekttyp:"
 
@@ -7789,9 +7846,6 @@ msgstr "Wählen Sie Objekte für die ausgewählten Relationsmitglieder"
 msgid "Sort the relation members"
 msgstr "Relationselemente sortieren"
 
-msgid "Sort"
-msgstr "Sortieren"
-
 msgid "Relation Editor: Sort"
 msgstr "Relationseditor: Sortieren"
 
@@ -8121,7 +8175,7 @@ msgid "Select to download GPS traces in the selected download area."
 msgstr "Auswählen, um GPS-Spuren im ausgewählten Ladebereich zu laden."
 
 msgid "Notes"
-msgstr "Scheine"
+msgstr "Anmerkungen"
 
 msgid "Select to download notes in the selected download area."
 msgstr ""
@@ -8688,9 +8742,6 @@ msgstr "Geben Sie Ihre Anmeldeinformationen für den Server ein"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Geben Sie Ihre Anmeldeinformationen für den HTTP-Proxy ein"
 
-msgid "Username"
-msgstr "Benutzername"
-
 msgid "Password"
 msgstr "Passwort"
 
@@ -9496,6 +9547,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Ebene speichern"
 
+msgid "Note"
+msgstr "Kommentar"
+
 msgid "Notes layer"
 msgstr "Anmerkungsebene"
 
@@ -9970,6 +10024,9 @@ msgstr "Photo aus Ebene entfernen"
 msgid "Delete File from disk"
 msgstr "Dateien von Platte löschen"
 
+msgid "Copy image path"
+msgstr "Bildpfad kopieren"
+
 msgid "Next"
 msgstr "Nächstes"
 
@@ -13820,6 +13877,9 @@ msgstr "Fehlendes erforderliches Attribut \"{0}\"."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Ungültiger langer Wert \"{1}\" für das Attribut ''{0}''."
 
+msgid "{0} bytes have been read"
+msgstr "{0} Bytes wurden gelesen"
+
 msgid "Prepare OSM data..."
 msgstr "OSM-Daten werden vorbereitet...."
 
@@ -14010,9 +14070,8 @@ msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 "Der Fernsteuerungsserver auf Port {0} konnte nicht gestartet werden: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr ""
-"RemoteControl::Eingehende Verbindungen auf Port {0} werden akzeptiert"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr "RemoteControl::Eingehende Verbindungen auf {0}:{1} werden akzeptiert"
 
 msgid "RemoteControl::Server stopped."
 msgstr "RemoteControl::Server angehalten."
@@ -14024,8 +14083,9 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Fernsteuerungs HTTPS Server konnte nicht intialisiert werden"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "Fernsteuerung: Erwarte sichere Verbindungen auf Port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr ""
+"RemoteControl::Eingehende sichere Verbindungen auf {0}:{1} werden akzeptiert"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Fernsteuerung: Server (HTTPS) gestoppt."
@@ -15240,9 +15300,6 @@ msgstr ""
 "werden, da diese keine JOSM-Objekte und keinen passenden Text enthält. "
 "</p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Ungültige bz2-Datei."
-
 msgid "ms"
 msgstr "ms"
 
@@ -16626,6 +16683,10 @@ msgstr "Tennis"
 msgid "Coins"
 msgstr "Münzen"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Geldscheine"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Geld- oder Prepaidkarten"
 
@@ -17462,6 +17523,9 @@ msgstr "Mit Fahrrad"
 msgid "Cross on horseback"
 msgstr "Zu Pferd"
 
+msgid "Optional values for specific countries"
+msgstr "Optionale Werte für bestimmte Länder"
+
 msgid "Stop"
 msgstr "Stopp-Schild"
 
@@ -17519,6 +17583,20 @@ msgstr "Zweiter Name"
 msgid "Speed Camera"
 msgstr "Geschwindigkeitsüberwachung"
 
+msgid "Traffic Mirror"
+msgstr "Verkehrsspiegel"
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr "Benannter Straßenknotenpunkt"
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+"Wird in einigen Ländern für Straßenknotenpunkte verwendet, die einen Namen "
+"haben, der der Orientierung im Nahbereich dient."
+
 msgid "Elevator"
 msgstr "Aufzug"
 
@@ -18973,6 +19051,9 @@ msgstr "Picknickplatz"
 msgid "Fireplace"
 msgstr "Feuerstelle"
 
+msgid "Picnic Table"
+msgstr "Picknicktisch"
+
 msgid "Public Grill"
 msgstr "Grillplatz"
 
@@ -19578,6 +19659,12 @@ msgstr "Saugwirkung"
 msgid "Count"
 msgstr "Anzahl"
 
+msgid "Advertising Column"
+msgstr "Litfaßsäule"
+
+msgid "Billboard"
+msgstr "Plakatwand"
+
 msgid "Sports"
 msgstr "Sport"
 
@@ -21450,9 +21537,6 @@ msgstr "Spielzeug"
 msgid "vouchers"
 msgstr "Karten/Belege"
 
-msgid "Note"
-msgstr "Kommentar"
-
 msgid "Geography"
 msgstr "Geografie"
 
@@ -21853,9 +21937,6 @@ msgstr "Übliche Namensabkürzung"
 msgid "House number"
 msgstr "Hausnummer"
 
-msgid "House name"
-msgstr "Hausname (v.a. UK)"
-
 msgid "Street name"
 msgstr "Straße"
 
@@ -21868,8 +21949,8 @@ msgstr "Ort"
 msgid "Country code"
 msgstr "Ländercode"
 
-msgid "Optional values for specific countries"
-msgstr "Optionale Werte für bestimmte Länder"
+msgid "House name"
+msgstr "Hausname (v.a. UK)"
 
 msgid "Subdistrict"
 msgstr "Unterbezirk"
@@ -22540,6 +22621,13 @@ msgstr "VoGIS: DGM (Geländemodell)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Oberflächenmodell)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -22589,13 +22677,13 @@ msgid "Estonia Ortho (Maaamet)"
 msgstr "Estland Orthofoto (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Estland Schummerung (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Estland Kataster (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Estland Forstwirtschaft (Maaamet)"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -22676,6 +22764,9 @@ msgstr "OpenStreetMap (Sorbische Sprache)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22923,6 +23014,9 @@ msgstr "GRAFCAN Express - Kanarische Inseln"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr "Kanton Aargau 25cm (AGIS 2014)"
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -23280,6 +23374,9 @@ msgstr "{0} ohne {1} oder {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} ohne {1}, {2} oder {3}"
 
+msgid "{0} together with {1}"
+msgstr "{0} zusammen mit {1}"
+
 msgid "{0} on suspicious object"
 msgstr "{0} auf einem verdächtigen Objekt"
 
@@ -23298,6 +23395,12 @@ msgstr "Sport ohne physische Merkmale"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} sollte auf einem Knoten liegen, wo sich {1} und {2} schneiden"
 
+msgid "alternative name without {0}"
+msgstr "alternativer Name ohne {0}"
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr "unvollständige Nutzung von {0} auf einer Linie ohne {1}"
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} ist veraltet"
 
@@ -23344,6 +23447,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "{0} sollte mit {1} ersetzt werden"
 
+msgid "{0} = {1}; remove {0}"
+msgstr "{0} = {1}; entferne {0}"
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23384,6 +23490,9 @@ msgstr "Überlappende Naturflächen mit gleichem Typ"
 msgid "Overlapping Identical Landuses"
 msgstr "Überlappende Landnutzungen mit gleichem Typ"
 
+msgid "{0} must be connected to a way"
+msgstr "{0} müssen mit einem Weg verbunden sein"
+
 msgid "abbreviated street name"
 msgstr "Abgekürzter Straßenname"
 
@@ -23405,9 +23514,19 @@ msgstr "Temporärer Straßentyp"
 msgid "street name contains ss"
 msgstr "Straßenname enthält ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+"Der Wert von ''{0}'' sollte entweder ''{1}'' oder ''{2}'' sein. Für Fußwege "
+"nutze stattdessen ''{3}''."
+
 msgid "{0} with multiple values"
 msgstr "{0} mit mehreren Werten"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr "Leerer Wert in Semikolon-getrenntem ''{0}''"
+
 msgid "numerical key"
 msgstr "Numerischer Schlüssel"
 
@@ -23447,6 +23566,9 @@ msgstr "Ungewöhnliche Steigung; Bitte Angaben in Prozent/Grad oder up/down"
 msgid "{0} must be a numeric value"
 msgstr "{0} muss eine Zahl sein"
 
+msgid "{0} must be a positive integer number"
+msgstr "{0} muss eine positive Ganzzahl sein"
+
 msgid "relation without type"
 msgstr "Relation ohne Typ"
 
@@ -24794,6 +24916,13 @@ msgstr "Knotenpunkte mit Nachbarn zusammenführen"
 msgid "merge nodes"
 msgstr "Knotenpunkte zusammenführen"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+"Wie oft die Ausdünnungs-Operation angewendet werden soll (Standard ist {0})."
+
+msgid "Thinning Iterations"
+msgstr "Ausdünnungs-Iterationen"
+
 msgid "Street Name:"
 msgstr "Straße:"
 
@@ -28067,10 +28196,12 @@ msgstr "Fotos ausrichten"
 msgid "Move and position photos"
 msgstr "Fotos verschieben und positionieren"
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
-"Fotos mit gedrückter Maustaste verschieben oder mit Shift+Mausklick "
-"positionieren."
+"Fotos mit gedrückter Maustaste verschieben, mit Shift+Mausklick "
+"positionieren oder Aufnahmerichtung mit Steuerung+Mausklick setzen."
 
 msgid "Please load some photos."
 msgstr "Bitte einige Fotos laden."
@@ -28745,6 +28876,9 @@ msgstr "Rekonstruktion von Polygonen kann nur mit Außenlinien geschehen"
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Polygone aus Relation {0} rekonstruieren"
 
+msgid "Reconstruct route"
+msgstr "Route rekonstruieren"
+
 msgid "Open relation wiki page"
 msgstr "Wikiseite zu Relationen öffnen"
 
@@ -28784,6 +28918,12 @@ msgstr "Punkt ohne Rolle ''label'' oder ''admin_centre'' gefunden"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Linie ohne Rolle ''inner'' oder ''outer'' gefunden"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr "Knoten ohne ''stop'' oder ''platform''-Rolle gefunden"
+
+msgid "Way platform without ''platform'' role found"
+msgstr "Plattform-Linie ohne Rolle ''platform'' gefunden"
+
 msgid "Revert changeset fully"
 msgstr "Änderungssatz vollständig umkehren"
 
@@ -29317,8 +29457,8 @@ msgstr "Zu Straßenzugehörigkeitsrelation hinzufügen"
 msgid "create an associatedStreet relation"
 msgstr "Eine Straßenzugehörigkeitsrelation erzeugen"
 
-msgid "delete outline way"
-msgstr "Umringslinie löschen"
+msgid "keep outline way"
+msgstr "Umrisslinie behalten"
 
 msgid "Street name: "
 msgstr "Straßenname: "
diff --git a/i18n/po/de_DE.po b/i18n/po/de_DE.po
index c0a97b2..19a142f 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:22+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:39+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3733,6 +3733,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3939,19 +3942,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4487,10 +4491,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4745,6 +4774,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6085,6 +6129,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Objekttyp:"
 
@@ -7067,9 +7117,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7851,9 +7898,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8533,6 +8577,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8979,6 +9026,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12359,6 +12409,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12539,7 +12592,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12551,7 +12604,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13511,9 +13564,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14752,6 +14802,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15574,6 +15628,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15631,6 +15688,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17075,6 +17144,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17680,6 +17752,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19550,9 +19628,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19936,9 +20011,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19951,7 +20023,7 @@ msgstr ""
 msgid "Country code"
 msgstr "Ländercode"
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20623,6 +20695,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20757,6 +20836,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21002,6 +21084,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21359,6 +21444,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21377,6 +21465,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21413,6 +21507,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21451,6 +21548,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21472,9 +21572,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21509,6 +21617,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22703,6 +22814,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25724,7 +25841,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26385,6 +26504,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26424,6 +26546,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26914,7 +27042,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/el.po b/i18n/po/el.po
index 54d19b0..5e9d1ea 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-10-28 23:48+0000\n"
 "Last-Translator: aitolos <Unknown>\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: 2014-12-10 04:49+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:55+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: el\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3918,6 +3918,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4124,19 +4127,20 @@ msgstr "Ο τύπος της σχέσης είναι αγνωστος"
 msgid "Relation is empty"
 msgstr "Η σχέση είναι άδεια"
 
-msgid "<empty>"
-msgstr "<κενό>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Ο ρόλος {0} είναι άγνωστος"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Βρέθηκε άδειος ρόλος"
+msgid "<empty>"
+msgstr "<κενό>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4690,10 +4694,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4956,6 +4985,21 @@ msgstr "το επίπεδο δεν είναι στη λίστα."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Το επίπεδο ''{0}'' πρέπει να είναι στη λίστα των επιπέδων"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Όνομα χρήστη"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Κλικ για ακύρωση της τρέχουσας λειτουργίας"
 
@@ -6319,6 +6363,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Ταξινόμηση"
+
 msgid "Object type:"
 msgstr "Τύπος αντικειμένου:"
 
@@ -7321,9 +7371,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Ταξινόμηση των μελών της σχέσης"
 
-msgid "Sort"
-msgstr "Ταξινόμηση"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -8128,9 +8175,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Όνομα χρήστη"
-
 msgid "Password"
 msgstr "Κωδικός"
 
@@ -8848,6 +8892,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Αποθήκευση Επιπέδου"
 
+msgid "Note"
+msgstr "Σημείωση"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9295,6 +9342,9 @@ msgstr "Αφαίρεση φωτογραφίας από επίπεδο"
 msgid "Delete File from disk"
 msgstr "Διαγραφή αρχείου από τον δίσκο"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Επόμενο"
 
@@ -12722,6 +12772,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Προετοιμασία δεδομένων OSM..."
 
@@ -12904,7 +12957,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12916,7 +12969,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13902,9 +13955,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -15146,6 +15196,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Κέρματα"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15968,6 +16022,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -16025,6 +16082,18 @@ msgstr "Δεύτερο Όνομα"
 msgid "Speed Camera"
 msgstr "Κάμερα ελέγχου ταχύτητας"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17469,6 +17538,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr "Τζάκι"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -18074,6 +18146,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Αθλητικά"
 
@@ -19944,9 +20022,6 @@ msgstr "Παιχνίδια"
 msgid "vouchers"
 msgstr "κουπόνια"
 
-msgid "Note"
-msgstr "Σημείωση"
-
 msgid "Geography"
 msgstr "Γεωγραφία"
 
@@ -20330,9 +20405,6 @@ msgstr ""
 msgid "House number"
 msgstr "Αριθμός σπιτιού"
 
-msgid "House name"
-msgstr "Όνομα Σπιτιού"
-
 msgid "Street name"
 msgstr "Όνομα οδού"
 
@@ -20345,8 +20417,8 @@ msgstr "Όνομα πόλης"
 msgid "Country code"
 msgstr "Κωδικός χώρας"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Όνομα Σπιτιού"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21017,6 +21089,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21151,6 +21230,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21396,6 +21478,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21753,6 +21838,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21771,6 +21859,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21807,6 +21901,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21845,6 +21942,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21866,9 +21966,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21903,6 +22011,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -23101,6 +23212,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Όνομα Οδού:"
 
@@ -26145,7 +26262,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26808,6 +26927,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26847,6 +26969,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Ολοκληρωτική επαναφορά"
 
@@ -27338,7 +27466,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/en_AU.po b/i18n/po/en_AU.po
index 959fb32..0b89311 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-03-30 14:03+0000\n"
 "Last-Translator: Dirk Stöcker <launchpad at dstoecker.de>\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: 2014-12-10 05:19+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:36+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3810,6 +3810,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4018,19 +4021,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4571,11 +4575,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "options provided as Java system properties"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Change the folder for all user settings"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -4837,6 +4866,21 @@ msgstr "layer not in list."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Layer ''{0}'' must be in list of layers"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Username"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Click to cancel the current operation"
 
@@ -6217,6 +6261,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Sort"
+
 msgid "Object type:"
 msgstr "Object type:"
 
@@ -7244,9 +7294,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Sort the relation members"
 
-msgid "Sort"
-msgstr "Sort"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -8075,9 +8122,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr "Enter credentials for HTTP proxy"
 
-msgid "Username"
-msgstr "Username"
-
 msgid "Password"
 msgstr "Password"
 
@@ -8817,6 +8861,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Save Layer"
 
+msgid "Note"
+msgstr "Note"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9283,6 +9330,9 @@ msgstr "Remove photo from layer"
 msgid "Delete File from disk"
 msgstr "Delete File from disk"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Next"
 
@@ -12857,6 +12907,9 @@ msgstr "Missing required attribute ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Illegal long value for attribute ''{0}''. Got ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Prepare OSM data..."
 
@@ -13042,7 +13095,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -13054,7 +13107,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -14094,9 +14147,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr "Invalid bz2 file."
-
 msgid "ms"
 msgstr ""
 
@@ -15377,6 +15427,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Coins"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Electronic purses and Charge cards"
 
@@ -16199,6 +16253,9 @@ msgstr "Cross by bicycle"
 msgid "Cross on horseback"
 msgstr "Cross on horseback"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -16256,6 +16313,18 @@ msgstr "Second Name"
 msgid "Speed Camera"
 msgstr "Speed Camera"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17700,6 +17769,9 @@ msgstr "Picnic Site"
 msgid "Fireplace"
 msgstr "Fireplace"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -18305,6 +18377,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sports"
 
@@ -20175,9 +20253,6 @@ msgstr "toys"
 msgid "vouchers"
 msgstr "vouchers"
 
-msgid "Note"
-msgstr "Note"
-
 msgid "Geography"
 msgstr "Geography"
 
@@ -20561,9 +20636,6 @@ msgstr ""
 msgid "House number"
 msgstr "House number"
 
-msgid "House name"
-msgstr "House name"
-
 msgid "Street name"
 msgstr "Street name"
 
@@ -20576,8 +20648,8 @@ msgstr "City name"
 msgid "Country code"
 msgstr "Country code"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "House name"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21248,6 +21320,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21382,6 +21461,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21627,6 +21709,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21984,6 +22069,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -22002,6 +22090,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -22038,6 +22132,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -22076,6 +22173,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -22097,9 +22197,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -22134,6 +22242,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -23333,6 +23444,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Street Name:"
 
@@ -26416,7 +26533,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -27077,6 +27196,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -27116,6 +27238,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27611,8 +27739,8 @@ msgstr "add to existing associatedStreet relation"
 msgid "create an associatedStreet relation"
 msgstr "create an associatedStreet relation"
 
-msgid "delete outline way"
-msgstr "delete outline way"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Street name: "
diff --git a/i18n/po/en_CA.po b/i18n/po/en_CA.po
index 13012c2..fb3ac39 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:22+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:39+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3730,6 +3730,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3936,19 +3939,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4484,10 +4488,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4742,6 +4771,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6082,6 +6126,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Object type:"
 
@@ -7064,9 +7114,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7848,9 +7895,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8530,6 +8574,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8976,6 +9023,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12356,6 +12406,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12536,7 +12589,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12548,7 +12601,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13508,9 +13561,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14746,6 +14796,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15568,6 +15622,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15625,6 +15682,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17069,6 +17138,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17674,6 +17746,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19544,9 +19622,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19930,9 +20005,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19945,7 +20017,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20617,6 +20689,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20751,6 +20830,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20996,6 +21078,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21353,6 +21438,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21371,6 +21459,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21407,6 +21501,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21445,6 +21542,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21466,9 +21566,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21503,6 +21611,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22697,6 +22808,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25714,7 +25831,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26375,6 +26494,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26414,6 +26536,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26904,7 +27032,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/en_GB.po b/i18n/po/en_GB.po
index 1397e3a..8e6f91e 100644
--- a/i18n/po/en_GB.po
+++ b/i18n/po/en_GB.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: JOSM\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-09-20 20:07+0000\n"
 "Last-Translator: Andi Chandler <Unknown>\n"
 "Language-Team: German <josm-dev at openstreetmap.org>\n"
@@ -18,8 +18,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: 2014-12-10 05:19+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:36+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: de\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4011,6 +4011,9 @@ msgstr "Internet tags"
 msgid "Checks for errors in internet-related tags."
 msgstr "Checks for errors in Internet-related tags."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4224,20 +4227,21 @@ msgstr "Relation type is unknown"
 msgid "Relation is empty"
 msgstr "Relation is empty"
 
-msgid "<empty>"
-msgstr "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Empty role found"
+msgid "<empty>"
+msgstr "<empty>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Role {0} missing"
@@ -4778,11 +4782,36 @@ msgstr "Disable access to the given resource(s), separated by comma"
 msgid "options provided as Java system properties"
 msgstr "options provided as Java system properties"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Change the folder for all user settings"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5056,6 +5085,21 @@ msgstr "layer not in list."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Layer ''{0}'' must be in list of layers"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Username"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Click to cancel the current operation"
 
@@ -6502,6 +6546,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Sort"
+
 msgid "Object type:"
 msgstr "Object type:"
 
@@ -7563,9 +7613,6 @@ msgstr "Select objects for selected relation members"
 msgid "Sort the relation members"
 msgstr "Sort the relation members"
 
-msgid "Sort"
-msgstr "Sort"
-
 msgid "Relation Editor: Sort"
 msgstr "Relation Editor: Sort"
 
@@ -8423,9 +8470,6 @@ msgstr "Enter credentials for host"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Enter credentials for HTTP proxy"
 
-msgid "Username"
-msgstr "Username"
-
 msgid "Password"
 msgstr "Password"
 
@@ -9197,6 +9241,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Save Layer"
 
+msgid "Note"
+msgstr "Note"
+
 msgid "Notes layer"
 msgstr "Notes layer"
 
@@ -9668,6 +9715,9 @@ msgstr "Remove photo from layer"
 msgid "Delete File from disk"
 msgstr "Delete File from disk"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Next"
 
@@ -13366,6 +13416,9 @@ msgstr "Missing required attribute ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Illegal long value for attribute ''{0}''. Got ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Prepare OSM data..."
 
@@ -13551,8 +13604,8 @@ msgstr "Read protocol version"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "Cannot start remotecontrol server on port {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "RemoteControl::Server stopped."
@@ -13563,8 +13616,8 @@ msgstr "Cannot start remotecontrol https server on port {0}: {1}"
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Unable to initialise Remote Control HTTPS Server"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "RemoteControl::Server (https) stopped."
@@ -14742,9 +14795,6 @@ msgstr ""
 "<html><p> Sorry, it is impossible to paste tags from buffer. It does not "
 "contain any JOSM object or suitable text. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Invalid bz2 file."
-
 msgid "ms"
 msgstr "ms"
 
@@ -16099,6 +16149,10 @@ msgstr "tennis"
 msgid "Coins"
 msgstr "Coins"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Electronic purses and Charge cards"
 
@@ -16932,6 +16986,9 @@ msgstr "Cross by bicycle"
 msgid "Cross on horseback"
 msgstr "Cross on horseback"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -16989,6 +17046,18 @@ msgstr "Second Name"
 msgid "Speed Camera"
 msgstr "Speed Camera"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Elevator"
 
@@ -18440,6 +18509,9 @@ msgstr "Picnic Site"
 msgid "Fireplace"
 msgstr "Fireplace"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Public grill"
 
@@ -19045,6 +19117,12 @@ msgstr "suction"
 msgid "Count"
 msgstr "Count"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sports"
 
@@ -20915,9 +20993,6 @@ msgstr "toys"
 msgid "vouchers"
 msgstr "vouchers"
 
-msgid "Note"
-msgstr "Note"
-
 msgid "Geography"
 msgstr "Geography"
 
@@ -21303,9 +21378,6 @@ msgstr ""
 msgid "House number"
 msgstr "House number"
 
-msgid "House name"
-msgstr "House name"
-
 msgid "Street name"
 msgstr "Street name"
 
@@ -21318,8 +21390,8 @@ msgstr "City name"
 msgid "Country code"
 msgstr "Country code"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "House name"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21990,6 +22062,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -22124,6 +22203,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -22369,6 +22451,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -22726,6 +22811,9 @@ msgstr "{0} without {1} or {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} without {1}, {2} or {3}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} on suspicious object"
 
@@ -22744,6 +22832,12 @@ msgstr "sport without physical feature"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} is deprecated"
 
@@ -22784,6 +22878,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -22822,6 +22919,9 @@ msgstr "Overlapping identical natural areas"
 msgid "Overlapping Identical Landuses"
 msgstr "Overlapping identical landuses"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "abbreviated street name"
 
@@ -22843,9 +22943,17 @@ msgstr "temporary highway type"
 msgid "street name contains ss"
 msgstr "street name contains ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0} with multiple values"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "numerical key"
 
@@ -22881,6 +22989,9 @@ msgstr "unusual incline; use percentages/degrees or up/down"
 msgid "{0} must be a numeric value"
 msgstr "{0} must be a numeric value"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relation without type"
 
@@ -24172,6 +24283,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Street Name:"
 
@@ -27259,7 +27376,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -27920,6 +28039,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -27959,6 +28081,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -28454,8 +28582,8 @@ msgstr "add to existing associatedStreet relation"
 msgid "create an associatedStreet relation"
 msgstr "create an associatedStreet relation"
 
-msgid "delete outline way"
-msgstr "delete outline way"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Street name: "
diff --git a/i18n/po/eo.po b/i18n/po/eo.po
index c20a50a..62751a3 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:44+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:47+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: eo\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3726,6 +3726,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3932,19 +3935,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4480,10 +4484,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4738,6 +4767,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6078,6 +6122,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7060,9 +7110,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7844,9 +7891,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8526,6 +8570,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8972,6 +9019,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12356,6 +12406,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12536,7 +12589,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12548,7 +12601,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13508,9 +13561,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14746,6 +14796,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Moneroj"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15568,6 +15622,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15625,6 +15682,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17069,6 +17138,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17674,6 +17746,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sportoj"
 
@@ -19544,9 +19622,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19930,9 +20005,6 @@ msgstr ""
 msgid "House number"
 msgstr "Domo numero"
 
-msgid "House name"
-msgstr "Domo nomo"
-
 msgid "Street name"
 msgstr ""
 
@@ -19945,8 +20017,8 @@ msgstr "Urbo nomo"
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Domo nomo"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20617,6 +20689,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20751,6 +20830,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20996,6 +21078,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21353,6 +21438,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21371,6 +21459,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21407,6 +21501,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21445,6 +21542,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21466,9 +21566,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21503,6 +21611,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22697,6 +22808,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25714,7 +25831,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26375,6 +26494,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26414,6 +26536,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26904,7 +27032,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/es.po b/i18n/po/es.po
index a64a3f6..3ec520c 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: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-11-05 14:16+0000\n"
-"Last-Translator: Oscar Fabian Prieto Gonzalez <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-11 08:31+0000\n"
+"Last-Translator: Omar Vega <ovruni at gnu.org.pe>\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: 2014-12-10 05:12+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:25+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: es\n"
 "X-Language: es_ES\n"
 "X-Source-Language: C\n"
@@ -1970,13 +1970,13 @@ msgid "Create new note"
 msgstr "Crear nueva nota"
 
 msgid "Create note"
-msgstr ""
+msgstr "Crear nota"
 
 msgid "Enter a detailed comment to create a note"
-msgstr ""
+msgstr "Introduzca un comentario detallado para crear una nota"
 
 msgid "You must enter a comment to create a new note"
-msgstr ""
+msgstr "Debe introducir un comentario para crear una nueva nota"
 
 msgid "Delete Mode"
 msgstr "Modo de borrado"
@@ -4119,6 +4119,9 @@ msgstr "Etiquetas de Internet"
 msgid "Checks for errors in internet-related tags."
 msgstr "Busca errores en etiquetas relacionadas a Internet."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4344,20 +4347,21 @@ msgstr "Tipo de relación desconocida"
 msgid "Relation is empty"
 msgstr "La relación está vacía"
 
-msgid "<empty>"
-msgstr "<vacío>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rol {0} desconocido"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Se encontró un rol vacío"
+msgid "<empty>"
+msgstr "<vacío>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "El miembro para el rol ''{0}'' no concuerda con ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Miembro de rol {0} con tipo erróneo"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Falta el rol {0}"
@@ -4915,11 +4919,36 @@ msgstr "Deshabilitar el acceso al recurso(s) dado(s), separados por comas"
 msgid "options provided as Java system properties"
 msgstr "opciones proporcionadas como propiedades de sistema Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Cambiar la carpeta para todas las configuraciones de usuario"
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5202,6 +5231,21 @@ msgstr "capa no listada"
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "La capa ''{0}'' debe estar en la lista de capas"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nombre de usuario"
+
+msgid "Created date"
+msgstr "Fecha de creación"
+
+msgid "Last change date"
+msgstr "Última fecha de modificación"
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Haga clic para cancelar la operación actual"
 
@@ -6672,7 +6716,7 @@ msgid "Comment"
 msgstr "Comentario"
 
 msgid "Comment on note"
-msgstr ""
+msgstr "Comentar sobre la nota"
 
 msgid "Add comment to note:"
 msgstr "Añadir comentario a la nota:"
@@ -6698,6 +6742,12 @@ msgstr "Reabrir"
 msgid "Reopen note with message:"
 msgstr "Reabrir nota con el mensaje;"
 
+msgid "Sort notes"
+msgstr "Ordenar notas"
+
+msgid "Sort"
+msgstr "Ordenar"
+
 msgid "Object type:"
 msgstr "Tipo de objeto:"
 
@@ -7805,9 +7855,6 @@ msgstr "Seleccionar los objetos para los miembros de la relación indicados"
 msgid "Sort the relation members"
 msgstr "Ordenar los miembros de la relación"
 
-msgid "Sort"
-msgstr "Ordenar"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor de relaciones: ordenar"
 
@@ -8137,6 +8184,8 @@ msgstr "Billetes"
 
 msgid "Select to download notes in the selected download area."
 msgstr ""
+"Seleccione esta opción para descargar notas en el área de descarga "
+"seleccionada."
 
 msgid "Download as new layer"
 msgstr "Descargar como nueva capa"
@@ -8698,9 +8747,6 @@ msgstr "Introduzca las credenciales para el servidor"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Introducir las credenciales para el proxy HTTP"
 
-msgid "Username"
-msgstr "Nombre de usuario"
-
 msgid "Password"
 msgstr "Contraseña"
 
@@ -9501,6 +9547,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Guardar capa"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Notes layer"
 msgstr "Capa de notas"
 
@@ -9979,6 +10028,9 @@ msgstr "Eliminar foto de la capa"
 msgid "Delete File from disk"
 msgstr "Borrar archivo del disco"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Siguiente"
 
@@ -13835,6 +13887,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "Hay un valor ilegal número(long) para el atributo \"{0}\". Se obtuvo \"{1}\"."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Preparando datos OSM..."
 
@@ -14025,8 +14080,8 @@ msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 "No se puede iniciar el servidor de control remoto en el puerto {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "ControlRemoto::Aceptando conexiones en el puerto {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "ControlRemoto::El servidor fue detenido"
@@ -14037,8 +14092,8 @@ msgstr "No se puede iniciar el servidor https en el puerto {0}: {1}"
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "No se puede inicializar Control Remoto sobre Servidor HTTPS"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "ControlRemoto::Aceptando conexiones seguras en el puerto {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "ControlRemoto:::Servidor (https) se detuvo."
@@ -15250,9 +15305,6 @@ msgstr ""
 "<html><p> Lo sentimos, es imposible pegar etiquetas desde la memoria. No "
 "contiene ningún objeto de JOSM o un texto adecuado. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Archivo bz2 inválido"
-
 msgid "ms"
 msgstr "ms"
 
@@ -15725,6 +15777,8 @@ msgid ""
 "Allows to import various file formats into JOSM directly. Currently "
 "supported: TangoGPS, Garmin Trainings Center TCX."
 msgstr ""
+"Permite importar varios formatos de archivo en JOSM directamente. "
+"Actualmente los formatos soportados: TangoGPS, Garmin Trainings Center TCX."
 
 msgid "Download your GPX tracks from openstreetmap.org"
 msgstr "Descarga tus trazas GPX desde openstreetmap.org"
@@ -15852,6 +15906,9 @@ msgid ""
 "Provides Java Native Access (JNA) library. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Proporciona la biblioteca Java Native Access (JNA). No pretende ser "
+"instalado directamente por los usuarios, sino más bien como una dependencia "
+"de otros complementos."
 
 msgid ""
 "Provides Java Topology Suite (JTS) library and related utilities. Not meant "
@@ -16297,19 +16354,19 @@ msgstr "anden"
 
 msgctxt "sidewalk"
 msgid "both"
-msgstr ""
+msgstr "ambos"
 
 msgctxt "sidewalk"
 msgid "left"
-msgstr ""
+msgstr "izquierda"
 
 msgctxt "sidewalk"
 msgid "right"
-msgstr ""
+msgstr "derecha"
 
 msgctxt "sidewalk"
 msgid "no"
-msgstr ""
+msgstr "no"
 
 msgid "Service type"
 msgstr "Tipo de servicio"
@@ -16654,6 +16711,10 @@ msgstr "tenis"
 msgid "Coins"
 msgstr "Monedas"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Notas"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Tarjetas de recarga y monederos electrónicos"
 
@@ -16680,19 +16741,19 @@ msgstr "May-Sep 09:30-12:30,14:15-19:30"
 
 msgctxt "parking"
 msgid "multi-storey"
-msgstr ""
+msgstr "de varios pisos"
 
 msgctxt "parking"
 msgid "surface"
-msgstr ""
+msgstr "superficie"
 
 msgctxt "parking"
 msgid "underground"
-msgstr ""
+msgstr "subterráneo"
 
 msgctxt "parking"
 msgid "rooftop"
-msgstr ""
+msgstr "azotea"
 
 msgid "Reference number"
 msgstr "Número de referencia"
@@ -17152,23 +17213,23 @@ msgstr "sobrepaso"
 
 msgctxt "overtaking"
 msgid "yes"
-msgstr ""
+msgstr "sí"
 
 msgctxt "overtaking"
 msgid "both"
-msgstr ""
+msgstr "ambos"
 
 msgctxt "overtaking"
 msgid "forward"
-msgstr ""
+msgstr "adelante"
 
 msgctxt "overtaking"
 msgid "backward"
-msgstr ""
+msgstr "retroceder"
 
 msgctxt "overtaking"
 msgid "no"
-msgstr ""
+msgstr "no"
 
 msgid "Roundabout"
 msgstr "Rotonda"
@@ -17492,6 +17553,9 @@ msgstr "Cruce de bicicletas"
 msgid "Cross on horseback"
 msgstr "Cruce de caballos"
 
+msgid "Optional values for specific countries"
+msgstr "Valores opcionales para países específicos"
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17549,6 +17613,18 @@ msgstr "Nombre alternativo"
 msgid "Speed Camera"
 msgstr "Rádar de tráfico"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Ascensor"
 
@@ -19006,6 +19082,9 @@ msgstr "Zona de picnic"
 msgid "Fireplace"
 msgstr "Barbacoa"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Barbacoa pública"
 
@@ -19613,6 +19692,12 @@ msgstr "succión"
 msgid "Count"
 msgstr "Cuenta"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Deportes"
 
@@ -21145,7 +21230,7 @@ msgstr "Monumento conmemorativo"
 
 msgctxt "memorial"
 msgid "statue"
-msgstr ""
+msgstr "estatua"
 
 msgctxt "memorial"
 msgid "bust"
@@ -21157,11 +21242,11 @@ msgstr "Placa"
 
 msgctxt "memorial"
 msgid "stele"
-msgstr ""
+msgstr "estela"
 
 msgctxt "memorial"
 msgid "stone"
-msgstr ""
+msgstr "piedra"
 
 msgctxt "memorial"
 msgid "war_memorial"
@@ -21485,9 +21570,6 @@ msgstr "juguetes"
 msgid "vouchers"
 msgstr "Bonos"
 
-msgid "Note"
-msgstr "Nota"
-
 msgid "Geography"
 msgstr "Geografía"
 
@@ -21522,13 +21604,13 @@ msgid "National Park"
 msgstr "Parque Nacional"
 
 msgid "Protected Area"
-msgstr ""
+msgstr "Área Protegida"
 
 msgid "Protected Class"
-msgstr ""
+msgstr "Clase protegida"
 
 msgid "Title or type of protection"
-msgstr ""
+msgstr "Título o tipo de protección"
 
 msgid "Places"
 msgstr "Lugares"
@@ -21894,9 +21976,6 @@ msgstr "Abreviatura común del nombre"
 msgid "House number"
 msgstr "Número de portal"
 
-msgid "House name"
-msgstr "Nombre del edificio"
-
 msgid "Street name"
 msgstr "Nombre de la calle"
 
@@ -21909,8 +21988,8 @@ msgstr "Nombre de la ciudad"
 msgid "Country code"
 msgstr "Código del país"
 
-msgid "Optional values for specific countries"
-msgstr "Valores opcionales para países específicos"
+msgid "House name"
+msgstr "Nombre del edificio"
 
 msgid "Subdistrict"
 msgstr "Subdistrito"
@@ -22581,6 +22660,13 @@ msgstr "VoGIS: DGM (modelo de terreno)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (modelo de superficie)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Sectores Urbanos"
 
@@ -22716,6 +22802,9 @@ msgstr "OpenStreetMap (idioma sorabo)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburgo (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburgo (DK5)"
 
@@ -22965,6 +23054,9 @@ msgstr "GRAFCAN Expresa - Islas Canarias"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Cantón Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Ortofoto 2008 10cm"
 
@@ -23322,6 +23414,9 @@ msgstr "{0} sin {1} o {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} sin {1}, {2} o {3}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} en objeto sospechoso"
 
@@ -23340,6 +23435,12 @@ msgstr "deporte sin elemento físico"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} debería estar en el nodo donde {1} y {2} se intersectan"
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} está obsoleto"
 
@@ -23383,6 +23484,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23421,6 +23525,9 @@ msgstr "Áreas naturales idénticas superpuesta"
 msgid "Overlapping Identical Landuses"
 msgstr "Utilizaciones del suelo idénticas superpuestas"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nombre de calle abreviado"
 
@@ -23442,9 +23549,17 @@ msgstr "tipo de carretera de uso temporal"
 msgid "street name contains ss"
 msgstr "nombre de calle contiene ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0} con múltiples valores"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "tecla numérica"
 
@@ -23482,6 +23597,9 @@ msgstr "inclinación inusual; usar porcentajes/grados o arriba/abajo"
 msgid "{0} must be a numeric value"
 msgstr "{0} debe ser un valor numérico"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relation sin type"
 
@@ -24841,6 +24959,12 @@ msgstr "Combinar nodos con sus vecinos"
 msgid "merge nodes"
 msgstr "combinar nodos"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nombre de Calle:"
 
@@ -28135,8 +28259,10 @@ msgstr "Adjuntar fotos"
 msgid "Move and position photos"
 msgstr "Mover y colocar fotos"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "Haga clic y arrastre la foto o Mayús+clic para posicionar la foto"
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr "Por favor cargue algunas fotos."
@@ -28815,6 +28941,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruir polígonos a partir de la relación {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Abrir la página de la wiki relacionada"
 
@@ -28854,6 +28983,12 @@ msgstr "Se encontró un nodo sin el rol ''label'' o ''admin_centre''"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Se encontró una vía sin e lrol ''iner'' o ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Conjunto de cambios revertido en su totalidad"
 
@@ -29386,8 +29521,8 @@ msgstr "Agregar a una relación de asociación de calle existente"
 msgid "create an associatedStreet relation"
 msgstr "crear una relación de asociación de calle"
 
-msgid "delete outline way"
-msgstr "Eliminar vía resaltada"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nombre de calle: "
diff --git a/i18n/po/et.po b/i18n/po/et.po
index d6d9654..8ea1b07 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-11-24 22:08+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: 2014-12-10 04:44+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:48+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: et\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3806,6 +3806,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4012,19 +4015,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4560,10 +4564,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4818,6 +4847,21 @@ msgstr "Kiht ei ole nimistus."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Kiht ''{0}'' peab olema kihtide nimistus"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Kasutajanimi"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6163,6 +6207,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Objekti tüüp:"
 
@@ -7162,9 +7212,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7966,9 +8013,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Kasutajanimi"
-
 msgid "Password"
 msgstr "Salasõna"
 
@@ -8674,6 +8718,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Salvesta kiht"
 
+msgid "Note"
+msgstr "Märkus"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9131,6 +9178,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12552,6 +12602,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "OSM andmeid ettevalmistamine..."
 
@@ -12738,7 +12791,7 @@ msgstr "Protokolli versiooni lugemine"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12750,7 +12803,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13730,9 +13783,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14972,6 +15022,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Mündid"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektroonilised rahakotid ja krediitkaardid"
 
@@ -15794,6 +15848,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15851,6 +15908,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr "Kiiruskaamera"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17295,6 +17364,9 @@ msgstr "Piknikuplats"
 msgid "Fireplace"
 msgstr "Lõkkease"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17900,6 +17972,12 @@ msgstr "imemine"
 msgid "Count"
 msgstr "Arv"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sporditarbed"
 
@@ -19770,9 +19848,6 @@ msgstr "mänguasjad"
 msgid "vouchers"
 msgstr "maksedokumendid"
 
-msgid "Note"
-msgstr "Märkus"
-
 msgid "Geography"
 msgstr "Geograafia"
 
@@ -20156,9 +20231,6 @@ msgstr ""
 msgid "House number"
 msgstr "Maja number"
 
-msgid "House name"
-msgstr "Maja nimi"
-
 msgid "Street name"
 msgstr "Tänava nimi"
 
@@ -20171,8 +20243,8 @@ msgstr "Linna nimi"
 msgid "Country code"
 msgstr "Riigi kood"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Maja nimi"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20843,6 +20915,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20977,6 +21056,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21222,6 +21304,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21579,6 +21664,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21597,6 +21685,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21633,6 +21727,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21671,6 +21768,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21692,9 +21792,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21729,6 +21837,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22933,6 +23044,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Tänava nimi:"
 
@@ -25962,7 +26079,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26623,6 +26742,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26662,6 +26784,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27152,7 +27280,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/eu.po b/i18n/po/eu.po
index 20c4cb2..1280557 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-03-30 13:56+0000\n"
 "Last-Translator: Txopi <txopi at sindominio.net>\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: 2014-12-10 04:36+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:38+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: eu\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3873,6 +3873,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4079,19 +4082,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4643,11 +4647,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "aukera hauek Java-ren sistema propietate moduan ematen dira"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/JOSM/KARPETARA/BIDEA/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Erabiltzailearen hobespen guztientzat karpeta aldatu"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -4910,6 +4939,21 @@ msgstr "Geruza hau ez dago zerrendan."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "\"{0}\" geruzak, geruzen zerrendan egon behar du"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Erabiltzaile izena"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Klik egin ekintza hau ezeztatzeko"
 
@@ -6281,6 +6325,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Ordenatu"
+
 msgid "Object type:"
 msgstr "Objektu mota"
 
@@ -7264,9 +7314,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr "Ordenatu"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -8048,9 +8095,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Erabiltzaile izena"
-
 msgid "Password"
 msgstr "Pasahitza"
 
@@ -8730,6 +8774,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Geruza gorde"
 
+msgid "Note"
+msgstr "Oharra"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9181,6 +9228,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12561,6 +12611,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12741,7 +12794,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12753,7 +12806,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13713,9 +13766,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -15000,6 +15050,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Txanponak"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Errekarga-txartelak eta diru-zorro elektronikoak"
 
@@ -15822,6 +15876,9 @@ msgstr "Bizikleten bidegurutzea"
 msgid "Cross on horseback"
 msgstr "Zaldien bidegurutzea"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Gelditu"
 
@@ -15879,6 +15936,18 @@ msgstr "Bigarren izena"
 msgid "Speed Camera"
 msgstr "Abiadura radarra"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17323,6 +17392,9 @@ msgstr "Piknik-gunea"
 msgid "Fireplace"
 msgstr "Barbakoa"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17928,6 +18000,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Kirolak"
 
@@ -19798,9 +19876,6 @@ msgstr "jostailuak"
 msgid "vouchers"
 msgstr "Bonuak"
 
-msgid "Note"
-msgstr "Oharra"
-
 msgid "Geography"
 msgstr "Geografia"
 
@@ -20184,9 +20259,6 @@ msgstr ""
 msgid "House number"
 msgstr "Eraikinaren atari zenbakia"
 
-msgid "House name"
-msgstr "Eraikinaren izena"
-
 msgid "Street name"
 msgstr "Kale-izena"
 
@@ -20199,8 +20271,8 @@ msgstr "Hiriaren izena"
 msgid "Country code"
 msgstr "Estatuaren kodea"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Eraikinaren izena"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20871,6 +20943,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21005,6 +21084,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21250,6 +21332,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21607,6 +21692,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21625,6 +21713,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21661,6 +21755,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21699,6 +21796,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21720,9 +21820,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21757,6 +21865,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22951,6 +23062,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25973,7 +26090,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26634,6 +26753,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26673,6 +26795,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27163,7 +27291,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/fa.po b/i18n/po/fa.po
index 0483f6a..85165bd 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:05+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:15+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: fa\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3791,6 +3791,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3997,19 +4000,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4546,10 +4550,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4804,6 +4833,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6144,6 +6188,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "نوع شئ:"
 
@@ -7126,9 +7176,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7910,9 +7957,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8597,6 +8641,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9043,6 +9090,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12423,6 +12473,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12603,7 +12656,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12615,7 +12668,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13575,9 +13628,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14813,6 +14863,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15635,6 +15689,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15692,6 +15749,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17136,6 +17205,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17741,6 +17813,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19611,9 +19689,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19997,9 +20072,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -20012,7 +20084,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20684,6 +20756,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20818,6 +20897,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21063,6 +21145,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21420,6 +21505,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21438,6 +21526,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21474,6 +21568,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21512,6 +21609,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21533,9 +21633,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21570,6 +21678,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22764,6 +22875,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25781,7 +25898,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26442,6 +26561,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26481,6 +26603,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26971,7 +27099,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/fi.po b/i18n/po/fi.po
index 42fe805..21c3812 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-02-26 18:35+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: 2014-12-10 04:45+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:49+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: fi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4014,6 +4014,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4233,20 +4236,21 @@ msgstr "Tarkistin ei tunne relaation type-tagia"
 msgid "Relation is empty"
 msgstr "Relaatiossa ei ole jäseniä"
 
-msgid "<empty>"
-msgstr "<tyhjä>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rooli {0} on tuntematon"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Tyhjä rooli"
+msgid "<empty>"
+msgstr "<tyhjä>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Relaatiotarkistin odotti roolia ''{1}'', mutta rooli on ''{0}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Roolissa {0} väärän tyyppinen objekti"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Ei yhtään jäsentä roolissa {0}"
@@ -4796,11 +4800,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "Javan järjestelmäominaisuuksina näkyvät asetukset"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/polku/josmin/hakemistoon/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Vaihda kaikkien käyttäjäasetuksien kansio"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5061,6 +5090,21 @@ msgstr "taso ei ole listassa."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Tason \"{0}\" tulee olla tasolistassa"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Käyttäjänimi"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Napsauta keskeyttääksesi menossa oleva toiminto"
 
@@ -6477,6 +6521,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Järjestä"
+
 msgid "Object type:"
 msgstr "Objektin tyyppi:"
 
@@ -7526,9 +7576,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Lajittele relaation jäsenet"
 
-msgid "Sort"
-msgstr "Järjestä"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -8401,9 +8448,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Käyttäjänimi"
-
 msgid "Password"
 msgstr "Salasana"
 
@@ -9170,6 +9214,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Tallenna kerros"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9628,6 +9675,9 @@ msgstr "Poista kuva tasosta"
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Seuraava"
 
@@ -13101,6 +13151,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Valmistellaan OSM-karttatietoja..."
 
@@ -13287,7 +13340,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -13299,7 +13352,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -14301,9 +14354,6 @@ msgstr ""
 "<html><p>Valitettavasti tageja ei voitu liittää leikepöydältä, koska se ei "
 "sisältänyt JOSM-objektia tai sopivaa tekstiä.</p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Virheellinen Bzip2-tiedosto"
-
 msgid "ms"
 msgstr ""
 
@@ -15564,6 +15614,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Kolikot"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -16386,6 +16440,9 @@ msgstr "Ylitys pyörällä"
 msgid "Cross on horseback"
 msgstr "Ylitys ratsain"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -16443,6 +16500,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr "Nopeuskamera"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17887,6 +17956,9 @@ msgstr "Piknik-paikka"
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Julkinen grillauspaikka"
 
@@ -18492,6 +18564,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Liikunta"
 
@@ -20362,9 +20440,6 @@ msgstr "leluja"
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr "Maantiede"
 
@@ -20748,9 +20823,6 @@ msgstr ""
 msgid "House number"
 msgstr "Talon numero"
 
-msgid "House name"
-msgstr "Talon nimi"
-
 msgid "Street name"
 msgstr "Kadunnimi"
 
@@ -20763,8 +20835,8 @@ msgstr "Kunta"
 msgid "Country code"
 msgstr "Maakoodi"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Talon nimi"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21436,6 +21508,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21570,6 +21649,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21815,6 +21897,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -22172,6 +22257,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -22190,6 +22278,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -22226,6 +22320,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -22264,6 +22361,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -22285,9 +22385,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -22322,6 +22430,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -23529,6 +23640,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Kadunnimi:"
 
@@ -26579,7 +26696,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -27244,6 +27363,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -27283,6 +27405,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Palauta muutoskokoelman muutokset täysin ennalleen"
 
@@ -27774,7 +27902,7 @@ msgstr "lisää valmiiseen associatedStreet-relaatioon"
 msgid "create an associatedStreet relation"
 msgstr "tee uusi associatedStreet-relaatio"
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/fil.po b/i18n/po/fil.po
index 87c2683..c5d0cac 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:23+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:40+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: fil\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/fr.po b/i18n/po/fr.po
index 6c995f8..e3d539a 100644
--- a/i18n/po/fr.po
+++ b/i18n/po/fr.po
@@ -5,16 +5,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-11-29 23:11+0000\n"
-"Last-Translator: Don-vip <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-17 05:31+0000\n"
+"Last-Translator: Cybereric <sybereric at yahoo.fr>\n"
 "Language-Team: Fr <>\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: 2014-12-10 04:46+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:50+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: fr\n"
 "X-Poedit-Bookmarks: 1767,-1,-1,2669,-1,-1,-1,-1,-1,-1\n"
 
@@ -4101,6 +4101,9 @@ msgstr "tags internet"
 msgid "Checks for errors in internet-related tags."
 msgstr "Recherche d''erreurs dans les tags relatifs à internet."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'' : {1}"
 
@@ -4315,20 +4318,21 @@ msgstr "Le type de relation est inconnu"
 msgid "Relation is empty"
 msgstr "La relation est vide"
 
-msgid "<empty>"
-msgstr "<vide>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rôle {0} inconnu"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Rôle vide trouvé"
+msgid "<empty>"
+msgstr "<vide>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Le membre du rôle ''{0}'' ne correspond pas à ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Membre du rôle {0} du mauvais type"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Le rôle {0} manque"
@@ -4884,11 +4888,36 @@ msgid "options provided as Java system properties"
 msgstr ""
 "options disponibles en tant que fichiers de propriétés système pour Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/CHEMIN/VERS/REPERTOIRE/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Changer le répertoire pour tous les paramètres utilisateur"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5166,6 +5195,21 @@ msgstr "Le calque n’est pas dans la liste."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Le calque ''{0}'' doit être dans la liste des calques"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nom d’utilisateur :"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Annuler l’opération"
 
@@ -6637,6 +6681,12 @@ msgstr "Réouvrir"
 msgid "Reopen note with message:"
 msgstr "Réouvrir une note avec un message :"
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Trier"
+
 msgid "Object type:"
 msgstr "Type :"
 
@@ -7714,9 +7764,6 @@ msgstr "Sélectionner les objets des membres"
 msgid "Sort the relation members"
 msgstr "Trier les membres"
 
-msgid "Sort"
-msgstr "Trier"
-
 msgid "Relation Editor: Sort"
 msgstr "Éditeur de relation: Trier"
 
@@ -8596,9 +8643,6 @@ msgstr "Saisir les identifiants pour l’’hôte"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Identification par proxy HTTP"
 
-msgid "Username"
-msgstr "Nom d’utilisateur :"
-
 msgid "Password"
 msgstr "Mot de passe :"
 
@@ -9416,6 +9460,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Enregistrer le calque"
 
+msgid "Note"
+msgstr "Paiement"
+
 msgid "Notes layer"
 msgstr "Calque des notes"
 
@@ -9892,6 +9939,9 @@ msgstr "Supprimer la photo du calque"
 msgid "Delete File from disk"
 msgstr "Supprimer un fichier du disque"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Suivant"
 
@@ -13711,6 +13761,9 @@ msgstr ""
 "La valeur longue pour l’attribut ''{0}'' est erronée. Actuellement elle est "
 "{1}."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Préparation des données…"
 
@@ -13904,8 +13957,8 @@ msgstr "Lire la version du protocole"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "Impossible de lancer el serveur à distance sur le port {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Contrôle à distance::Connexions acceptées sur le port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "Contrôle à distance::Serveur arrêté."
@@ -13918,9 +13971,8 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Impossible d’initialiser le serveur HTTPS de contrôle à distance"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
-"Contrôle à distance::Accepter les connexions sécurisées sur le port {0}"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Contrôle à distance::Serveur (https) arrêté"
@@ -15119,9 +15171,6 @@ msgstr ""
 "tampon. Il ne contient aucun objet JOSM ni aucun texte convenable. "
 "</p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Le fichier bz2 n’est pas valide."
-
 msgid "ms"
 msgstr "ms"
 
@@ -16503,6 +16552,10 @@ msgstr "tennis"
 msgid "Coins"
 msgstr "Pièces"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Porte-monnaie électronique"
 
@@ -17338,6 +17391,9 @@ msgstr "Traversée à vélo"
 msgid "Cross on horseback"
 msgstr "Traversée à cheval"
 
+msgid "Optional values for specific countries"
+msgstr "Valeurs optionnelles pour certains pays."
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17395,6 +17451,18 @@ msgstr "Nom secondaire"
 msgid "Speed Camera"
 msgstr "Radar fixe"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Ascenseur"
 
@@ -18226,16 +18294,16 @@ msgid "lockers"
 msgstr "casiers"
 
 msgid "rack"
-msgstr "ratelier"
+msgstr "suspendu"
 
 msgid "shed"
 msgstr "abri"
 
 msgid "stands"
-msgstr "râteliers"
+msgstr "arceaux"
 
 msgid "wall_loops"
-msgstr "muraux"
+msgstr "pince-roue"
 
 msgid "Covered"
 msgstr "Couvert"
@@ -18854,6 +18922,9 @@ msgstr "Pique-nique"
 msgid "Fireplace"
 msgstr "Feu de camp"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Gril"
 
@@ -19459,6 +19530,12 @@ msgstr "aspirante"
 msgid "Count"
 msgstr "Quantité"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sports"
 
@@ -21005,9 +21082,12 @@ msgctxt "memorial"
 msgid "stele"
 msgstr "stèle"
 
+# "stone" veut dire que le mémorial est une pierre en tant que structure.
+# Si on utilise "en pierre" comme la traduction précédente cela entraînera des confusions.
+# Un mémorial de type "plaque" ou "war_memorial" peut être en pierre (quasimment toujours le cas pour ce dernier)
 msgctxt "memorial"
 msgid "stone"
-msgstr "en pierre"
+msgstr "pierre"
 
 msgctxt "memorial"
 msgid "war_memorial"
@@ -21331,9 +21411,6 @@ msgstr "jouets"
 msgid "vouchers"
 msgstr "bons"
 
-msgid "Note"
-msgstr "Paiement"
-
 msgid "Geography"
 msgstr "Géographie"
 
@@ -21719,9 +21796,6 @@ msgstr "Nom abrégé"
 msgid "House number"
 msgstr "Numéro"
 
-msgid "House name"
-msgstr "Nom"
-
 msgid "Street name"
 msgstr "Rue"
 
@@ -21734,8 +21808,8 @@ msgstr "Ville"
 msgid "Country code"
 msgstr "Indicatif du pays"
 
-msgid "Optional values for specific countries"
-msgstr "Valeurs optionnelles pour certains pays."
+msgid "House name"
+msgstr "Nom"
 
 msgid "Subdistrict"
 msgstr "Sousdistrict"
@@ -22406,6 +22480,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -22542,6 +22623,9 @@ msgstr "OpenStreetMap (Langue Sorabe)"
 msgid "Hamburg (40 cm)"
 msgstr "Hambourg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22789,6 +22873,9 @@ msgstr "GRAFCAN Express - Îles des Canaries"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -23149,6 +23236,9 @@ msgstr "{0} sans {1} ou {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} sans {1}, {2} ni {3}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} sur un objet suspicieux"
 
@@ -23167,6 +23257,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} devrait être sur le nœud où {1} et {2} se croisent"
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} est obsolète"
 
@@ -23208,6 +23304,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23246,6 +23345,9 @@ msgstr "Aires naturelles se chevauchant"
 msgid "Overlapping Identical Landuses"
 msgstr "Terrains identiques se chevauchant"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "abbréviation du nom de rue"
 
@@ -23267,9 +23369,17 @@ msgstr "type de route temporaire"
 msgid "street name contains ss"
 msgstr "le nom de rue contient ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0} avec de  multiples valeurs"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "clé numérique"
 
@@ -23308,6 +23418,9 @@ msgstr "Mauvaise valeur d’inclinaison, doit être en %/degré ou up/down"
 msgid "{0} must be a numeric value"
 msgstr "{0} doit être une valeur numérique"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relation sans type"
 
@@ -24650,6 +24763,12 @@ msgstr "Fusionner les nœuds avec ses voisins."
 msgid "merge nodes"
 msgstr "fusionner des nœuds"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nom de la rue :"
 
@@ -27866,7 +27985,9 @@ msgstr "Ajustage des photos"
 msgid "Move and position photos"
 msgstr "Déplacer et positionner les photos"
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -28543,6 +28664,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruire les polygones de la relation {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Ouvrir la page wiki de la relation"
 
@@ -28582,6 +28706,12 @@ msgstr "Nœud sans rôle ''label'' ou ''admin_centre'' trouvé"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Présence d’un way sans rôle \"inner\" ou \"outer\""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Annuler le groupe de modifications"
 
@@ -29095,8 +29225,8 @@ msgstr "Ajouter à la relation associatedStreet"
 msgid "create an associatedStreet relation"
 msgstr "Créer une relation associatedStreet"
 
-msgid "delete outline way"
-msgstr "supprimer le chemin du contour"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nom de la rue : "
diff --git a/i18n/po/gl.po b/i18n/po/gl.po
index 223f096..e704ea8 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-08-20 14:37+0000\n"
 "Last-Translator: Adrián Chaves Fernández <adriyetichaves at gmail.com>\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: 2014-12-10 04:48+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:54+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: gl\n"
 "X-Poedit-Language: Galician\n"
 
@@ -3916,6 +3916,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4122,19 +4125,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr "A relación esta baldeira"
 
-msgid "<empty>"
-msgstr "<empty>"
-
-msgid "Role {0} unknown"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Empty role found"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "<empty>"
+msgstr "<empty>"
+
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4675,11 +4679,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "opción dadas polas propiedades do sistema de Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/RUTA/Á/CARPETA/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Cambiar o directorio para as configuración de todos os usuarios"
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -4941,6 +4970,21 @@ msgstr "a capa non está na lista."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "A capa «{0}» debe estar na lista de capas"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nome de usuario"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Prema para cancelar a operación actual"
 
@@ -6347,6 +6391,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Ordenar"
+
 msgid "Object type:"
 msgstr "Tipo de obxecto:"
 
@@ -7371,9 +7421,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Ordenar os membros da relación"
 
-msgid "Sort"
-msgstr "Ordenar"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -8195,9 +8242,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Nome de usuario"
-
 msgid "Password"
 msgstr "Contrasinal"
 
@@ -8886,6 +8930,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Gardar capa"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9334,6 +9381,9 @@ msgstr "Retirar a foto da capa"
 msgid "Delete File from disk"
 msgstr "Eliminar o ficheiro do disco"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Seguinte"
 
@@ -12823,6 +12873,9 @@ msgstr "Falta un atributo requirido «{0}»."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Valor numerico longo para o atributo «{0}». Obtívose «{1}»."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Preparar os datos de OSM..."
 
@@ -13011,7 +13064,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -13023,7 +13076,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -14021,9 +14074,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -15295,6 +15345,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Moedas"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Tarxeta de recarga e moedeitos electrónicos"
 
@@ -16117,6 +16171,9 @@ msgstr "Cruce de bicicletas"
 msgid "Cross on horseback"
 msgstr "Cruce de cabalos"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Deter"
 
@@ -16174,6 +16231,18 @@ msgstr "Nombre alternativo"
 msgid "Speed Camera"
 msgstr "Rádar de tráfico"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17619,6 +17688,9 @@ msgstr "Zona de picnic"
 msgid "Fireplace"
 msgstr "Cheminea"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -18224,6 +18296,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Deportes"
 
@@ -20094,9 +20172,6 @@ msgstr "xoguetes"
 msgid "vouchers"
 msgstr "Bonos"
 
-msgid "Note"
-msgstr "Nota"
-
 msgid "Geography"
 msgstr "Xeografía"
 
@@ -20480,9 +20555,6 @@ msgstr ""
 msgid "House number"
 msgstr "Número de casa"
 
-msgid "House name"
-msgstr "Nome da casa"
-
 msgid "Street name"
 msgstr "Nome da rúa"
 
@@ -20495,8 +20567,8 @@ msgstr "Nome da cidade"
 msgid "Country code"
 msgstr "Código do país"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Nome da casa"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21167,6 +21239,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21301,6 +21380,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21546,6 +21628,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21903,6 +21988,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21921,6 +22009,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21957,6 +22051,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21995,6 +22092,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -22016,9 +22116,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -22053,6 +22161,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -23248,6 +23359,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nome da Calle:"
 
@@ -26290,7 +26407,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26951,6 +27070,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26990,6 +27112,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27482,7 +27610,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/he.po b/i18n/po/he.po
index ced894c..a6f600c 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:51+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:57+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: he\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3739,6 +3739,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3945,19 +3948,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4495,10 +4499,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4753,6 +4782,21 @@ msgstr "השכבה אינה ברשימה."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "שם משתמש"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6101,6 +6145,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "סוג עצם:"
 
@@ -7084,9 +7134,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7869,9 +7916,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "שם משתמש"
-
 msgid "Password"
 msgstr "סיסמא"
 
@@ -8551,6 +8595,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "שמור שכבה"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9003,6 +9050,9 @@ msgstr "הסר תמונה משכבה"
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "הבאה"
 
@@ -12391,6 +12441,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "מכין נתוני OSM..."
 
@@ -12571,7 +12624,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12583,7 +12636,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13543,9 +13596,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14783,6 +14833,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15605,6 +15659,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "עצור"
 
@@ -15662,6 +15719,18 @@ msgstr "שם שני"
 msgid "Speed Camera"
 msgstr "מצלמת מהירות"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17106,6 +17175,9 @@ msgstr "אתר פיקניק"
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17711,6 +17783,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19581,9 +19659,6 @@ msgstr "צעצועים"
 msgid "vouchers"
 msgstr "שוברים"
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19967,9 +20042,6 @@ msgstr ""
 msgid "House number"
 msgstr "מספר בית"
 
-msgid "House name"
-msgstr "שם בית"
-
 msgid "Street name"
 msgstr "שם רחוב"
 
@@ -19982,8 +20054,8 @@ msgstr "שם עיר"
 msgid "Country code"
 msgstr "קוד מדינה"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "שם בית"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20654,6 +20726,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20788,6 +20867,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21033,6 +21115,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21390,6 +21475,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21408,6 +21496,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21444,6 +21538,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21482,6 +21579,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21503,9 +21603,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21540,6 +21648,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22734,6 +22845,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25755,7 +25872,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26416,6 +26535,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26455,6 +26577,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26945,7 +27073,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/hi.po b/i18n/po/hi.po
index 9f7e0a9..584dbb9 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:51+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:58+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: hi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/hr.po b/i18n/po/hr.po
index 2a23ecc..3028b91 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-03-05 18:14+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: 2014-12-10 05:10+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:22+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: hr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3844,6 +3844,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4050,19 +4053,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4599,10 +4603,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4857,6 +4886,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Korisničko ime"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Klikni za poništenje trenutne operacije"
 
@@ -6201,6 +6245,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Tip objekta:"
 
@@ -7187,9 +7237,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7983,9 +8030,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Korisničko ime"
-
 msgid "Password"
 msgstr "Lozinka"
 
@@ -8677,6 +8721,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Snimi sloj"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9127,6 +9174,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12507,6 +12557,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12687,7 +12740,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12699,7 +12752,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13659,9 +13712,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14897,6 +14947,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15719,6 +15773,9 @@ msgstr "Prolaz za bisikliste"
 msgid "Cross on horseback"
 msgstr "Prolaz za jahače konja"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -15776,6 +15833,18 @@ msgstr "Drugo ime"
 msgid "Speed Camera"
 msgstr "Kamera za mjerenje brzine"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17220,6 +17289,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17825,6 +17897,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19695,9 +19773,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -20081,9 +20156,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -20096,7 +20168,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20768,6 +20840,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20902,6 +20981,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21147,6 +21229,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21504,6 +21589,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21522,6 +21610,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21558,6 +21652,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21596,6 +21693,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21617,9 +21717,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21654,6 +21762,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22848,6 +22959,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25869,7 +25986,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26530,6 +26649,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26569,6 +26691,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27059,7 +27187,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ht.po b/i18n/po/ht.po
index 89a25ef..a628d13 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:50+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:56+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/hu.po b/i18n/po/hu.po
index b7ed1c8..8d3e243 100644
--- a/i18n/po/hu.po
+++ b/i18n/po/hu.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-11-24 03:36+0000\n"
 "Last-Translator: HVGY <Unknown>\n"
 "Language-Team: Hungarian <kde-l10n-hu at kde.org>\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: 2014-12-10 04:52+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:59+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: hu\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4066,6 +4066,9 @@ msgstr "Internet címkék"
 msgid "Checks for errors in internet-related tags."
 msgstr "Internet címkékkel kapcsolatos hibák keresése"
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4285,20 +4288,21 @@ msgstr "Kapcsolat típusa ismeretlen"
 msgid "Relation is empty"
 msgstr "Üres kapcsolat"
 
-msgid "<empty>"
-msgstr "<üres>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "{0} szerep ismeretlen"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Üres szerep"
+msgid "<empty>"
+msgstr "<üres>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "A(z) ''{0}'' szerep tagja nem illeszkedik erre: ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "tag a(z) {0} szerephez rossz típusú"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Hiányzó {0} szerep"
@@ -4846,11 +4850,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "Java rendszerbeállítások által nyújtott kapcsolók"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/ÚTVONAL/A/JOSM/KÖNYVTÁRHOZ/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "A felhasználói beállítások könyvtárának módosítása"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5125,6 +5154,21 @@ msgstr "A réteg nincs a listában."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "\"{0}\" réteg a rétegek listájában kell legyen"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Felhasználónév"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Kattintson ide a jelenlegi művelet megszakításához"
 
@@ -6580,6 +6624,12 @@ msgstr "Újra megnyitás"
 msgid "Reopen note with message:"
 msgstr "Jegyzet újranyitása üzenettel:"
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Rendezés"
+
 msgid "Object type:"
 msgstr "Objektum típus:"
 
@@ -7659,9 +7709,6 @@ msgstr "A kijelölt kapcsolattagoknak megfelelő objektumok kiválasztása"
 msgid "Sort the relation members"
 msgstr "Kapcsolattagok rendezése"
 
-msgid "Sort"
-msgstr "Rendezés"
-
 msgid "Relation Editor: Sort"
 msgstr "Kapcsolatszerkesztő: rendezés"
 
@@ -8547,9 +8594,6 @@ msgstr "Kiszolgáló hitelesítési adatok megadása"
 msgid "Enter credentials for HTTP proxy"
 msgstr "HTTP Proxy hitelesítési adatok megadása"
 
-msgid "Username"
-msgstr "Felhasználónév"
-
 msgid "Password"
 msgstr "Jelszó"
 
@@ -9336,6 +9380,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Réteg mentése"
 
+msgid "Note"
+msgstr "Megjegyzés"
+
 msgid "Notes layer"
 msgstr "Jegyzetek réteg"
 
@@ -9808,6 +9855,9 @@ msgstr "Fénykép eltávolítása a rétegről"
 msgid "Delete File from disk"
 msgstr "Fájl törlése a lemezről"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Következő"
 
@@ -13588,6 +13638,9 @@ msgstr "Hiányzó kötelező leíró ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Helytelen hosszúszám érték a(z) ''{0}'' leíróban. Kapott: ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "OSM adatok előkészítése…"
 
@@ -13778,8 +13831,8 @@ msgstr "Olvasási protokollverzió"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "Nem indul el a távvezérlő szerver a(z) {0} porton: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Távirányító::Kapcsolatok fogadása a(z) {0} porton"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "Távirányító::Szerver megállítva."
@@ -13790,8 +13843,8 @@ msgstr "A távirányító https szerver nem indítható el a(z) {0} porton: {1}"
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Nem sikerül inicializálni a Távirányító HTTPS szervert"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "Távirányító::Biztonságos kapcsolatok fogadása a(z) {0} porton"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Távirányító::Szerver (https) megállítva."
@@ -14990,9 +15043,6 @@ msgstr ""
 "<html><p> Sajnálom, de nem lehetséges címkéket beilleszteni a vágólapról, "
 "mert az nem tartalmaz JOSM objektumot vagy  alkalmas szöveget. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Érvénytelen bz2 fájl."
-
 msgid "ms"
 msgstr "ms"
 
@@ -16376,6 +16426,10 @@ msgstr "tenisz"
 msgid "Coins"
 msgstr "Érmék"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektronikus vásárlás és feltöltőkártya"
 
@@ -17207,6 +17261,9 @@ msgstr "Átkelés kerékpárral"
 msgid "Cross on horseback"
 msgstr "Átkelés lóháton"
 
+msgid "Optional values for specific countries"
+msgstr "Opcionális értékek az adott országokhoz"
+
 msgid "Stop"
 msgstr "Stoptábla"
 
@@ -17264,6 +17321,18 @@ msgstr "Alternatív név"
 msgid "Speed Camera"
 msgstr "Traffipax"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Felvonó"
 
@@ -18718,6 +18787,9 @@ msgstr "Piknikezőhely"
 msgid "Fireplace"
 msgstr "Tűzrakóhely"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Nyilvános grillezőhely"
 
@@ -19325,6 +19397,12 @@ msgstr "szivattyús"
 msgid "Count"
 msgstr "Darabszám"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sportok"
 
@@ -21199,9 +21277,6 @@ msgstr "játék"
 msgid "vouchers"
 msgstr "utalványok"
 
-msgid "Note"
-msgstr "Megjegyzés"
-
 msgid "Geography"
 msgstr "Földrajz"
 
@@ -21587,9 +21662,6 @@ msgstr "Közismert név rövidítés"
 msgid "House number"
 msgstr "Házszám"
 
-msgid "House name"
-msgstr "Háznév"
-
 msgid "Street name"
 msgstr "Utcanév"
 
@@ -21602,8 +21674,8 @@ msgstr "Városnév"
 msgid "Country code"
 msgstr "Országkód"
 
-msgid "Optional values for specific countries"
-msgstr "Opcionális értékek az adott országokhoz"
+msgid "House name"
+msgstr "Háznév"
 
 msgid "Subdistrict"
 msgstr "Alkörzet"
@@ -22274,6 +22346,13 @@ msgstr "VoGIS: DGM (Domborzati modell)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DGM (Felületi modell)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -22410,6 +22489,9 @@ msgstr "OpenStreetMap (Szorb nyelvű)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22657,6 +22739,9 @@ msgstr "GRAFCAN Express - Canary Islands"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -23014,6 +23099,9 @@ msgstr "{0} {1} vagy {2} nélkül"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} {1}, {2} vagy {3} nélkül"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} gyanús objektumon"
 
@@ -23032,6 +23120,12 @@ msgstr "sport fizikai tulajdonság nélkül"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} azon a ponton kellene legyen ahol {1} és {2} kereszteződnek"
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} elavult"
 
@@ -23073,6 +23167,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "a(z) {0}-t {1}-el kellene cserélni"
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23113,6 +23210,9 @@ msgstr "Különböző természeti területek átfednek"
 msgid "Overlapping Identical Landuses"
 msgstr "Különböző területhasználatok átfednek"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "rövidített utca név"
 
@@ -23134,9 +23234,17 @@ msgstr "ideiglenes közút típus"
 msgid "street name contains ss"
 msgstr "az utcanév ss-t tartalmaz"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0}, töbszörös értékekkel"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "numerikus kulcs"
 
@@ -23176,6 +23284,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr "a(z) {0}-nak szám értéket kell adni"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "kapcsolat típus nélkül"
 
@@ -24395,6 +24506,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr "pontok egyesítése"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Utca:"
 
@@ -27435,7 +27552,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -28100,6 +28219,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -28139,6 +28261,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -28635,7 +28763,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/hy.po b/i18n/po/hy.po
index e2cabe9..9780f63 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:34+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:35+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: hy\n"
 
 msgid "Cancel"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ia.po b/i18n/po/ia.po
index a4378e3..fc427b7 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:53+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:01+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ia\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/id.po b/i18n/po/id.po
index bcff9e1..94a2caa 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-10-16 10:41+0000\n"
 "Last-Translator: Trisno Pamuji <tri.snowman 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: 2014-12-10 04:54+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:02+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: id\n"
 "X-Language: id_ID\n"
 
@@ -3990,6 +3990,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4203,20 +4206,21 @@ msgstr "Jenis hubungan tidak diketahui"
 msgid "Relation is empty"
 msgstr "Hubungan kosong"
 
-msgid "<empty>"
-msgstr "<kosong>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Peran {0} tidak diketahui"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "peran kosong ditemukan"
+msgid "<empty>"
+msgstr "<kosong>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Anggota untuk peran {0} jenis yang salah"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Peran {0} menghilang"
@@ -4763,11 +4767,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "Pilihan disediakan sebagai sistem properti Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Ubah folder untuk aturan semua pengguna"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5030,6 +5059,21 @@ msgstr "Layer tidak terdapat dalam daftar"
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Layer ''{0}'' berada dalam daftar layers"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Username"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Klikuntuk membatalkan operasi saat ini"
 
@@ -6437,6 +6481,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "sortir"
+
 msgid "Object type:"
 msgstr "Tipe objek:"
 
@@ -7485,9 +7535,6 @@ msgstr "memilih objek yang dipilih  relasi member"
 msgid "Sort the relation members"
 msgstr "sortir relasi member"
 
-msgid "Sort"
-msgstr "sortir"
-
 msgid "Relation Editor: Sort"
 msgstr "Menyusun relasi:sortir"
 
@@ -8356,9 +8403,6 @@ msgstr "Masukkan tanda pengenal untuk host"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Masukkan tanda pengenal untuk proxy HTTP"
 
-msgid "Username"
-msgstr "Username"
-
 msgid "Password"
 msgstr "Kata sandi"
 
@@ -9101,6 +9145,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Simpan Layer"
 
+msgid "Note"
+msgstr "Catatan"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9567,6 +9614,9 @@ msgstr "Hapus Foto dari layer"
 msgid "Delete File from disk"
 msgstr "Hapis filedari disk"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Berikutnya"
 
@@ -13272,6 +13322,9 @@ msgstr "Atribut yang dibutuhkan hilang ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "nilai atribut yang panjang ilegal '' {0}''. Memiliki'' {1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Menyiapkan data OSM..."
 
@@ -13458,8 +13511,8 @@ msgstr "membaca versi protokol"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "RemoteControl::Menerima koneksi dalam port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "Kendali Jarak jauh::Server berhenti."
@@ -13470,7 +13523,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -14564,9 +14617,6 @@ msgstr ""
 "<html><p> Maaf, itu tidak mungkin untuk menyisipkan tag dari penyangga. Ini "
 "tidak ada dalam objek JOSM atau teks yang sesuai. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Berkas tidak valid bz2."
-
 msgid "ms"
 msgstr ""
 
@@ -15912,6 +15962,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Koin"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Electronic purses and Charge cards"
 
@@ -16743,6 +16797,9 @@ msgstr "Menyebrang dengan sepeda"
 msgid "Cross on horseback"
 msgstr "Penyeberang dan horseback"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Berhenti"
 
@@ -16800,6 +16857,18 @@ msgstr "Nama Kedua"
 msgid "Speed Camera"
 msgstr "Kecepatan Kamera"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -18244,6 +18313,9 @@ msgstr "Situs Piknik"
 msgid "Fireplace"
 msgstr "Perapian"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Tempat Pembakaran Umum"
 
@@ -18849,6 +18921,12 @@ msgstr "Penyedotan"
 msgid "Count"
 msgstr "Jumlah"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Olahraga"
 
@@ -20719,9 +20797,6 @@ msgstr "mainan"
 msgid "vouchers"
 msgstr "voucher"
 
-msgid "Note"
-msgstr "Catatan"
-
 msgid "Geography"
 msgstr "Geografi"
 
@@ -21105,9 +21180,6 @@ msgstr ""
 msgid "House number"
 msgstr "Nomor Rumah"
 
-msgid "House name"
-msgstr "Nama Rumah"
-
 msgid "Street name"
 msgstr "Nama Jalan"
 
@@ -21120,8 +21192,8 @@ msgstr "Nama Kota"
 msgid "Country code"
 msgstr "Kode Negara"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Nama Rumah"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21794,6 +21866,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21928,6 +22007,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -22173,6 +22255,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -22530,6 +22615,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -22548,6 +22636,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -22584,6 +22678,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -22622,6 +22719,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "mempersingkat nama jalan"
 
@@ -22643,9 +22743,17 @@ msgstr "jenis jalan raya yang temporer"
 msgid "street name contains ss"
 msgstr "nama jalan berisi ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -22680,6 +22788,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relasi tanpa tipe"
 
@@ -23984,6 +24095,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nama Jalan:"
 
@@ -27209,7 +27326,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -27877,6 +27996,9 @@ msgstr "Rekonstruksi poligon hanya dapat dilakukan dari way/garis terluar"
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Merekonstruksi poligon dari relasi {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Buka relasi halaman wiki"
 
@@ -27916,6 +28038,12 @@ msgstr "Node/titik tanpa peran \"label\" atau \"admin_centre\" ditemukan"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Way/garis tanpa peran \"inner\" atau \"outer\" ditemukan"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Kembalikan changeset semuanya"
 
@@ -28446,8 +28574,8 @@ msgstr "Menambahkan relasi associatedStreet yang telah ada"
 msgid "create an associatedStreet relation"
 msgstr "Buat relasi associatedStreet"
 
-msgid "delete outline way"
-msgstr "Hapus outline way/garis"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nama jalan: "
diff --git a/i18n/po/is.po b/i18n/po/is.po
index f81ea94..31c1fd1 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-03-30 13:49+0000\n"
 "Last-Translator: Pjetur G. Hjaltason <pjetur at pjetur.net>\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: 2014-12-10 04:53+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:00+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: is\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3743,6 +3743,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3949,19 +3952,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4497,10 +4501,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4757,6 +4786,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Notandanafn"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Smelltu til að hætta við aðgerðina"
 
@@ -6097,6 +6141,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Raða"
+
 msgid "Object type:"
 msgstr ""
 
@@ -7083,9 +7133,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Raða stöknum"
 
-msgid "Sort"
-msgstr "Raða"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7876,9 +7923,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Notandanafn"
-
 msgid "Password"
 msgstr "Lykilorð"
 
@@ -8562,6 +8606,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr "Athugasemd"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9008,6 +9055,9 @@ msgstr "Fjarlægja myndina úr laginu"
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Næsta"
 
@@ -12400,6 +12450,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Undirbý OSM gögn..."
 
@@ -12581,7 +12634,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12593,7 +12646,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13556,9 +13609,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14795,6 +14845,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Mynt"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15617,6 +15671,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15674,6 +15731,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr "Hraðamyndavél"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17118,6 +17187,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr "Eldstæði"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17723,6 +17795,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Íþróttir"
 
@@ -19593,9 +19671,6 @@ msgstr "dót"
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr "Athugasemd"
-
 msgid "Geography"
 msgstr "Landafræði"
 
@@ -19979,9 +20054,6 @@ msgstr ""
 msgid "House number"
 msgstr "Húsnúmer"
 
-msgid "House name"
-msgstr "Nafn húss"
-
 msgid "Street name"
 msgstr "Nafn götu"
 
@@ -19994,8 +20066,8 @@ msgstr "Nafn bæjar"
 msgid "Country code"
 msgstr "Landskóði"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Nafn húss"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20666,6 +20738,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20800,6 +20879,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21045,6 +21127,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21402,6 +21487,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21420,6 +21508,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21456,6 +21550,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21494,6 +21591,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21515,9 +21615,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21552,6 +21660,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22746,6 +22857,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25763,7 +25880,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26424,6 +26543,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26463,6 +26585,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26953,7 +27081,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/it.po b/i18n/po/it.po
index 7567350..49f0846 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-11-24 21:33+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: 2014-12-10 04:55+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:04+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: it\n"
 "X-Language: it_IT\n"
 "X-Source-Language: en\n"
@@ -4159,6 +4159,9 @@ msgstr "Etichette Internet"
 msgid "Checks for errors in internet-related tags."
 msgstr "Verificare per errori legati alle etichette internet."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4385,20 +4388,21 @@ msgstr "Tipo di relazione sconosciuto"
 msgid "Relation is empty"
 msgstr "Relazione vuota"
 
-msgid "<empty>"
-msgstr "<vuoto>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Ruolo {0} sconosciuto"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Trovato ruolo vuoto"
+msgid "<empty>"
+msgstr "<vuoto>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Il membro per il ruolo ''{0}'' non corrisponde a ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Membro per ruolo {0} di tipo errato"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Ruolo {0} mancante"
@@ -4962,11 +4966,36 @@ msgstr "Disabilita accesso alle risorse specificate, separate da virgola"
 msgid "options provided as Java system properties"
 msgstr "opzioni fornite come proprietà di sistema Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PERCORSO/DELLA/CARTELLA/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Cambia la cartella per tutte le impostazioni utente"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5247,6 +5276,21 @@ msgstr "livello non in lista."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Il livello ''{0}'' deve essere contenuto in una lista di livelli"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nome utente"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Clicca per annullare l''operazione corrente"
 
@@ -6752,6 +6796,12 @@ msgstr "Riaprire"
 msgid "Reopen note with message:"
 msgstr "Riapri nota con un messaggio"
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Ordina"
+
 msgid "Object type:"
 msgstr "Tipo oggetto:"
 
@@ -7867,9 +7917,6 @@ msgstr "Seleziona gli oggetti per i membri della relazione selezionati"
 msgid "Sort the relation members"
 msgstr "Ordina i membri della relazione"
 
-msgid "Sort"
-msgstr "Ordina"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor delle relazioni: Ordina"
 
@@ -8772,9 +8819,6 @@ msgstr "Inserire le credenziali per la macchina"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Immettere le credenziali per il proxy HHTP"
 
-msgid "Username"
-msgstr "Nome utente"
-
 msgid "Password"
 msgstr "Password"
 
@@ -9592,6 +9636,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Salva livello"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Notes layer"
 msgstr "Livello note"
 
@@ -10069,6 +10116,9 @@ msgstr "Rimuovi la fotografia dal livello"
 msgid "Delete File from disk"
 msgstr "Elimina il file dal disco"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Successivo"
 
@@ -13985,6 +14035,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "Valore lungo non valido per l''attributo ''''{0}''''. Ottenuto ''''{1}''''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Preparazione dati OSM..."
 
@@ -14177,8 +14230,8 @@ msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 "Impossibile avviare il server del controllo remoto sulla porta {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Controllo remoto::Accettazione connessioni sulla porta {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "Controllo remoto::Server fermato."
@@ -14190,8 +14243,8 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Impossibile inizializzare il server HTTPS del Controllo Remoto"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "Controllo remoto::Accettazione connessioni sicure sulla porta {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Controllo remoto::Server (https) arrestato."
@@ -15426,9 +15479,6 @@ msgstr ""
 "<html><p> Spiacenti, non è possibile incollare le etichette dal buffer. Non "
 "contiene alcun oggetto JOSM o testo adatto. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "File bz2 non valido."
-
 msgid "ms"
 msgstr "ms"
 
@@ -16825,6 +16875,10 @@ msgstr "tennis"
 msgid "Coins"
 msgstr "Monete"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Portafogli elettronici e carte di debito"
 
@@ -17663,6 +17717,9 @@ msgstr "Attraversamento ciclabile"
 msgid "Cross on horseback"
 msgstr "Attraversamento a cavallo"
 
+msgid "Optional values for specific countries"
+msgstr "Valori opzionali specifici per alcuni paesi"
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17720,6 +17777,18 @@ msgstr "Secondo nome"
 msgid "Speed Camera"
 msgstr "Autovelox"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Ascensore"
 
@@ -19174,6 +19243,9 @@ msgstr "Area picnic"
 msgid "Fireplace"
 msgstr "Caminetto"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Griglia pubblica"
 
@@ -19779,6 +19851,12 @@ msgstr "portata"
 msgid "Count"
 msgstr "Numero di idranti"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sport"
 
@@ -21652,9 +21730,6 @@ msgstr "giocattoli"
 msgid "vouchers"
 msgstr "buoni"
 
-msgid "Note"
-msgstr "Nota"
-
 msgid "Geography"
 msgstr "Geografia"
 
@@ -22051,9 +22126,6 @@ msgstr "Abbreviazione comune del nome"
 msgid "House number"
 msgstr "Numero civico"
 
-msgid "House name"
-msgstr "Nome edificio"
-
 msgid "Street name"
 msgstr "Nome Strada"
 
@@ -22066,8 +22138,8 @@ msgstr "Nome città"
 msgid "Country code"
 msgstr "Codice nazione"
 
-msgid "Optional values for specific countries"
-msgstr "Valori opzionali specifici per alcuni paesi"
+msgid "House name"
+msgstr "Nome edificio"
 
 msgid "Subdistrict"
 msgstr "Sottodistretto"
@@ -22738,6 +22810,13 @@ msgstr "VoGIS: DGM (modello del terreno)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (modello superficie)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mappa dei Settori Urbani"
 
@@ -22873,6 +22952,9 @@ msgstr "OpenStreetMap (Lingue Sorabe)"
 msgid "Hamburg (40 cm)"
 msgstr "Amburgo (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Amburgo (DK5)"
 
@@ -23120,6 +23202,9 @@ msgstr "GRAFCAN Express - Canary Islands"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -23477,6 +23562,9 @@ msgstr "{0} senza {1} o {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} senza {1}, {2} o {3}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} su oggetto sospetto"
 
@@ -23495,6 +23583,12 @@ msgstr "sport senza caratteristica fisica"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} dovrebbe essere sul nodo dove {1} e {2} si incontrano"
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} è deprecato"
 
@@ -23540,6 +23634,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "{0} dovrebbe essere sostituito da {1}"
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23580,6 +23677,9 @@ msgstr "Aree naturali identiche sovrapposte"
 msgid "Overlapping Identical Landuses"
 msgstr "Utilizzi del terreno identici sovrapposti"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nome abbreviato della strada"
 
@@ -23601,9 +23701,17 @@ msgstr "strada di tipo temporaneo"
 msgid "street name contains ss"
 msgstr "nome di strada contenente ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0} con valori multipli"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "tasto numerico"
 
@@ -23643,6 +23751,9 @@ msgstr "pendenza inusuale; utilizzare percentule/gradi oppure up/down"
 msgid "{0} must be a numeric value"
 msgstr "{0} deve essere un valore numerico"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relazione senza tipo"
 
@@ -25005,6 +25116,12 @@ msgstr "Unione dei nodi con quelli vicini"
 msgid "merge nodes"
 msgstr "unione nodi"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nome della strada:"
 
@@ -28309,9 +28426,10 @@ msgstr "Regola foto"
 msgid "Move and position photos"
 msgstr "Sposta e posiziona foto"
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
-"Cliccare e trascinare la foto oppure shift+click per posizionare la foto."
 
 msgid "Please load some photos."
 msgstr "Si prega di caricare alcune foto."
@@ -28994,6 +29112,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Ricostruisci poligoni dalla relazione {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Apri la pagina di aiuto sulle relazioni"
 
@@ -29033,6 +29154,12 @@ msgstr "Trovato nodo senza il ruolo ''label'' o ''admin_centre''"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Trovato percorso senza il ruolo ''inner'' o ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Ripristinare completamente il gruppo di modifiche"
 
@@ -29573,8 +29700,8 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr "crea una relazione strada associata (associated street)"
 
-msgid "delete outline way"
-msgstr "elimina il percorso di contorno"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nome della strada: "
diff --git a/i18n/po/ja.po b/i18n/po/ja.po
index e312b29..7945d59 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-12-04 18:08+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: 2014-12-10 04:56+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:05+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "X-Poedit-Country: JAPAN\n"
 "Language: ja\n"
 "X-Poedit-Language: Japanese\n"
@@ -3767,6 +3767,9 @@ msgstr "インターネットタグ"
 msgid "Checks for errors in internet-related tags."
 msgstr "インターネットに関するタグのエラーをチェックします。"
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -3974,20 +3977,21 @@ msgstr "リレーション種別が不明です"
 msgid "Relation is empty"
 msgstr "リレーションは空です"
 
-msgid "<empty>"
-msgstr "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "ロール {0} は不明です"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "空のロールが見つかりました"
+msgid "<empty>"
+msgstr "<empty>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "ロール''{0}''のメンバーに''{1}''は一致しません"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "誤った種別のロール{0}のメンバーがあります"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "ロール{0} がありません"
@@ -4521,11 +4525,36 @@ msgstr "指定されたリソースへのアクセスを無効化、コンマ区
 msgid "options provided as Java system properties"
 msgstr "Javaシステムのプロパティとして提供されるオプション"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "全てのユーザー設定用フォルダを変更"
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -4783,6 +4812,21 @@ msgstr "レイヤーがリストにありません。"
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "レイヤー ''{0}'' はレイヤーのリスト中になければなりません"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "ユーザー名"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "クリックして現在の操作をキャンセル"
 
@@ -6152,6 +6196,12 @@ msgstr "再開"
 msgid "Reopen note with message:"
 msgstr "メッセージを付けてメモを再開:"
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "並べ替え"
+
 msgid "Object type:"
 msgstr "オブジェクト種別:"
 
@@ -7145,9 +7195,6 @@ msgstr "選択中のリレーションメンバーのオブジェクトを選択
 msgid "Sort the relation members"
 msgstr "リレーションメンバーをソート"
 
-msgid "Sort"
-msgstr "並べ替え"
-
 msgid "Relation Editor: Sort"
 msgstr "リレーション編集画面: 並べ替え"
 
@@ -7969,9 +8016,6 @@ msgstr "ホストの証明書を入力してください"
 msgid "Enter credentials for HTTP proxy"
 msgstr "HTTPプロキシの証明書"
 
-msgid "Username"
-msgstr "ユーザー名"
-
 msgid "Password"
 msgstr "パスワード"
 
@@ -8670,6 +8714,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "レイヤーを保存"
 
+msgid "Note"
+msgstr "備考"
+
 msgid "Notes layer"
 msgstr "メモレイヤー"
 
@@ -9124,6 +9171,9 @@ msgstr "レイヤーから写真を削除しますか?"
 msgid "Delete File from disk"
 msgstr "ディスクからファイルを削除"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "次へ"
 
@@ -12611,6 +12661,9 @@ msgstr "必要な属性 ''{0}'' がありません。"
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "属性 ''{0}'' に不正な長い値。入力値: ''{1}''"
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "OSMデータを準備します..."
 
@@ -12793,8 +12846,8 @@ msgstr "プロトコルバージョンの読み取り"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "リモート制御サーバーがポート{0}で開始できません。{1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "リモートコントロール::ポート{0}で接続を受け付けています"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "リモートコントロール::サーバーが停止しました。"
@@ -12805,8 +12858,8 @@ msgstr "リモート制御のhttpsサーバーをポート{0}で開始できま
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "リモート制御用HTTPSサーバーを初期化できませんでした"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "リモート制御::暗号化コネクションをポート{0}で受け付けています"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "リモート制御::サーバー(https)が停止しました。"
@@ -13824,9 +13877,6 @@ msgstr ""
 "<html><p>恐れ入りますが、バッファからタグを貼り付けることができません。JOSMオブジェクトが含まれていないか、合う文字列がありません。</p><"
 "/html>"
 
-msgid "Invalid bz2 file."
-msgstr "不正なbz2 ファイル。"
-
 msgid "ms"
 msgstr "ミリ秒"
 
@@ -15099,6 +15149,10 @@ msgstr "テニス"
 msgid "Coins"
 msgstr "硬貨"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "電子マネー"
 
@@ -15921,6 +15975,9 @@ msgstr "自転車横断帯"
 msgid "Cross on horseback"
 msgstr "馬用横断帯"
 
+msgid "Optional values for specific countries"
+msgstr "国によって使用する値"
+
 msgid "Stop"
 msgstr "停止"
 
@@ -15978,6 +16035,18 @@ msgstr "二つ目の名前"
 msgid "Speed Camera"
 msgstr "スピードカメラ(オービス)"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "エレベーター"
 
@@ -17424,6 +17493,9 @@ msgstr "ピクニック場"
 msgid "Fireplace"
 msgstr "野外炉"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "バーベキュー場"
 
@@ -18029,6 +18101,12 @@ msgstr "吸い上げ"
 msgid "Count"
 msgstr "本数"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "スポーツ"
 
@@ -19899,9 +19977,6 @@ msgstr "おもちゃ"
 msgid "vouchers"
 msgstr "商品券"
 
-msgid "Note"
-msgstr "備考"
-
 msgid "Geography"
 msgstr "地理"
 
@@ -20286,9 +20361,6 @@ msgstr "略号"
 msgid "House number"
 msgstr "住居番号"
 
-msgid "House name"
-msgstr "建物名"
-
 msgid "Street name"
 msgstr "町名/通り名"
 
@@ -20301,8 +20373,8 @@ msgstr "市町村名"
 msgid "Country code"
 msgstr "国コード"
 
-msgid "Optional values for specific countries"
-msgstr "国によって使用する値"
+msgid "House name"
+msgstr "建物名"
 
 msgid "Subdistrict"
 msgstr "Subdistrict"
@@ -20973,6 +21045,13 @@ msgstr "VoGIS: DGM (Terrain model)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Surface model)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -21109,6 +21188,9 @@ msgstr "OpenStreetMap (Sorbian Language)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -21356,6 +21438,9 @@ msgstr "GRAFCAN Express - Canary Islands"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -21713,6 +21798,9 @@ msgstr "{0}があるのに{1}または{2}がない"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{1}や{2}や{3}がない{0}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0}が疑わしいオブジェクト上にある"
 
@@ -21731,6 +21819,12 @@ msgstr "スポーツに物理的な地物が設定されていない"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0}は{1}と{2}が交差するノード上にあるべきです"
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1}は非推奨です"
 
@@ -21767,6 +21861,9 @@ msgstr "{0}={1}は未定義です。「{1}」を具体的な値に置き換え
 msgid "{0} should be replaced with {1}"
 msgstr "{0}は{1}に置き換えるべきです"
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21805,6 +21902,9 @@ msgstr "同じ自然領域が重複している"
 msgid "Overlapping Identical Landuses"
 msgstr "同じ土地利用が重複している"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "通り名が略称になっている"
 
@@ -21826,9 +21926,17 @@ msgstr "道路の種別が未確定"
 msgid "street name contains ss"
 msgstr "ssが含まれている通り名"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0}に複数の値がある"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "テンキー"
 
@@ -21863,6 +21971,9 @@ msgstr "勾配の書式が普通ではない(パーセント/角度またはup/d
 msgid "{0} must be a numeric value"
 msgstr "{0}は数値でなければなりません"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "種別がないリレーション"
 
@@ -23150,6 +23261,12 @@ msgstr "近隣のノードをマージ"
 msgid "merge nodes"
 msgstr "ノードをマージ"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "通り名:"
 
@@ -26256,8 +26373,10 @@ msgstr "写真を位置合わせする"
 msgid "Move and position photos"
 msgstr "移動して写真を配置する"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "写真をクリックしてドラッグ、、Shift+クリックで写真を配置。"
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr "写真をロードしてください。"
@@ -26921,6 +27040,9 @@ msgstr "外部のウェイのみからできたポリゴンを再構築"
 msgid "Reconstruct polygons from relation {0}"
 msgstr "リレーション{0}からポリゴンを再構築"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "リレーションのWikiページを開く"
 
@@ -26960,6 +27082,12 @@ msgstr "ロールが ''label'' または ''admin_centre'' ではないノード
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "ロールが ''inner'' または ''outer'' ではないウェイが見つかりました"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "変更セット全体を戻す"
 
@@ -27460,8 +27588,8 @@ msgstr "既存の通り名住居表示リレーションに追加"
 msgid "create an associatedStreet relation"
 msgstr "通り名住居表示を作成"
 
-msgid "delete outline way"
-msgstr "輪郭のウェイを削除"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "通り名: "
diff --git a/i18n/po/ka.po b/i18n/po/ka.po
index 7cab125..3bbf304 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:47+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:51+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ka\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3729,6 +3729,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3935,19 +3938,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4483,10 +4487,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4741,6 +4770,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6081,6 +6125,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "ობიექტის ტიპი:"
 
@@ -7063,9 +7113,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7847,9 +7894,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8529,6 +8573,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8975,6 +9022,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12355,6 +12405,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12535,7 +12588,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12547,7 +12600,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13507,9 +13560,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14745,6 +14795,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15567,6 +15621,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15624,6 +15681,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17068,6 +17137,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17673,6 +17745,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19543,9 +19621,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19929,9 +20004,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19944,7 +20016,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20616,6 +20688,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20750,6 +20829,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20995,6 +21077,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21352,6 +21437,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21370,6 +21458,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21406,6 +21500,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21444,6 +21541,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21465,9 +21565,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21502,6 +21610,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22696,6 +22807,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25713,7 +25830,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26374,6 +26493,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26413,6 +26535,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26903,7 +27031,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/km.po b/i18n/po/km.po
index 1043cb1..31b2313 100644
--- a/i18n/po/km.po
+++ b/i18n/po/km.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-10 04:29+0000\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-29 04:24+0000\n"
 "Last-Translator: Sophea Sok <sksophea at gmail.com>\n"
 "Language-Team: Khmer <km 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=1; plural=0;\n"
-"X-Launchpad-Export-Date: 2014-12-10 04:56+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:06+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3995,6 +3995,9 @@ msgstr "ស្លាក​អ៊ីនធឺណិត"
 msgid "Checks for errors in internet-related tags."
 msgstr "ពិនិត្យមើល​កំហុស​ក្នុង​ស្លាក​អ៊ីនធឺណិត​ពាក់ព័ន្ធ"
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr " មិន​បម្លែង URL ទៅ ASCII: {0}"
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4156,549 +4159,570 @@ msgid ""
 "This test checks that a connection between two nodes is not used by more "
 "than one way."
 msgstr ""
+"ការ​សាកល្បង​នេះ​ពិនិត្យ​លើ​ការ​តភ្ជាប់​រវាង​តំណ​ពីរ​ដែល​បាន​ប្រើ​ដោយ​ផ្លូវ​ច្"
+"រើន​ជាង​មួយ។"
 
 msgid "Areas share segment"
-msgstr ""
+msgstr "អង្កត់​ចែករំលែក​ផ្ទៃ"
 
 msgid "Highways share segment with area"
-msgstr ""
+msgstr "អង្កត់​ចែករំលែក​ផ្លូវ​ធំ​ជាមួយ​ផ្ទៃ"
 
 msgid "Railways share segment with area"
-msgstr ""
+msgstr "អង្កត់​ចែករំលែក​ផ្លូវ​ដែក​ជាមួយ​ផ្ទៃ"
 
 msgid "Ways share segment with area"
-msgstr ""
+msgstr "អង្កត់​ចែករំលែក​ផ្លូវ​​ជាមួយ​ផ្ទៃ"
 
 msgid "Overlapping highways"
-msgstr ""
+msgstr "ផ្លូវ​ធំ​ត្រួត​គ្នា"
 
 msgid "Overlapping railways"
-msgstr ""
+msgstr "ផ្លូវ​ដែក​ត្រួត​គ្នា"
 
 msgid "Way contains segment twice"
-msgstr ""
+msgstr "ផ្លូវ​ដែល​មាន​កំណាត់​ទ្វេ"
 
 msgid "Power lines"
-msgstr ""
+msgstr "ជួរ​អាទិភាព"
 
 msgid ""
 "Checks for nodes in power lines that do not have a power=tower/pole tag."
 msgstr ""
+"ពិនិត្យមើល​តំណ​នៅ​ក្នុង​ជួរ​អាទិភាព​ដែល​មិន​មាន​​ស្លាក power=tower/pole ។"
 
 msgid "Missing power tower/pole within power line"
-msgstr ""
+msgstr "បាត់​កំពូល/ប៉ូល​ថាមពល​ជាមួយ​ជួរ​អាទិភាព"
 
 msgid "Role verification problem"
-msgstr ""
+msgstr "បញ្ហា​ការ​បញ្ជាក់​តួនាទី"
 
 msgid "Relation checker"
-msgstr ""
+msgstr "កម្មវិធី​ពិនិត្យ​ទំនាក់ទំនង"
 
 msgid "Checks for errors in relations."
-msgstr ""
+msgstr "ពិនិត្យមើល​កំហុស​ក្នុង​ទំនាក់ទំនង"
 
 msgid ""
 "Route scheme is unspecified. Add {0} ({1}=public_transport; {2}=legacy)"
 msgstr ""
+"មិន​បាន​បញ្ជាក់​គ្រោងការណ៍​ផ្លូវ។ បន្ថែម {0} ({1}=public_transport; "
+"{2}=legacy)"
 
 msgid "Relation type is unknown"
-msgstr ""
+msgstr "មិន​ស្គាល់​ប្រភេទ​ទំនាក់ទំនង"
 
 msgid "Relation is empty"
-msgstr ""
+msgstr "ទំនាក់ទំនង​គឺ​ទទេ"
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
-msgstr ""
+msgid "<empty>"
+msgstr "<ទទេ>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
-msgstr ""
+msgstr "បាត់​បញ្ជី {0}"
 
 msgid "Number of {0} roles too low ({1})"
-msgstr ""
+msgstr "ចំនួន​នៃ​បញ្ជី {0} គឺ​ទាប​ពេក ({1})"
 
 msgid "Number of {0} roles too high ({1})"
-msgstr ""
+msgstr "ចំនួន​នៃ​បញ្ជី {0} គឺ​ខ្ពស់​ពេក ({1})"
 
 msgid "Self-intersecting ways"
-msgstr ""
+msgstr "ផ្លូវ​ដែល​ប្រសព្វ​ខ្លួន​ឯង"
 
 msgid ""
 "This test checks for ways that contain some of their nodes more than once."
 msgstr ""
+"ការ​សាកល្បង​នេះ​គឺ​សម្រាប់​ផ្លូវ​ដែល​មាន​ថ្នាំង​របស់​វា​ច្រើន​ជាង​មួយ។"
 
 msgid "Similarly named ways"
-msgstr ""
+msgstr "ផ្លូវ​ដែល​មាន​ឈ្មោះ​ស្រដៀងគ្នា"
 
 msgid ""
 "This test checks for ways with similar names that may have been misspelled."
 msgstr ""
+"ការ​សាកល្បង​នេះ​សម្រាប់​ពិនិត្យមើល​ផ្លូវ​ឈ្មោះ​ស្រដៀងគ្នា​ដែល​អាច​សរសេរ​ខុស។"
 
 msgid "Tag checker"
-msgstr ""
+msgstr "កម្មវិធី​ពិនិត្យ​ស្លាក"
 
 msgid "Adding {0} to ignore tags"
-msgstr ""
+msgstr "ការ​បន្ថែម {0} ទៅ​ស្លាក​មិន​អើពើ"
 
 msgid "Invalid tagchecker line - {0}: {1}"
-msgstr ""
+msgstr "កំហុស​កម្មវិធី​​ពិនិត្យ​ស្លាក ជួរ - {0}: {1}"
 
 msgid "Invalid spellcheck line: {0}"
-msgstr ""
+msgstr "កំហុស​ការ​ពិនិត្យ​អក្ខរាវិរុទ្ធ ជួរ៖ {0}"
 
 msgid "Adding {0} to spellchecker"
-msgstr ""
+msgstr "ការ​បន្ថែម {0} ទៅ​កម្មវិធី​ពិនិត្យ​អក្ខរាវិរុទ្ធ"
 
 msgid ""
 "Could not access data file(s):\n"
 "{0}"
 msgstr ""
+"មិន​អាច​ដំណើរការ​ឯកសារ​ទិន្នន័យ៖\n"
+"{0}"
 
 msgid "Suspicious tag/value combinations"
-msgstr ""
+msgstr "បន្សំ​តម្លៃ/ស្លាក​ដែល​សង្ស័យ"
 
 msgid "Key ''{0}'' invalid."
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ ''{0}'' មិន​ត្រឹមត្រូវ។"
 
 msgid "Tag value contains character with code less than 0x20"
-msgstr ""
+msgstr "តម្លៃ​ស្លាក​មាន​តួអក្សរ​ដែល​មាន​លេខ​កូដ​តិច​ជាង 0x20"
 
 msgid "Tag key contains character with code less than 0x20"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​ស្លាក​មាន​តួអក្សរ​ដែល​មាន​លេខ​កូដ​តិច​ជា 0x20"
 
 msgid "Tag value longer than allowed"
-msgstr ""
+msgstr "តម្លៃ​ស្លាក​វែង​ជាង​តម្លៃ​ដែល​អនុញ្ញាត"
 
 msgid "Tag key longer than allowed"
-msgstr ""
+msgstr "ពាក្យគន្លឹះ​ស្លាក​វែង​ជាង​ការ​អនុញ្ញាត"
 
 msgid "Tags with empty values"
-msgstr ""
+msgstr "ស្លាក​ដែល​មាន​តម្លៃ​ទទេ"
 
 msgid "Invalid property key"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​លក្ខណសម្បត្តិ​មិន​ត្រឹមត្រូវ"
 
 msgid "Invalid white space in property key"
-msgstr ""
+msgstr "ចន្លោះ​ដកឃ្លា​មិន​ត្រឹមត្រូវ​នៅ​ក្នុង​ពាក្យ​គន្លឹះ​លក្ខណសម្បត្តិ"
 
 msgid "Property values start or end with white space"
-msgstr ""
+msgstr "តម្លៃ​លក្ខណសម្បត្តិ​បាន​ចាប់ផ្ដើម ឬ​បញ្ចប់​ដោយ​ចន្លោះ​ដកឃ្លា"
 
 msgid "Property values contain HTML entity"
-msgstr ""
+msgstr "តម្លៃ​លក្ខណសម្បត្តិ​មាន​ធាត HTML"
 
 msgid "Key ''{0}'' not in presets."
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ ''{0}'' គឺ​មិន​នៅ​ក្នុង​ការ​កំណត់​ស្រេច"
 
 msgid "Presets do not contain property key"
-msgstr ""
+msgstr "ការ​កំណត់​ស្រេច​មិន​មាន​ពាក្យ​គន្លឹះ​លក្ខណសម្បត្តិ"
 
 msgid "Value ''{0}'' for key ''{1}'' not in presets."
 msgstr ""
+"តម្លៃ ''{0}'' សម្រាប់​ពាក្យ​គន្លឹះ ''{1}'' មិន​នៅ​ក្នុង​ការ​កំណត់​ស្រេច។"
 
 msgid "Presets do not contain property value"
-msgstr ""
+msgstr "ការ​កំណត់​ស្រេច​មិន​មាន​តម្លៃ​លក្ខណសម្បត្តិ"
 
 msgid "FIXMES"
-msgstr ""
+msgstr "FIXMES"
 
 msgid "Check property keys."
-msgstr ""
+msgstr "ពិនិត្យ​ពាក្យ​គន្លឹះ​លក្ខណសម្បត្តិ។"
 
 msgid "Validate that property keys are valid checking against list of words."
 msgstr ""
+"ការ​ធ្វើឲ្យ​ពាក្យ​គន្លឹះ​មាន​សុពលភាព "
+"គឺជា​ការ​ពនិត្យ​ភាព​ត្រឹមត្រូវ​ទល់នឹង​បញ្ជី​ពាក្យ។"
 
 msgid "Use complex property checker."
-msgstr ""
+msgstr "ប្រើ​កម្មវិធី​ពិនិត្យ​លក្ខណសម្បត្តិ​ស្មុគស្មាញ។"
 
 msgid "Validate property values and tags using complex rules."
 msgstr ""
+"ធ្វើឲ្យ​តម្លៃ និង​ស្លាក​លក្ខណសម្បត្តិ​មាន​សុពលភាព​ដោយ​ប្រើ​ក្បួន​ស្មុគស្មាញ។"
 
 msgid "TagChecker source"
-msgstr ""
+msgstr "ប្រភព​កម្មវិធី​ពិនិត្យ​ស្លាក"
 
 msgid "Data sources ({0})"
-msgstr ""
+msgstr "ប្រភព​ទិន្នន័យ ({0})"
 
 msgid "Check property values."
-msgstr ""
+msgstr "ពិនិត្យ​តម្លៃ​លក្ខណសម្បត្តិ។"
 
 msgid "Validate that property values are valid checking against presets."
 msgstr ""
+"ការ​ធ្វើឲ្យ​ពាក្យ​គន្លឹះ​មាន​សុពលភាព "
+"គឺជា​ការ​ពនិត្យ​ភាព​ត្រឹមត្រូវ​ទល់នឹង​ការ​កំណត់​ស្រេច។"
 
 msgid "Check for FIXMES."
-msgstr ""
+msgstr "ពិនិត្យមើល FIXMES ។"
 
 msgid "Looks for nodes or ways with FIXME in any property value."
-msgstr ""
+msgstr "រកមើល​ផ្លូវ ឬ​តំណ​ដែល​មាន FIXME នៅ​ក្នុង​តម្លៃ​លក្ខណសម្បត្តិ​ណាមួយ។"
 
 msgid "Fix tags"
-msgstr ""
+msgstr "ស្លាក​ថេរ"
 
 msgid "Could not find element type"
-msgstr ""
+msgstr "មិន​អាច​រក​ឃើញ​ប្រភេទ​ធាតុ"
 
 msgid "Incorrect number of parameters"
-msgstr ""
+msgstr "លេខ​ប៉ារ៉ាម៉ែត្រ​មិន​ត្រឹមត្រូវ"
 
 msgid "Could not find warning level"
-msgstr ""
+msgstr "មិន​អាច​រក​ឃើញ​កម្រិត​ព្រមាន"
 
 msgid "Illegal expression ''{0}''"
-msgstr ""
+msgstr "កន្សោម​មិន​ត្រឹមត្រូវ ''{0}''"
 
 msgid "Illegal regular expression ''{0}''"
-msgstr ""
+msgstr "កន្សោម​ធម្មតា​មិន​ត្រឹមត្រូវ ''{0}''"
 
 msgid "Turnrestrictions"
-msgstr ""
+msgstr "ការ​ដាក់​កម្រិត​ការ​បត់"
 
 msgid "This test checks if turnrestrictions are valid."
-msgstr ""
+msgstr "ការ​សាកល្បង​នេះ​ពិនិត្យ​ថា​ការ​ដាក់​កម្រិត​ការ​បត់​ត្រឹមត្រូវ។"
 
 msgid "Unknown role"
-msgstr ""
+msgstr "មិន​ស្គាល់​បញ្ជី"
 
 msgid "Unknown member type"
-msgstr ""
+msgstr "មិន​ស្គាល់​ប្រភេទ​សមាជិក"
 
 msgid "More than one \"from\" way found"
-msgstr ""
+msgstr "បាន​រក​ឃើញ​ផ្លូវ \"មកពី\" ច្រើន​ជាង​មួយ"
 
 msgid "More than one \"to\" way found"
-msgstr ""
+msgstr "បាន​រក​ឃើញ​ផ្លូវ \"ទៅកាន់\" ច្រើន​ជាង​មួយ"
 
 msgid "More than one \"via\" node found"
-msgstr ""
+msgstr "បាន​រក​ឃើញ​តំណ \"កាត់​តាម\" ច្រើន​ជាង​មួយ"
 
 msgid "Cannot mix node and way for role \"via\""
-msgstr ""
+msgstr "មិន​អាច​បញ្ចូល​តំណ និង​ផ្លូវ​សម្រាប់​បញ្ជី \"កាត់​តាម\""
 
 msgid "No \"from\" way found"
-msgstr ""
+msgstr "រក​មិន​ឃើញ​ផ្លូវ \"មកពី\""
 
 msgid "No \"to\" way found"
-msgstr ""
+msgstr "រក​មិន​ឃើញ​ផ្លូវ \"ទៅកាន់\""
 
 msgid "No \"via\" node or way found"
-msgstr ""
+msgstr "រក​មិន​ឃើញ​ផ្លូវ ឬ​តំណ \"កាត់​តាម\""
 
 msgid "The \"from\" way does not start or end at a \"via\" node."
-msgstr ""
+msgstr "ផ្លូវ \"មកពី\" មិន​បញ្ចប់ ឬ​ចាប់ផ្ដើម​នៅ​តំណ \"កាត់តាម\" ។"
 
 msgid "Superfluous turnrestriction as \"to\" way is oneway"
-msgstr ""
+msgstr "ផ្លូវ​ការ​ដាក់​កម្រិត​ការ​បត់​ខ្លាំង \"ទៅកាន់\" ជា​ផ្លូវ​មួយ​ទិស"
 
 msgid "The \"to\" way does not start or end at a \"via\" node."
-msgstr ""
+msgstr "ផ្លូវ \"ទៅកាន់\" មិន​ចាប់ផ្ដើម ឬ​បញ្ចប់​នៅ​តំណ \"កាត់តាម\" ។"
 
 msgid "The \"from\" and the first \"via\" way are not connected."
-msgstr ""
+msgstr "ផ្លូវ \"មកពី\" និង​ផ្លូវ \"កាត់តាម\" ដំបូង​មិន​ត្រូវ​បាន​តភ្ជាប់។"
 
 msgid "The \"via\" ways are not connected."
-msgstr ""
+msgstr "ផ្លូវ \"កាត់តាម\" មិន​ត្រូវ​បាន​តភ្ជាប់។"
 
 msgid "The last \"via\" and the \"to\" way are not connected."
 msgstr ""
+"ផ្លូវ \"កាត់តាម\" ចុងក្រោយ និង​ផ្លូវ \"ទៅកាន់\" មិន​ត្រូវ​បាន​តភ្ជាប់។"
 
 msgid "Unclosed Ways"
-msgstr ""
+msgstr "ផ្លូវ​មិន​បិទ"
 
 msgid "This tests if ways which should be circular are closed."
-msgstr ""
+msgstr "វា​នឹង​សាកល្បង​ថា​តើ​ផ្លូវ​ដែល​គួរតែ​ជា​រង្វង់​គឺ​ត្រូវ​បាន​បិទ។"
 
 msgid "Unclosed way"
-msgstr ""
+msgstr "ផ្លូវ​មិន​បិទ"
 
 msgid "natural type {0}"
-msgstr ""
+msgstr "ប្រភេទ​ធម្មជាតិ {0}"
 
 msgid "landuse type {0}"
-msgstr ""
+msgstr "ប្រភេទ​ដី​ប្រើ {0}"
 
 msgid "amenities type {0}"
-msgstr ""
+msgstr "ប្រភេទ​ឆើតឆាយ {0}"
 
 msgid "sport type {0}"
-msgstr ""
+msgstr "ប្រភេទ​កីឡា {0}"
 
 msgid "tourism type {0}"
-msgstr ""
+msgstr "ប្រភេទ​ទេសចរណ៍ {0}"
 
 msgid "shop type {0}"
-msgstr ""
+msgstr "ប្រភេទ​ហាង {0}"
 
 msgid "leisure type {0}"
-msgstr ""
+msgstr "ប្រភេទ​លំហែកាយ {0}"
 
 msgid "waterway type {0}"
-msgstr ""
+msgstr "ប្រភេទ​ផ្លូវ​ទឹក {0}"
 
 msgid "boundary type {0}"
-msgstr ""
+msgstr "ប្រភេទ​ព្រំដែន {0}"
 
 msgid "building"
-msgstr ""
+msgstr "អគារ"
 
 msgid "area"
-msgstr ""
+msgstr "ផ្ទៃ"
 
 msgid "Unconnected highways"
-msgstr ""
+msgstr "ផ្លូវ​ធំ​ដែល​មិន​តភ្ជាប់"
 
 msgid "Unconnected railways"
-msgstr ""
+msgstr "ផ្លូវ​ដែក​ដែល​មិន​តភ្ជាប់"
 
 msgid "Unconnected waterways"
-msgstr ""
+msgstr "ផ្លូវ​ទឹក​ដែល​មិន​តភ្ជាប់"
 
 msgid "Unconnected natural lands and landuses"
-msgstr ""
+msgstr "ដី​ធម្មជាតិ និង​ដី​ប្រើប្រាស់​ដែល​មិន​តភ្ជាប់"
 
 msgid "Unconnected power ways"
-msgstr ""
+msgstr "ផ្លូវ​អាទិភាព​ដែល​មិន​តភ្ជាប់"
 
 msgid "This test checks if a way has an endpoint very near to another way."
 msgstr ""
+"ការ​សាកល្បង​នេះ​ពិនិត្យ​ថា​តើ​ផ្លូវ​មាន​ចំណុច​ចុង​នៅ​ជិត​ផ្លូវ​ផ្សេងទៀត​ខ្លាំ"
+"ង។"
 
 msgid "Way end node near other highway"
-msgstr ""
+msgstr "តំណ​ចុង​ផ្លូវ​នៅ​ជិត​ផ្លូវ​ធំ​ផ្សេងទៀត"
 
 msgid "Way end node near other way"
-msgstr ""
+msgstr "តំណ​ចុង​ផ្លូវ​នៅ​ជិត​ផ្លូវ​ផ្សេងទៀត"
 
 msgid "Way node near other way"
-msgstr ""
+msgstr "តំណ​ផ្លូវ​នៅ​ជិត​ផ្លូវ​ផ្សេងទៀត"
 
 msgid "Connected way end node near other way"
-msgstr ""
+msgstr "តំណ​ចុង​ផ្លូវ​ដែល​បាន​តភ្ជាប់​នៅ​ជិត​ផ្លូវ​ផ្សេងទៀត"
 
 msgid "Untagged and unconnected nodes"
-msgstr ""
+msgstr "តំណ​ដែល​មិន​បាន​ដាក់​ស្លាក និង​មិន​បាន​តភ្ជាប់"
 
 msgid "This test checks for untagged nodes that are not part of any way."
 msgstr ""
+"វា​នឹង​ពិនិត្យមើល​សម្រាប់​តំណ​គ្មាន​ស្លាក​ដែល​មិនមែន​ជា​ផ្នែក​នៃ​ផ្លូវ​ណាមួយ។"
 
 msgid "Unconnected nodes without physical tags"
-msgstr ""
+msgstr "តំណ​មិន​តភ្ជាប់​ដែល​គ្មាន​ស្លាក"
 
 msgid "No tags"
-msgstr ""
+msgstr "គ្មាន​ស្លាក"
 
 msgid "Has tag containing ''fixme'' or ''FIXME''"
-msgstr ""
+msgstr "មាន​ស្លាក ''fixme'' ឬ ''FIXME''"
 
 msgid "Has key ''note'' or ''comment'' or ''description''"
-msgstr ""
+msgstr "មាន​ពាក្យ​គន្លឹះ ''note'' ឬ ''comment'' ឬ ''description''"
 
 msgid "Has key ''created_by'' or ''converted_by''"
-msgstr ""
+msgstr "មាន​ពាក្យ​គន្លឹះ ''created_by'' ឬ ''converted_by''"
 
 msgid "Has key ''watch''"
-msgstr ""
+msgstr "មាន​ពាក្យ​គន្លឹះ ''watch''"
 
 msgid "Has key ''source''"
-msgstr ""
+msgstr "មាន​ពាក្យ​គន្លឹះ ''source''"
 
 msgid "Untagged, empty and one node ways"
-msgstr ""
+msgstr "ផ្លូវ​តំណ​មួយ និង​ទទេ​ដែល​មិន​បាន​ដាក់​ស្លាក"
 
 msgid "This test checks for untagged, empty and one node ways."
-msgstr ""
+msgstr "វា​នឹង​ពិនិត្យ​សម្រាប់​ផ្លូវ​តំណ​មួយ និង​ទទេ​ដែល​មិន​បាន​ដាក់​ស្លាក"
 
 msgid "Unnamed ways"
-msgstr ""
+msgstr "ផ្លូវ​គ្មាន​ឈ្មោះ"
 
 msgid "Unnamed junction"
-msgstr ""
+msgstr "ចំណុច​ប្រសព្វ​គ្មាន​ឈ្មោះ"
 
 msgid "Untagged ways (commented)"
-msgstr ""
+msgstr "ផ្លូវ​គ្មាន​ស្លាក (បាន​ផ្ដល់​មតិយោបល់)"
 
 msgid "Untagged ways"
-msgstr ""
+msgstr "ផ្លូវ​គ្មាន​ស្លាក"
 
 msgid "Empty ways"
-msgstr ""
+msgstr "ផ្លូវ​ទទេ"
 
 msgid "One node ways"
-msgstr ""
+msgstr "ផ្លូវ​តំណ​មួយ"
 
 msgid "Way connected to Area"
-msgstr ""
+msgstr "ផ្លូវ​ដែល​បាន​តភ្ជាប់​ទៅ​ផ្ទៃ"
 
 msgid "Checks for ways connected to areas."
-msgstr ""
+msgstr "ពិនិត្យមើល​ផ្លូវ​ដែល​បាន​តភ្ជាប់​ទៅ​ផ្ទៃ"
 
 msgid "Way terminates on Area"
-msgstr ""
+msgstr "ផ្លូវ​ដែល​បញ្ចប់​នៅ​លើ​ផ្ទៃ"
 
 msgid "Wrongly Ordered Ways"
-msgstr ""
+msgstr "ផ្លូវ​ដែល​រៀប​លំដាប់​មិន​ត្រឹមត្រូវ"
 
 msgid "This test checks the direction of water, land and coastline ways."
 msgstr ""
+"វា​នឹង​ពិនិត្យមើល​ទិស​របស់​ផ្លូវ​ទឹក ផ្លូវ​ដី "
+"និង​ផ្លូវ​ជួរ​មាត់ច្រាំង​សមុទ្រ។"
 
 msgid "Reversed coastline: land not on left side"
-msgstr ""
+msgstr "ជួរ​មាត់ច្រាំង​សមុទ្រ​បញ្ច្រាស៖ ដី​មិន​នៅ​លើ​ផ្នែក​ខាងឆ្វេង"
 
 msgid "Reversed land: land not on left side"
-msgstr ""
+msgstr "ដី​បញ្ច្រាស៖ ដី​មិន​នៅ​លើ​ផ្នែក​ខាងឆ្វេង"
 
 msgid "Show this dialog again the next time"
-msgstr ""
+msgstr "បង្ហាញ​ប្រអប់​ម្ដងទៀត​នៅ​ពេល​បន្ទាប់"
 
 msgid "Do not show again (this operation)"
-msgstr ""
+msgstr "កុំ​បង្ហាញ​ម្ដងទៀត (ប្រតិបត្តិការ​នេះ)"
 
 msgid "Do not show again (this session)"
-msgstr ""
+msgstr "កុំ​បង្ហាញ​ម្ដងទៀត (សម័យ​នេះ)"
 
 msgid "Do not show again (remembers choice)"
-msgstr ""
+msgstr "កុំ​បង្ហាញ​ម្ដងទៀត (ចងចាំ​ជម្រើស)"
 
 msgid " [id: {0}]"
-msgstr ""
+msgstr " [id: {0}]"
 
 msgid "incomplete"
 msgstr "មិន​ពេញលេញ"
 
 msgid "House {0}"
-msgstr ""
+msgstr "ផ្ទះ {0}"
 
 msgid "House number {0} at {1}"
-msgstr ""
+msgstr "ផ្ទះ​លេខ {0} នៅ {1}"
 
 msgid "House number {0}"
-msgstr ""
+msgstr "ផ្ទះ​លេខ {0}"
 
 msgid "highway"
 msgstr "ផ្លូវ highway"
 
 msgid "railway"
-msgstr ""
+msgstr "ផ្លូវ​ដែក"
 
 msgid "waterway"
-msgstr ""
+msgstr "ផ្លូវ​ទឹក"
 
 msgid "landuse"
-msgstr ""
+msgstr "ដី​ប្រើប្រាស់"
 
 msgid "{0} node"
 msgid_plural "{0} nodes"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} តំណ"
 
 msgid "{0} member"
 msgid_plural "{0} members"
 msgstr[0] "{0} សមាជិក"
 
 msgid "public transport"
-msgstr ""
+msgstr "ការ​ដឹកជញ្ជូន​សាធារណៈ"
 
 msgid "Changeset {0}"
-msgstr ""
+msgstr "សំណុំ​ផ្លាស់ប្ដូរ {0}"
 
 msgid "Precondition violation"
-msgstr ""
+msgstr "ការ​ល្មើស​លក្ខណ្ឌ​កំណត់​ស្រេច"
 
 msgid "Security exception"
-msgstr ""
+msgstr "ការ​លើកលែង​សុវត្ថិភាព"
 
 msgid "Network exception"
-msgstr ""
+msgstr "ការ​លើកលែង​បណ្ដាញ"
 
 msgid "IO Exception"
-msgstr ""
+msgstr "ការ​លើកលែង IO"
 
 msgid "Illegal Data"
-msgstr ""
+msgstr "ទិន្នន័យ​មិន​ត្រឹមត្រូវ"
 
 msgid "Offline mode"
-msgstr ""
+msgstr "របៀប​ក្រៅ​បណ្ដាញ"
 
 msgid "Internal Server Error"
-msgstr ""
+msgstr "កំហុស​ម៉ាស៊ីន​មេ​ខាង​ក្នុង"
 
 msgid "Bad Request"
-msgstr ""
+msgstr "សំណើ​មិនត្រឹមត្រូវ"
 
 msgid "Not Found"
-msgstr ""
+msgstr "រក​មិន​ឃើញ"
 
 msgid "Conflict"
 msgstr "ជំលោះ"
 
 msgid "Authentication Failed"
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ផ្ទៀងផ្ទាត់"
 
 msgid "Access to redacted version ''{0}'' of {1} {2} is forbidden."
-msgstr ""
+msgstr "ការ​ចូល​ប្រើ​កំណែ​តែងសេចក្ដី ''{0}'' នៃ {1} {2} ត្រូវ​បាន​ហាមឃាត់។"
 
 msgid "Authorisation Failed"
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ផ្ដល់​សិទ្ធិ"
 
 msgid "Client Time Out"
-msgstr ""
+msgstr "ម៉ាស៊ីន​កូន​អស់​ពេល"
 
 msgid "Bandwidth Limit Exceeded"
-msgstr ""
+msgstr "បាន​លើស​ព្រំដែន​កម្រិត​បញ្ជូន"
 
 msgid "Communication with OSM server failed"
-msgstr ""
+msgstr "ទំានាក់ទំនង​ជាមួយ​ម៉ាស៊ីន​មេ OSM បាន​បរាជ័យ"
 
 msgid "Authentication failed"
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ផ្ទៀងផ្ទាត់"
 
 msgid "Unknown host"
-msgstr ""
+msgstr "មិន​ស្គាល់​ម៉ាស៊ីន"
 
 msgid "Object deleted"
 msgid_plural "Objects deleted"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "បាន​លុប​វត្ថុ"
 
 msgid "Show help information"
-msgstr ""
+msgstr "បង្ហាញ​ព័ត៌មាន​ជំនួយ"
 
 msgid "Downloading \"Message of the day\""
-msgstr ""
+msgstr "ការ​ទាញ​យក \"សារ​ប្រចាំថ្ងៃ\""
 
 msgid "Failed to read MOTD. Exception was: {0}"
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​អាន MOTD ។ ករណី​លើកលែង​គឺ៖ {0}"
 
 msgid "Message of the day not available"
-msgstr ""
+msgstr "មិន​មាន​សារ​ប្រចាំថ្ងៃ"
 
 msgid "Click to close the dialog"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បិទ​ប្រអប់"
 
 msgid "Imagery offset"
-msgstr ""
+msgstr "អុហ្វសិត​រូបភាព"
 
 msgid "Imagery"
-msgstr ""
+msgstr "រុបភាព"
 
 msgctxt "layer"
 msgid "Offset"
-msgstr ""
+msgstr "អុហ្វសិត"
 
 msgid "Expected non-empty value for parameter ''{0}'', got ''{1}''"
 msgstr ""
+"បាន​រំពឹង​ទុក​តម្លៃ​មិន​ទទេ​សម្រាប់​ប៉ារ៉ាម៉ែត្រ ''{0}'', បាន​ទទួល ''{1}''"
 
 msgid "usage"
-msgstr ""
+msgstr "ប្រើប្រាស់"
 
 msgid "options"
 msgstr "ជម្រើស"
@@ -4707,58 +4731,87 @@ msgid "Show this help"
 msgstr "បង្ហាញ​ជំនួយនេះ"
 
 msgid "Standard unix geometry argument"
-msgstr ""
+msgstr "អាគុយម៉ង់​ធរណីមាត្រ​យូនីក​ស្តង់ដារ"
 
 msgid "Download the bounding box"
-msgstr ""
+msgstr "ទាញ​យក​ប្រអប់​កំណត់​ព្រំដែន"
 
 msgid "Download the location at the URL (with lat=x&lon=y&zoom=z)"
-msgstr ""
+msgstr "ទាញ​យក​ទីតាំង​នៅ URL (ដែល​មាន lat=x&lon=y&zoom=z)"
 
 msgid "Open a file (any file type that can be opened with File/Open)"
-msgstr ""
+msgstr "បើក​ឯកសារ (ប្រភេទ​ឯកសារ​ដែល​អាច​បើក​ជាមួយ​ឯកសារ/បើក)"
 
 msgid "Download the bounding box as raw GPS"
-msgstr ""
+msgstr "ទាញ​យក​ប្រអប់​កំណត់​ព្រំដែន​ជា​ជីភីអេស​ដើម"
 
 msgid "Download the location at the URL (with lat=x&lon=y&zoom=z) as raw GPS"
-msgstr ""
+msgstr "ទាញ​យក​ទីតាំង​នៅ URL (ដែល​មាន lat=x&lon=y&zoom=z) ជា​ជីភីអេស​ដើម"
 
 msgid "Select with the given search"
-msgstr ""
+msgstr "ជ្រើស​ដោយ​ប្រើ​ការ​ស្វែងរក​ដែល​បាន​ផ្ដល់"
 
 msgid "Launch in maximized mode"
-msgstr ""
+msgstr "ដំណើរការ​ក្នុង​របៀប​ពង្រីក​អតិបរមា"
 
 msgid "Reset the preferences to default"
-msgstr ""
+msgstr "កំណត់​ចំណូលចិត្ត​ទៅ​លំនាំដើម"
 
 msgid "Changes preferences according to the XML file"
-msgstr ""
+msgstr "ប្ដូរ​ចំណូលចិត្ត​ទៅតាម​ឯកសារ XML"
 
 msgid "Set preference key to value"
-msgstr ""
+msgstr "កំណត់​ពាក្យ​គន្លឹះ​ចំណូលចិត្ត​ទៅ​តម្លៃ"
 
 msgid "Set the language"
-msgstr ""
+msgstr "កំណត់​ភាសា"
 
 msgid "Displays the JOSM version and exits"
-msgstr ""
+msgstr "បង្ហាញ​កំណែ JOSM រូច​ចេញ"
 
 msgid "Print debugging messages to console"
-msgstr ""
+msgstr "បោះពុម្ព​សារ​បំបាត់​កំហុស​ទៅ​កុងសូល"
 
 msgid "Disable access to the given resource(s), separated by comma"
-msgstr ""
+msgstr "បិទ​ការ​ចូល​ប្រើ​ធនធាន​ដែល​បាន​ផ្ដល់ បំបែក​ដោយ​សញ្ញា​ក្បៀស"
 
 msgid "options provided as Java system properties"
-msgstr ""
+msgstr "ជម្រើស​បាន​ផ្ដល់​ជា​លក្ខណសម្បត្តិ​ប្រព័ន្ធ Java"
+
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr "/PATH/TO/JOSM/PREF    "
+
+msgid "Set the preferences directory"
+msgstr "កំណត់​ថត​ចំណូលចិត្ត"
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr "/PATH/TO/JOSM/USERDATA"
+
+msgid "Set the user data directory"
+msgstr "កំណត់​ថត​ទិន្នន័យ​អ្នកប្រើ"
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr "/PATH/TO/JOSM/CACHE   "
+
+msgid "Set the cache directory"
+msgstr "កំណត់​ថត​ឃ្លាំង"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr "/PATH/TO/JOSM/HOMEDIR "
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
 msgstr ""
+"កំណត់​ទីតាំង​ថត​ទាំង​បី​ឡើងវិញ​ទៅ​ថត​ផ្ទះ។ ថត​ឃ្លាំង​នឹង​នៅ​ក្នុង "
+"homedir/cache"
 
-msgid "Change the folder for all user settings"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
+"-Djosm.home មាន​អាទិភាព​ទាប "
+"គឺ​ថា​ការ​កំណត់​ជាក់លាក់​បាន​បដិសេធ​ការ​កំណត់​ទូទៅ"
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -4766,89 +4819,102 @@ msgid ""
 "      Java option to specify the maximum size of allocated memory in "
 "megabytes"
 msgstr ""
+"ចំណាំ៖ សម្រាប់​ភារកិច្ច​មួយ​ចំនួន, JOSM ត្រូវការ​អង្គ​ចងចាំ​ច្រើន។ "
+"វា​អាច​ចាំបាច់​ត្រូវ​បន្ថែម​នូវ​ជម្រើស\n"
+"      Java "
+"ដូច​ខាងក្រោម​ដើម្បី​បញ្ជាក់​ទំហំ​អតិបរមា​នៃ​អង្គ​ចងចាំ​បម្រុងទុក​គិតជា​មេកាបៃ"
 
 msgid "examples"
-msgstr ""
+msgstr "ឧទាហរណ៍"
 
 msgid ""
 "Parameters --download, --downloadgps, and --selection are processed in this "
 "order."
 msgstr ""
+"Parameters --download, --downloadgps, និង --selection "
+"ត្រូវ​បាន​ដំណើរការ​តាម​លំដាប់​នេះ។"
 
 msgid "Make sure you load some data if you use --selection."
 msgstr ""
+"ត្រូវ​ប្រាកដ​ថា​អ្នក​បាន​ផ្ទុក​ទិន្នន័យ​ខ្លះៗ បើ​អ្នក​ប្រើ --selection ។"
 
 msgid "Printing debugging messages to console"
-msgstr ""
+msgstr "ការ​បោះពុម្ព​សារ​បំបាត់​កំហុស​ទៅ​កុងសូល"
 
 msgid "Enabled detailed debug level (trace)"
-msgstr ""
+msgstr "បាន​បើក​កម្រិត​បំបាត់​កំហុស​លម្អិត (តាមដាន)"
 
 msgid "Initializing"
 msgstr "កំពុង​ចាប់ផ្តើម"
 
 msgid "Updating plugins"
-msgstr ""
+msgstr "ការ​ធ្វើ​បច្ចុប្បន្នភាព​កម្មវិធី​ជំនួយ"
 
 msgid "Installing updated plugins"
-msgstr ""
+msgstr "ការ​ដំឡើង​កម្មវិធី​ជំនួយ​ដែល​បាន​ធ្វើ​បច្ចុប្បន្នភាព"
 
 msgid "Loading early plugins"
-msgstr ""
+msgstr "ការ​ផ្ទុក​កម្មវិធី​ជំនួយ​ថ្មី"
 
 msgid "Setting defaults"
-msgstr ""
+msgstr "ការ​កំណត់​លំនាំដើម"
 
 msgid "Creating main GUI"
 msgstr "បង្កើត GUI​ ដើម"
 
 msgid "Loading plugins"
-msgstr ""
+msgstr "ការ​ផ្ទុក​កម្មវិធី​ជំនួយ"
 
 msgid ""
 "''{0}'' is not a valid value for argument ''{1}''. Possible values are {2}, "
 "possibly delimited by commas."
 msgstr ""
+"''{0}'' មិនមែន​ជា​តម្លៃ​ត្រឹមត្រូវ​សម្រាប់​អាគុយម៉ង់ ''{1}'' ។ "
+"តម្លៃ​ដែល​អាច​ប្រើ​បាន​គឺ {2}, អាច​កំណត់​ព្រំដែន​ដោយ​សញ្ញា​ក្បៀស។"
 
 msgid ""
 "JOSM is running in offline mode. This resource will not be available: {0}"
 msgid_plural ""
 "JOSM is running in offline mode. These resources will not be available: {0}"
 msgstr[0] ""
-msgstr[1] ""
+"JOSM កំពុង​ដំណើរការ​ក្នុង​របៀប​ក្រៅ​បណ្ដាញ។ ធនធាន​ទាំងនេះ​នឹង​លែង​មាន៖ {0}"
 
 msgid "Unsaved osm data"
-msgstr ""
+msgstr "ទិន្នន័យ osm មិន​បាន​រក្សាទុក"
 
 msgid "Restore"
-msgstr ""
+msgstr "ស្ដារ"
 
 msgid "Discard"
-msgstr ""
+msgstr "បោះបង់"
 
 msgid "JOSM found {0} unsaved osm data layer. "
 msgid_plural "JOSM found {0} unsaved osm data layers. "
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "JOSM បាន​រកឃើញ​ស្រទាប់ osm មិន​រក្សាទុក {0} ។ "
 
 msgid ""
 "It looks like JOSM crashed last time. Would you like to restore the data?"
 msgstr ""
+"វា​ហាក់ដូចជា JOSM បាន​គាំង​ពីមុន។ តើ​អ្នក​ចង់​ស្ដារ​ទិន្នន័យ​ដែរ ឬទេ?"
 
 msgid "Change proxy settings"
-msgstr ""
+msgstr "ប្ដូរ​ការ​កំណត់​ប្រូកស៊ី"
 
 msgid "Proxy errors occurred"
-msgstr ""
+msgstr "កំហុស​ប្រូកស៊ី​បាន​កើតឡើង"
 
 msgid ""
 "JOSM tried to access the following resources:<br>{0}but <b>failed</b> to do "
 "so, because of the following proxy errors:<br>{1}Would you like to change "
 "your proxy settings now?"
 msgstr ""
+"JOSM បាន​ព្យាយាម​ចូល​ប្រើ​ធនធាន​ដូច​ខាងក្រោម៖<br>{0}ប៉ុន្តែ "
+"<b>បាន​បរាជ័យ</b> ក្នុង​ការ​អនុវត្ត "
+"ដោយសារ​កំហុស​ប្រូកស៊ី​ដូច​ខាងក្រោម៖<br>{1}តើ​អ្នក​ចង់​ប្ដូរ​ការ​កំណត់​ប្រូកស៊"
+"ី​ឥឡូវ​ឬ?"
 
 msgid "Network errors occurred"
-msgstr ""
+msgstr "កំហុស​បណ្ដាញ​បាន​កើតឡើង"
 
 msgid ""
 "JOSM tried to access the following resources:<br>{0}but <b>failed</b> to do "
@@ -4856,12 +4922,16 @@ msgid ""
 "missing proxy configuration.<br>Would you like to change your proxy settings "
 "now?"
 msgstr ""
+"JOSM បាន​ព្យាយាម​ចូល​ប្រើ​ធនធាន​ដូច​ខាងក្រោម៖<br>{0}ប៉ុន្តែ "
+"<b>បាន​បរាជ័យ</b> ក្នុង​ការ​អនុវត្ត "
+"ដោយសារ​កំហុស​បណ្ដាញ​ដូច​ខាងក្រោម៖<br>{1}វា​អាច​ដោយ​សារ​កំហុស​ការ​កំណត់​រចនាសម"
+"្ព័ន្ធ​ប្រូកស៊ី។<br>តើ​អ្នក​ចង់​ប្ដូរ​ការ​កំណត់​ប្រូកស៊ី​ឥឡូវ​ឬ?"
 
 msgid "File"
 msgstr "ឯកសារ"
 
 msgid "Session"
-msgstr ""
+msgstr "សម័យ"
 
 msgid "View"
 msgstr "មើល"
@@ -4870,10 +4940,10 @@ msgid "Tools"
 msgstr "ឧបករណ៍"
 
 msgid "More tools"
-msgstr ""
+msgstr "ឧបករណ៍​ច្រើន​ទៀត"
 
 msgid "Data"
-msgstr ""
+msgstr "ទិន្នន័យ"
 
 msgid "Selection"
 msgstr "ជម្រើស"
@@ -4882,55 +4952,55 @@ msgid "Presets"
 msgstr "ការ​កំណត់​ជាមុន"
 
 msgid "More..."
-msgstr ""
+msgstr "ច្រើនទៀត..."
 
 msgid "GPS"
-msgstr ""
+msgstr "ជីភីអេស"
 
 msgid "Windows"
-msgstr ""
+msgstr "វីនដូ"
 
 msgid "Menu: {0}"
-msgstr ""
+msgstr "ម៉ឺនុយ៖ {0}"
 
 msgid "Save and load the current session (list of layers, etc.)"
-msgstr ""
+msgstr "រក្សាទុក រួច​ផ្ទុក​សម័យ​បច្ចុប្បន្ន (បញ្ជី​ស្រទាប់។ល។)"
 
 msgid "Edit toolbar"
-msgstr ""
+msgstr "របារ​ឧបករណ៍​កែសម្រួល"
 
 msgid "Toggles the visibility of the edit toolbar (i.e., the vertical tool)"
-msgstr ""
+msgstr "បិទ/បើក​ភាព​មើល​ឃើញ​នៃ​របារ​ឧបករណ៍​កែសម្រួល (គឺ​របារ​ឧបករណ៍​ផ្ដេក)"
 
 msgid "Preset preferences"
-msgstr ""
+msgstr "ចំណូលចិត្ត​កំណត់​ស្រេច"
 
 msgid "Click to open the tagging presets tab in the preferences"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បើក​ផ្ទាំង​កំណត់​ស្រេច​ការ​ដាក់​ស្លាក​នៅ​ក្នុង​ចំណូលចិត្ត"
 
 msgid "Imagery preferences"
-msgstr ""
+msgstr "ចំណូលចិត្ត​រូបភាព"
 
 msgid "Click to open the imagery tab in the preferences"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បើក​ផ្ទាំង​រូបភាព​នៅ​ក្នុង​ចំណូលចិត្ត"
 
 msgid "Audio"
 msgstr "សំលេង"
 
 msgid "Do not hide toolbar"
-msgstr ""
+msgstr "កុំ​លាក់​របារ​ឧបករណ៍"
 
 msgid "Hide this button"
-msgstr ""
+msgstr "លាក់​ប៊ូតុង​នេះ"
 
 msgid "Click the arrow at the bottom to show it again."
-msgstr ""
+msgstr "ចុច​សញ្ញា​ព្រួញ​នៅ​ខាងក្រោម​ដើម្បី​បង្ហាញ​ម្ដងទៀត។"
 
 msgid "Hide edit toolbar"
-msgstr ""
+msgstr "លាក់​ឧបករណ៍​កែសម្រួល"
 
 msgid "Hide or show this toggle button"
-msgstr ""
+msgstr "លាក់ ឬ​បង្ហាញ​ប៊ូតុង​បិទ/បើក​នេះ"
 
 msgid "Move right"
 msgstr "ផ្លាស់ទី​ទៅ​ស្តាំ"
@@ -4957,137 +5027,163 @@ msgid "scale"
 msgstr "រង្វាស់"
 
 msgid "Status bar background"
-msgstr ""
+msgstr "ផ្ទៃ​ខាងក្រោយ​របារ​ស្ថានភាព"
 
 msgid "Status bar background: active"
-msgstr ""
+msgstr "ផ្ទៃ​ខាងក្រោយ​របារ​ស្ថានភាព៖ សកម្ម"
 
 msgid "Status bar foreground"
-msgstr ""
+msgstr "ផ្ទៃ​ខាងមុខ​របារ​ស្ថានភាព"
 
 msgid "Status bar foreground: active"
-msgstr ""
+msgstr "ផ្ទៃ​ខាងមុខ​របារ​ស្ថានភាព៖ សកម្ម"
 
 msgid "{0} ({1})"
-msgstr ""
+msgstr "{0} ({1})"
 
 msgid "The geographic latitude at the mouse pointer."
-msgstr ""
+msgstr "រយៈទទឹង​ភូមិសាស្ត្រ​នៅ​ព្រួញ​កណ្ដុរ។"
 
 msgid "The geographic longitude at the mouse pointer."
-msgstr ""
+msgstr "រយៈបណ្ដោយ​ភូមិសាស្ត្រ​នៅ​ព្រួញ​កណ្ដុរ។"
 
 msgid "The (compass) heading of the line segment being drawn."
-msgstr ""
+msgstr "ក្បាល (ត្រីវិស័យ) នៃ​អង្កត់​បន្ទាត់​កំពុង​ត្រូវ​បាន​គូរ។"
 
 msgid "The angle between the previous and the current way segment."
-msgstr ""
+msgstr "មុំ​រវាង​កំណាត់​ផ្លូវ​ផ្លូវ​បច្ចុប្បន្ន និង​ផ្លូវ​ពីមុន។"
 
 msgid "The length of the new way segment being drawn."
-msgstr ""
+msgstr "ប្រវែង​កំណាត់​ផ្លូវ​ថ្មី​កំពុង​ត្រូវ​បាន​គូរ។"
 
 msgid "The name of the object at the mouse pointer."
-msgstr ""
+msgstr "ឈ្មោះ​វត្ថុ​នៅ​ព្រួញ​កណ្ដុរ។"
 
 msgid ""
 "Middle click again to cycle through.<br>Hold CTRL to select directly from "
 "this list with the mouse.<hr>"
 msgstr ""
+"ចុច​កណ្ដុរ​កណ្ដាល​ដើម្បី​បង្វិល​មួយ​ជុំ។<br>ចុច CTRL "
+"ឲ្យ​ជាប់​ដើម្បី​ជ្រើស​ថត​ពី​បញ្ជី​ដោយ​ប្រើ​កណ្ដុរ។<hr>"
 
 msgid "(no object)"
-msgstr ""
+msgstr "(មិន​មាន​វត្ថុ)"
 
 msgid "User:"
-msgstr ""
+msgstr "អ្នកប្រើ៖"
 
 msgid "Do not hide status bar"
-msgstr ""
+msgstr "កុំ​លាក់​របារ​ស្ថានភាព"
 
 msgid "System of measurement changed to {0}"
-msgstr ""
+msgstr "បាន​ប្ដូរ​រង្វាស់​ប្រព័ន្ធ​ទៅ {0}"
 
 msgid "Layer not in list."
-msgstr ""
+msgstr "ស្រទាប់​មិន​នៅ​ក្នុង​បញ្ជី។"
 
 msgid "Layer ''{0}'' must be in list of layers"
-msgstr ""
+msgstr "ស្រទាប់ ''{0}'' ត្រូវតែ​នៅ​ក្នុង​បញ្ជី​ស្រទាប់"
+
+msgid "Default (open, closed, new)"
+msgstr "លំនាំដើម (បើក បិទ ថ្មី)"
+
+msgid "Username"
+msgstr "ឈ្មោះ​អ្នក​ប្រើ"
+
+msgid "Created date"
+msgstr "បាន​បង្កើត​កាលបរិច្ឆេទ"
+
+msgid "Last change date"
+msgstr "កាលបរិច្ឆេទ​ប្ដូរ​ចុងក្រោយ"
+
+msgid "Select note sorting method"
+msgstr "ជ្រើស​វិធីសាស្ត្រ​តម្រៀប​ចំណាំ"
 
 msgid "Click to cancel the current operation"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បោះបង់​ប្រតិបត្តិការ​បច្ចុប្បន្ន"
 
 msgid "In background"
-msgstr ""
+msgstr "នៅ​ផ្ទៃ​ខាងក្រោយ"
 
 msgid "Click to run job in background"
-msgstr ""
+msgstr "ចុច​ដើម្បី​ដំណើរការ​នៅ​ផ្ទៃ​ខាងក្រោយ"
 
 msgid ""
 "Aerial imagery might be misaligned. Please check its offset using GPS tracks!"
 msgstr ""
+"រូបភាព Aerial អាច​មាន​កំហុស​ប្រកប។ "
+"សូម​ពិនិត្យ​អុហ្វសិត​របស់​វា​ដោយ​ប្រើ​ការ​តាមដាន​ជីភីអេស!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
-msgstr ""
+msgstr "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 
 msgid "Details..."
-msgstr ""
+msgstr "សេចក្តីលម្អិត​..."
 
 msgid "Hide this message and never show it again"
-msgstr ""
+msgstr "លាក់​សារ​នេះ ហើយ​កុំ​បង្ហាញ​វា​ម្ដងទៀត"
 
 msgid ""
 "<html>Please confirm to remove <strong>1 object</strong> from <strong>1 "
 "relation</strong>.</html>"
 msgstr ""
+"<html>សូម​បញ្ជាក់​ដើម្បី​លុប <strong>វត្ថុ 1</strong> ចេញពី "
+"<strong>ទំនាក់ទំនង 1</strong> ។</html>"
 
 msgid ""
 "<html>Please confirm to remove <strong>1 object</strong> from <strong>{0} "
 "relations</strong>.</html>"
 msgstr ""
+"<html>សូម​បញ្ជាក់​ដើម្បី​លុប <strong>វត្ថុ 1</strong> ចេញពី "
+"<strong>ទំនាក់ទំនង {0}</strong> ។</html>"
 
 msgid ""
 "<html>Please confirm to remove <strong>{0} objects</strong> from <strong>{1} "
 "relations</strong>.</html>"
 msgstr ""
+"<html>សូម​បញ្ជាក់​ដើម្បី​លុប <strong>វត្ថុ {0}</strong> ចេញពី "
+"<strong>ទំនាក់ទំនង {1}</strong> ។</html>"
 
 msgid "Deleting {0} object"
 msgid_plural "Deleting {0} objects"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំពុង​លុប​វត្ថុ {0}"
 
 msgid "Delete objects"
-msgstr ""
+msgstr "លុប​វត្ថុ"
 
 msgid "To delete"
-msgstr ""
+msgstr "ដើម្បី​លុប"
 
 msgid "From Relation"
-msgstr ""
+msgstr "ចេញពី​ទំនាក់ទំនង"
 
 msgid "Pos."
-msgstr ""
+msgstr "Pos."
 
 msgid "Role"
 msgstr "តួនាទី"
 
 msgid "Click to close the dialog and remove the object from the relations"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បិទ​ប្រអប់ និង​លុប​វត្ថុ​ចេញពី​ទំនាក់ទំនង"
 
 msgid "Click to close the dialog and to abort deleting the objects"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បិទ​ប្រអប់ និង​បោះបង់​ការ​លុប​វត្ថុ"
 
 msgid ""
 "<html>Please select a <strong>range of OSM tiles</strong> at a given zoom "
 "level.</html>"
 msgstr ""
+"<html>សូម​ជ្រើស <strong>ជួរ​ក្រឡា OSM</strong> "
+"នៅ​កម្រិត​ពង្រីក​ដែល​បាន​ផ្ដល់។</html>"
 
 msgid "Zoom level:"
-msgstr ""
+msgstr "កម្រិត​ពង្រីក៖"
 
 msgid "from tile"
-msgstr ""
+msgstr "ពី​ក្រឡា"
 
 msgid "up to tile"
-msgstr ""
+msgstr "ដល់​ក្រឡា"
 
 msgid ""
 "<html>Alternatively you may enter a <strong>tile address</strong> for a "
@@ -5095,129 +5191,135 @@ msgid ""
 "addresses in the format <i>zoom,x,y</i> or <i>zoom;x;y</i> are valid "
 "too.</html>"
 msgstr ""
+"<html>ជាទូទៅ​អ្នក​អាច​បញ្ចូល <strong>អាសយដ្ឋាន​ក្រឡា</strong> "
+"សម្រាប់​ក្រឡា​ទោល​នៅ​ក្នុង​ទ្រង់ទ្រាយ <i>zoomlevel/x/y</i>, i.e. "
+"<i>15/256/223</i> ។ អាសយដ្ឋាន​ក្រឡា​នៅ​ក្នុង​ទ្រង់ទ្រាយ <i>zoom,x,y</i> ឬ "
+"<i>zoom;x;y</i> ក៏​ត្រឹមត្រូវ​ផង​ដែរ។</html>"
 
 msgid "Tile address:"
-msgstr ""
+msgstr "អាសយដ្ឋាន​ក្រឡា៖"
 
 msgid "Apply the tile address"
-msgstr ""
+msgstr "អនុវត្ត​អាសយដ្ឋាន​ក្រឡា"
 
 msgid "Please enter a tile address"
-msgstr ""
+msgstr "សូម​បញ្ចូល​អាសយដ្ឋាន​ក្រឡា"
 
 msgid "The current value isn''t a valid tile address"
-msgstr ""
+msgstr "តម្លៃ​បច្ចុប្បន្ន​មិនមែន​ជា​អាសយដ្ឋាន​ក្រឡា​ត្រឹមត្រូវ"
 
 msgid "Please enter a tile index"
-msgstr ""
+msgstr "សូម​បញ្ចូល​សន្ទស្សន៍​ក្រឡា"
 
 msgid "The current value isn''t a valid tile index for the given zoom level"
 msgstr ""
+"តម្លៃ​បច្ចុប្បន្ន​មិនមែន​ជា​សន្ទស្សន៍​ក្រឡា​ត្រឹមត្រូវ​សម្រាប់​កម្រិត​ពង្រីក​"
+"ដែល​បាន​ផ្ដល់​ទេ"
 
 msgid "Conflict background: no conflict"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ មិន​ប៉ះទង្គិច"
 
 msgid "Conflict background: decided"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ច្បាស់"
 
 msgid "Conflict background: undecided"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ មិន​ច្បាស់"
 
 msgid "Conflict background: drop"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ទម្លាក់​ចុះ"
 
 msgid "Conflict background: keep"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ រក្សាទុក"
 
 msgid "Conflict background: combined"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ចូលគ្នា"
 
 msgid "Conflict background: selected"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ បាន​​ជ្រើស"
 
 msgid "Conflict foreground: undecided"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ មិន​ច្បាស់"
 
 msgid "Conflict foreground: drop"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ ទម្លាក់​ចុះ"
 
 msgid "Conflict foreground: keep"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ រក្សាទុក"
 
 msgid "Conflict background: empty row"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ជួរដេក​ទទេ"
 
 msgid "Conflict background: frozen"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ បង្កក"
 
 msgid "Conflict background: in comparison"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ក្នុង​ការ​ប្រៀបធៀប"
 
 msgid "Conflict foreground: in comparison"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ ក្នុង​ការ​ប្រៀបធៀប"
 
 msgid "Conflict background"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ"
 
 msgid "Conflict foreground"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ"
 
 msgid "Conflict background: not in opposite"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ មិន​ផ្ទុយ"
 
 msgid "Conflict background: in opposite"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ផ្ទុយ"
 
 msgid "Conflict background: same position in opposite"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ទីតាំង​ដូចគ្នា​ក្នុង​ផ្ទុយ"
 
 msgid "Conflict background: keep one tag"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ រក្សា​ស្លាក​មួយ"
 
 msgid "Conflict foreground: keep one tag"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ រក្សាទុក​ស្លាក​មួយ"
 
 msgid "Conflict background: drop tag"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ ទម្លាក់​ស្លាក"
 
 msgid "Conflict foreground: drop tag"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ ទម្លាក់​ស្លាក"
 
 msgid "Conflict background: keep all tags"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ រក្សាទុក​ស្លាក​ទាំងអស់"
 
 msgid "Conflict foreground: keep all tags"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ រក្សាទុក​ស្លាក​ទាំងអស់"
 
 msgid "Conflict background: sum all numeric tags"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ បូក​ស្លាក​លេខ​ទាំអស់"
 
 msgid "Conflict foreground: sum all numeric tags"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ បូក​ស្លាក​លេខ​ទាំងអស់"
 
 msgid "Conflict background: keep member"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ រក្សា​សមាជិក"
 
 msgid "Conflict foreground: keep member"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ រក្សា​សមាជិក"
 
 msgid "Conflict background: remove member"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងក្រោយ៖ លុប​សមាជិក"
 
 msgid "Conflict foreground: remove member"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​ផ្ទៃ​ខាងមុខ៖ លុប​សមាជិក"
 
 msgid "My with Their"
-msgstr ""
+msgstr "របស់​ខ្ញុំ​ជាមួយ​របស់​គេ"
 
 msgid "My with Merged"
-msgstr ""
+msgstr "របស់​ខ្ញុំ​ជាមួយ​ដែល​បាន​បញ្ចូល​គ្នា"
 
 msgid "Their with Merged"
-msgstr ""
+msgstr "របស់​គេ​ជាមួយ​ដែល​បាន​បញ្ចូល​គ្នា"
 
 msgid "Role {0} is not participating in compare pair {1}."
-msgstr ""
+msgstr "បញ្ជី {0} មិន​នៅ​ក្នុង​គូ​ប្រៀបធៀប {1} ។"
 
 msgid "Properties"
 msgstr "លក្ខណៈសម្បត្តិ"
@@ -5232,247 +5334,281 @@ msgid "Members"
 msgstr "សមាជិក"
 
 msgid "No pending tag conflicts to be resolved"
-msgstr ""
+msgstr "មិន​មាន​ស្លាក​ប៉ះ​ទង្គិច​ដែល​ត្រូវ​ដោះស្រាយ​ទេ"
 
 msgid "Tags({0} conflict)"
 msgid_plural "Tags({0} conflicts)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ស្លាក (ប៉ះទង្គិច {0})"
 
 msgid "{0} pending tag conflict to be resolved"
 msgid_plural "{0} pending tag conflicts to be resolved"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} ស្លាក​មិនទាន់​សម្រេច​ដែល​ត្រូវ​ដោះស្រាយ"
 
 msgid "Nodes(resolved)"
-msgstr ""
+msgstr "តំណ (បាន​ដោះស្រាយ)"
 
 msgid ""
 "Merged node list frozen. No pending conflicts in the node list of this way"
 msgstr ""
+"បាន​បញ្ចូល​តំណ​បង្កក​ចូលគ្នា។ "
+"គ្មាន​ការ​ប៉ះទង្គិច​មិន​ទាន់​សម្រេច​នៅ​ក្នុង​បញ្ជី​តំណ​ផ្លូវ​នេះ​ទេ"
 
 msgid "Nodes(with conflicts)"
-msgstr ""
+msgstr "តំណ (ដែល​មាន​ការ​ប៉ះទង្គិច)"
 
 msgid "Pending conflicts in the node list of this way"
-msgstr ""
+msgstr "មាន​ការ​ប៉ះទង្គិច​មិនទាន់​សម្រេច​នៅ​ក្នុង​បញ្ជី​តំណ​ផ្លូវ​នេះ"
 
 msgid "Members(resolved)"
-msgstr ""
+msgstr "សមាជិក (បាន​ដោះស្រាយ)"
 
 msgid ""
 "Merged member list frozen. No pending conflicts in the member list of this "
 "relation"
 msgstr ""
+"បាន​បញ្ចូល​បញ្ជី​សមាជិក​បង្កក​ចូលគ្នា។ "
+"គ្មាន​ការ​ប៉ះទង្គិច​មិន​ទាន់​សម្រេច​នៅ​ក្នុង​បញ្ជី​សមាជិក​ផ្លូវ​នេះ​ទេ"
 
 msgid "Members(with conflicts)"
-msgstr ""
+msgstr "សមាជិក (ដែល​មាន​ការ​ប៉ះទង្គិច)"
 
 msgid "Pending conflicts in the member list of this relation"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​មិនទាន់​សម្រេច​នៅ​ក្នុង​បញ្ជី​សមាជិក​ទំនាក់ទំនង​នេះ"
 
 msgid "No pending property conflicts"
-msgstr ""
+msgstr "មិន​មាន​​ការ​ប៉ះទង្គិច​លក្ខណសម្បត្តិ​មិន​ទាន់​សម្រេច"
 
 msgid "Properties(with conflicts)"
-msgstr ""
+msgstr "លក្ខណសម្បត្តិ (ដែល​មាន​ការ​ប៉ះទង្គិច)"
 
 msgid "Pending property conflicts to be resolved"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​លក្ខណសម្បត្តិ​មិនទាន់​សម្រេច​ដែល​ត្រូវ​ដោះស្រាយ"
 
 msgid "Conflict Resolution"
-msgstr ""
+msgstr "ប៉ះទង្គិច​គុណភាព​បង្ហាញ"
 
 msgid "{0} more..."
-msgstr ""
+msgstr "{0} ច្រើន​ទៀត..."
 
 msgid ""
 "The following objects could not be copied to the target object<br>because "
 "they are deleted in the target dataset:"
 msgstr ""
+"មិន​អាច​ចម្លង​វត្ថុ​ខាងក្រោម​ទៅកាន់​វត្ថុ​គោលដៅ<br>ព្រោះ​វា​ត្រូវ​បាន​លុប​ចេញ"
+"ពី​សំណុំ​ទិន្នន័យ​គោលដៅ៖"
 
 msgid "Merging deleted objects failed"
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​បញ្ចូល​គ្នា​នូវ​វត្ថុ​ដែល​បាន​លុប"
 
 msgid "List in role {0} is currently not participating in a compare pair."
-msgstr ""
+msgstr "បញ្ជី​ក្នុង​តួនាទី {0} បច្ចុប្បន្ន​មិន​នៅ​ក្នុង​គូ​ប្រៀបធៀប។"
 
 msgid "Unexpected value of parameter ''index''. Got {0}."
-msgstr ""
+msgstr "តម្លៃ​មិន​រំពឹង​ទុក​នៃ​ប៉ារ៉ាម៉ែត្រ ''index'' ។ បាន​ទទួល {0} ។"
 
 msgid "Item {0} not found in list."
-msgstr ""
+msgstr "រក​មិន​ឃើញ​ធាតុ {0} នៅ​ក្នុង​បញ្ជី។"
 
 msgid "lock scrolling"
-msgstr ""
+msgstr "ចាក់សោ​រមូរ"
 
 msgid "Compare "
-msgstr ""
+msgstr "ប្រៀបធៀប "
 
 msgid "My version"
-msgstr ""
+msgstr "កំណែ​របស់​ខ្ញុំ"
 
 msgid "List of elements in my dataset, i.e. the local dataset"
 msgstr ""
+"បញ្ជី​ធាតុ​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​របស់​ខ្ញុំ គឺ​សំណុំ​ទិន្នន័យ​មូលដ្ឋាន"
 
 msgid "Merged version"
-msgstr ""
+msgstr "កំណែ​ដែល​បាន​បញ្ចូល​គ្នា"
 
 msgid ""
 "List of merged elements. They will replace the list of my elements when the "
 "merge decisions are applied."
 msgstr ""
+"បញ្ជី​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា។ វា​នឹង​ជំនួស​បញ្ជី​ធាតុ​របស់​ខ្ញុំ "
+"ពេល​ដែល​ការ​សម្រេចចិត្ត​បញ្ចូល​គ្នា​ត្រូវ​បាន​អនុវត្ត។"
 
 msgid "Their version"
-msgstr ""
+msgstr "កំណែ​របស់​ពួកគេ"
 
 msgid "List of elements in their dataset, i.e. the server dataset"
 msgstr ""
+"បញ្ជី​ធាតុ​នៅ​ក្នុង​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ គឺ​សំណុំ​ទិន្នន័យ​ម៉ាស៊ីន​មេ"
 
 msgid "> top"
-msgstr ""
+msgstr "> លើ"
 
 msgid "Copy my selected nodes to the start of the merged node list"
 msgstr ""
+"ចម្លង​តំណ​របស់​ខ្ញុំ​ដែល​បាន​ជ្រើស​ទៅកាន់​ចំណុច​ចាប់ផ្ដើម​នៃ​បញ្ជី​តំណ​ដែល​បា"
+"ន​បញ្ចូល​គ្នា"
 
 msgid "> bottom"
-msgstr ""
+msgstr "> ក្រោម"
 
 msgid "Copy my selected elements to the end of the list of merged elements."
 msgstr ""
+"ចម្លង​ធាតុ​របស់​ខ្ញុំ​ដែល​បាន​ជ្រើស​ទៅកាន់​ចំណុច​ចុង​នៃ​បញ្ជី​ធាតុ​ដែល​បាន​បញ"
+"្ចូល​គ្នា។"
 
 msgid "> before"
-msgstr ""
+msgstr "> មុន"
 
 msgid ""
 "Copy my selected elements before the first selected element in the list of "
 "merged elements."
 msgstr ""
+"ចម្លង​ធាតុ​របស់​ខ្ញុំ​ដែល​បាន​ជ្រើស​មុន​ធាតុ​ដែល​បាន​ជ្រើស​ទីមួយ​នៅ​ក្នុង​បញ្"
+"ជី​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា។"
 
 msgid "> after"
-msgstr ""
+msgstr "> បន្ទាប់"
 
 msgid ""
 "Copy my selected elements after the first selected element in the list of "
 "merged elements."
 msgstr ""
+"ចម្លង​ធាតុ​របស់​ខ្ញុំ​ដែល​បាន​ជ្រើស​បន្ទាប់ពី​ធាតុ​ដែល​បាន​ជ្រើស​ទីមួយ​នៅ​ក្ន"
+"ុង​បញ្ជី​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា។"
 
 msgid "< top"
-msgstr ""
+msgstr "< លើ"
 
 msgid ""
 "Copy their selected element to the start of the list of merged elements."
 msgstr ""
+"ចម្លង​ធាតុ​ដែល​បាន​ជ្រើស​របស់​ពួកគេ​ទៅកាន់​ចំណុច​ចាប់ផ្ដើម​នៃ​បញ្ជី​ធាតុ​ដែល​"
+"បាន​បញ្ចូល​គ្នា។"
 
 msgid "< bottom"
-msgstr ""
+msgstr "< ក្រោម"
 
 msgid ""
 "Copy their selected elements to the end of the list of merged elements."
 msgstr ""
+"ចម្លង​ធាតុ​ដែល​បាន​ជ្រើស​របស់​ពួកគេ​ទៅកាន់​ចំណុច​ចុង​នៃ​បញ្ជី​ធាតុ​ដែល​បាន​បញ"
+"្ចូល​គ្នា។"
 
 msgid "< before"
-msgstr ""
+msgstr "< មុន"
 
 msgid ""
 "Copy their selected elements before the first selected element in the list "
 "of merged elements."
 msgstr ""
+"ចម្លង​ធាតុ​ដែល​បាន​ជ្រើស​របស់​ពួកគេ​មុន​ធាតុ​ទីមួយ​ដែល​បាន​ជ្រើស​នៅ​ក្នុង​បញ្"
+"ជី​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា។"
 
 msgid "< after"
-msgstr ""
+msgstr "< បន្ទាប់"
 
 msgid ""
 "Copy their selected element after the first selected element in the list of "
 "merged elements"
 msgstr ""
+"ចម្លង​ធាតុ​ដែល​បាន​ជ្រើស​របស់​ពួកគេ​បន្ទាប់ពី​ធាតុ​ទីមួយ​ដែល​បាន​ជ្រើស​នៅ​ក្ន"
+"ុង​បញ្ជី​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា។"
 
 msgid "Copy all my elements to the target"
-msgstr ""
+msgstr "ចម្លង​ធាតុ​របស់​ខ្ញុំ​ទាំងអស់​ទៅ​គោលដៅ"
 
 msgid "Copy all their elements to the target"
-msgstr ""
+msgstr "ចម្លង​ធាតុ​របស់​ពួកគេ​ទាំងអស់​ទៅ​គោលដៅ"
 
 msgid "Up"
 msgstr "ឡើង​លើ"
 
 msgid "Move up the selected entries by one position."
-msgstr ""
+msgstr "ផ្លាស់ទី​ធាតុ​ដែល​បាន​ជ្រើស​ឡើង​លើ​មួយ​ទីតាំង"
 
 msgid "Down"
 msgstr "ចុះក្រោម"
 
 msgid "Move down the selected entries by one position."
-msgstr ""
+msgstr "ផ្លាស់ទី​ធាតុ​ដែល​បាន​ជ្រើស​ចុះក្រោម​មួយ​ទីតាំង"
 
 msgid "Remove"
 msgstr "យកចេញ"
 
 msgid "Remove the selected entries from the list of merged elements."
-msgstr ""
+msgstr "លុប​ធាតុ​ដែល​បាន​ជ្រើស​ចេញពី​បញ្ជី​ដែល​បាន​បញ្ចូល​គ្នា។"
 
 msgid "Freeze"
 msgstr "បង្កក"
 
 msgid "Freeze the current list of merged elements."
-msgstr ""
+msgstr "បង្កក​បញ្ជី​បច្ចុប្បន្ន​នៃ​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា។"
 
 msgid "Unfreeze"
-msgstr ""
+msgstr "កុំ​បង្កក"
 
 msgid "Unfreeze the list of merged elements and start merging."
 msgstr ""
+"កុំ​បង្កក​បញ្ជី​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា រួច​ចាប់ផ្ដើម​បញ្ចូល​ចូលគ្នា។"
 
 msgid ""
 "<html>Click <strong>{0}</strong> to start merging my and their "
 "entries.</html>"
 msgstr ""
+"<html>ចុច <strong>{0}</strong> ដើម្បី​ចាប់ផ្ដើម​បញ្ចូល​ធាតុ​របស់​ខ្ញុំ "
+"និង​របស់​ពួកគេ​ចូលគ្នា។</html>"
 
 msgid ""
 "<html>Click <strong>{0}</strong> to finish merging my and their "
 "entries.</html>"
 msgstr ""
+"<html>ចុច <strong>{0}</strong> ដើម្បី​បញ្ចប់​ការ​បញ្ចូល​ធាតុ​របស់​ខ្ញុំ "
+"និង​របស់​ពួកគេ​បញ្ចូល​គ្នា។</html>"
 
 msgid "My version ({0} entry)"
 msgid_plural "My version ({0} entries)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំណែ​របស់​ខ្ញុំ ({0} ធាតុ)"
 
 msgid "Merged version ({0} entry)"
 msgid_plural "Merged version ({0} entries)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំណែ​ដែល​បាន​បញ្ចូល​គ្នា ({0} ធាតុ)"
 
 msgid "Their version ({0} entry)"
 msgid_plural "Their version ({0} entries)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំណែ​របស់​ពួកគេ ({0} ធាតុ)"
 
 msgid "Node"
 msgstr "តំណ"
 
 msgid "Merged nodes not frozen yet. Cannot build resolution command."
 msgstr ""
+"កំណែ​ដែល​បាន​បញ្ចូល​គ្នា មិនទាន់​បង្កក​នៅឡើយ​ទេ។ "
+"មិន​អាច​បង្កើត​ពាក្យ​បញ្ជា​គុណភាព​បង្ហាញ។"
 
 msgid "Properties in my dataset, i.e. the local dataset"
 msgstr ""
+"លក្ខណសម្បត្តិ​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​របស់​ខ្ញុំ។ គឺ​សំណុំ​ទិន្នន័យ​មូលដ្ឋាន"
 
 msgid ""
 "Properties in the merged element. They will replace properties in my "
 "elements when merge decisions are applied."
 msgstr ""
+"លក្ខណសម្បត្តិ​នៅ​ក្នុង​ធាតុ​ដែល​បាន​បញ្ចូល​គ្នា។ "
+"ពួកគេ​នឹង​ជំនួស​លក្ខណសម្បត្តិ​នៅ​ក្នុង​ធាតុ​របស់​ខ្ញុំ "
+"ពេល​ដែល​ការ​សម្រេចចិត្ត​បញ្ចូល​គ្នា​ត្រូវ​បាន​អនុវត្ត។"
 
 msgid "Properties in their dataset, i.e. the server dataset"
 msgstr ""
+"លក្ខណសម្បត្តិ​នៅ​ក្នុង​សំណុំ​មូលដ្ឋាន​ទិន្នន័យ "
+"គឺ​សំណុំ​មូលដ្ឋាន​ទិន្នន័យ​ម៉ាស៊ីន​មេ"
 
 msgid "Coordinates:"
-msgstr ""
+msgstr "កូអរដោណេ៖"
 
 msgid "Deleted State:"
-msgstr ""
+msgstr "បាន​លុប​ស្ថានភាព៖"
 
 msgid "Referenced by:"
-msgstr ""
+msgstr "យោង​តាម៖"
 
 msgid "(none)"
 msgstr "(គ្មាន)"
@@ -5484,37 +5620,42 @@ msgid "not deleted"
 msgstr "មិន​បាន​លុបចោល"
 
 msgid "Keep my coordinates"
-msgstr ""
+msgstr "រក្សា​កូអរដោណេ​ខ្ញុំ"
 
 msgid "Keep their coordinates"
-msgstr ""
+msgstr "រក្សា​កូអរដោណេ​របស់​ពួកគេ"
 
 msgid "Undecide conflict between different coordinates"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​មិនទាន់​សម្រេច​រវាង​កូអរដោណេ​ខុសគ្នា"
 
 msgid "Keep my deleted state"
-msgstr ""
+msgstr "រក្សា​ស្ថានភាព​លុប​របស់​ខ្ញុំ"
 
 msgid "Keep their deleted state"
-msgstr ""
+msgstr "រក្សា​ស្ថានភាព​លុប​របស់​ពួក​គេ"
 
 msgid "Undecide conflict between deleted state"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​មិន​ទាន់​សម្រេច​រវាង​ស្ថានភាព​ដែល​បាន​លុប"
 
 msgid "Primitive"
-msgstr ""
+msgstr "ព្រីមីទីវ"
 
 msgid "Merged nodes not frozen yet. Cannot build resolution command"
 msgstr ""
+"តំណ​ដែល​បាន​បញ្ចូល​គ្នា មិនទាន់​បង្កក​នៅ​ឡើយ​ទេ។ "
+"មិន​អាច​បង្កើត​ពាក្យ​បញ្ជា​គុណភាព​បង្ហាញ"
 
 msgid "<undefined>"
 msgstr "<មិន​បាន​កំណត់>"
 
 msgid "The merged dataset will not include a tag with key {0}"
 msgstr ""
+"សំណុំ​ទិន្នន័យ​ដែល​បាន​បញ្ចូល​គ្នា​នឹង​មិន​រួមបញ្ចូល​ស្លាក​ដែល​មាន​ពាក្យ​គន្ល"
+"ឹះ {0}"
 
 msgid "My dataset does not include a tag with key {0}"
 msgstr ""
+"សំណុំ​ទិន្នន័យ​របស់​ខ្ញុំ​មិន​រួមបញ្ចូល​ស្លាក​ដែល​មាន​ពាក្យ​គន្លឹះ {0}"
 
 msgid "Key"
 msgstr "កូនសោ"
@@ -5523,49 +5664,53 @@ msgid "Value"
 msgstr "តម្លៃ"
 
 msgid "Cannot apply undecided tag merge item."
-msgstr ""
+msgstr "មិន​អាច​អនុវត្ត​ធាតុ​​បញ្ចូល​គ្នា​ស្លាក​មិន​ទាន់​សម្រេច។"
 
 msgid "My version (local dataset)"
-msgstr ""
+msgstr "កំណែ​របស់​ខ្ញុំ (សំណុំ​ទិន្នន័យ​មូលដ្ឋាន)"
 
 msgid "Their version (server dataset)"
-msgstr ""
+msgstr "កំណែ​របស់​ពួកគេ (សំណុំ​ទិន្នន័យ​ម៉ាស៊ីន​មេ)"
 
 msgid "Keep the selected key/value pairs from the local dataset"
 msgstr ""
+"រក្សា​គូ​តម្លៃ/ពាក្យ​គន្លឹះ​ដែល​បាន​ជ្រើស​ចេញពី​សំណុំ​ទិន្នន័យ​មូលដ្ឋាន"
 
 msgid "Keep the selected key/value pairs from the server dataset"
 msgstr ""
+"រក្សា​គូ​តម្លៃ/ពាក្យ​គន្លឹះ​ដែល​បាន​ជ្រើស​ចេញពី​សំណុំ​ទិន្នន័យ​ម៉ាស៊ីន​មេ"
 
 msgid "Undecide"
-msgstr ""
+msgstr "មិនទាន់​សម្រេច"
 
 msgid "Mark the selected tags as undecided"
-msgstr ""
+msgstr "សម្គាល់​ស្លាក​ដែល​ជ្រើស​ថា​មិនទាន់​សម្រេច"
 
 msgid "Their dataset does not include a tag with key {0}"
 msgstr ""
+"សំណុំ​ទិន្នន័យ​របស់​ពួកគេ​មិន​រួមបញ្ចូល​ស្លាក​ដែល​មាន​ពាក្យ​គន្លឹះ {0}"
 
 msgid "Conflicts when combining primitives"
-msgstr ""
+msgstr "ប៉ះទង្គិច​ពេល​ផ្សំ​ព្រីមីទីវ​ចូលគ្នា"
 
 msgid "Conflicts when combining ways - combined way is ''{0}''"
 msgstr ""
+"ប៉ះទង្គិច​ពេល​ផ្សំ​ផ្លូវ​ចូលគ្នា - ផ្លូវ​ដែល​បាន​ផ្សំ​ចូលគ្នា​គឺ ''{0}''"
 
 msgid "Conflicts when merging nodes - target node is ''{0}''"
-msgstr ""
+msgstr "ប៉ះទង្គិច​ពេល​បញ្ចូល​តំណ​ចូលគ្នា - តំណ​គោលដៅ​គឺ ''{0}''"
 
 msgid "No conflicts to resolve"
-msgstr ""
+msgstr "មិន​មាន​ការ​ប៉ះទង្គិច​ដែល​ត្រូវ​ដោះស្រាយ"
 
 msgid "Cancel conflict resolution"
-msgstr ""
+msgstr "បោះបង់​ការ​ដោះស្រាយ​ការ​ប៉ះទង្គិច"
 
 msgid "Apply resolved conflicts"
-msgstr ""
+msgstr "អនុវត្ត​​ការ​ប៉ះទង្គិច​ដែល​ដែល​បាន​ដោះស្រាយ"
 
 msgid "Apply"
-msgstr ""
+msgstr "អនុវត្ត"
 
 msgid ""
 "You are about to combine {1} object, which is part of {0} "
@@ -5580,16 +5725,20 @@ msgid_plural ""
 "are shown a dialog to decide how to adapt the relations.<br/><br/>Do you "
 "want to continue?"
 msgstr[0] ""
-msgstr[1] ""
+"អ្នក​ហៀបនឹង​ផ្សំ​វត្ថុ {1} ដែល​វា​ជា​ផ្នែក​នៃ​ទំនាក់ទំនង {0} "
+"៖<br/>{2}ការ​ផ្សំ​វត្ថុ​ទាំងនេះ​អាច​ធ្វើឲ្យ​ដាច់​ទំនាក់ទំនង។ "
+"បើ​អ្នក​មិន​ប្រាកដ​ទេ សូម​បោះបង់​ប្រតិបត្តិការ​នេះ។<br/>បើ​អ្នក​ចង់​បន្ត "
+"អ្នក​នឹង​ទទួល​បាន​ប្រអប់​សម្រេចចិត្ត​ដើម្បី​អនុវត្ត​តាម​ទំនាក់ទំនង។<br/><br/>"
+"តើ​អ្នក​ចង់​បន្តឬ?"
 
 msgid "Combine confirmation"
-msgstr ""
+msgstr "ការ​បញ្ជាក់​ការ​ផ្សំ"
 
 msgid ", "
-msgstr ""
+msgstr ", "
 
 msgid "<i>missing</i>"
-msgstr ""
+msgstr "<i>បាត់</i>"
 
 msgid ""
 "You are about to combine {0} objects, but the following tags are used "
@@ -5602,123 +5751,133 @@ msgid_plural ""
 "may have unwanted tags.<br/>If you want to continue, you are shown a dialog "
 "to fix the conflicting tags.<br/><br/>Do you want to continue?"
 msgstr[0] ""
-msgstr[1] ""
+"អ្នក​ហៀបនឹង​ផ្សំ​វត្ថុ {0} "
+"ប៉ុន្តែ​ស្លាក​ខាងក្រោម​ត្រូវ​បាន​ប្រើ​ដោយ​ប្រឆាំង​គ្នា៖<br/>{1}បើ​វត្ថុ​ទាំងន"
+"េះ​ត្រូវ​បាន​បញ្ចូល​គ្នា "
+"វត្ថុ​លទ្ធផល​អាច​នឹង​មាន​ស្លាក​ដែល​មិន​ចង់​បាន។<br/>បើ​អ្នក​ចង់​បន្ត "
+"អ្នក​នឹង​ឃើញ​ប្រអប់​បញ្ចូល​មួយ​ដើម្បី​កែ​ស្លាក​ដែល​ប៉ះទង្គិច។<br/><br/>តើ​អ្ន"
+"ក​ចង់​បន្ត​ឬ?"
 
 msgid "Choose a value"
-msgstr ""
+msgstr "ជ្រើស​តម្លៃ"
 
 msgid "none"
-msgstr ""
+msgstr "គ្មាន"
 
 msgid "all"
-msgstr ""
+msgstr "ទាំងអស់"
 
 msgid "sum"
-msgstr ""
+msgstr "បូក"
 
 msgid "Please decide which values to keep"
-msgstr ""
+msgstr "សូម​សម្រេចចិត្ត​ថា​តើ​គួរ​ទុក​មត្លៃ​មួយ​ណា"
 
 msgid "Value ''{0}'' is going to be applied for key ''{1}''"
-msgstr ""
+msgstr "តម្លៃ ''{0}'' នឹង​ត្រូវ​បាន​អនុវត្ត​សម្រាប់​ពាក្យ​គន្លឹះ ''{1}''"
 
 msgid ""
 "All numeric values sumed as ''{0}'' are going to be applied for key ''{1}''"
 msgstr ""
+"តម្លៃ​លេខ​ទាំងអស់​ដែល​បាន​បូក​ជា ''{0}'' "
+"នឹង​ត្រូវ​បាន​អនុវត្ត​សម្រាប់​ពាក្យ​គន្លឹះ ''{1}''"
 
 msgid "The key ''{0}'' and all its values are going to be removed"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ ''{0}'' និង​តម្លៃ​របស់​វា​ទាំងអស់​នឹង​ត្រូវ​បាន​លុបចេញ"
 
 msgid "All values joined as ''{0}'' are going to be applied for key ''{1}''"
 msgstr ""
+"តម្លៃ​ទាំងអស់​ដែល​បាន​ភ្ជាប់​ជា ''{0}'' "
+"នឹង​ត្រូវ​បាន​អនុវត្ត​សម្រាប់​ពាក្យ​គន្លឹះ ''{1}''"
 
 msgid "Tag collection does not include the selected value ''{0}''."
-msgstr ""
+msgstr "សម្រាំង​ស្លាក​មិន​រួមបញ្ចូល​តម្លៃ​ដែល​បាន​ជ្រើស ''{0}'' ។"
 
 msgid "Not decided yet."
-msgstr ""
+msgstr "មិនទាន់​សម្រេច។"
 
 msgid "Tags from nodes"
-msgstr ""
+msgstr "ស្លាក​ពី​តំណ"
 
 msgid "Tags from ways"
-msgstr ""
+msgstr "ស្លាក​ពី​ផ្លូវ"
 
 msgid "Tags from relations"
-msgstr ""
+msgstr "ស្លាក​ពី​ទំនាក់ទំនង"
 
 msgid "Conflicts in pasted tags"
-msgstr ""
+msgstr "ប៉ះទង្គិច​នៅ​ក្នុង​ស្លាក​ដែល​បាន​បិទភ្ជាប់"
 
 msgid "Paste ..."
-msgstr ""
+msgstr "បិទភ្ជាប់..."
 
 msgid "From ..."
-msgstr ""
+msgstr "ពី..."
 
 msgid "To ..."
-msgstr ""
+msgstr "ទៅ..."
 
 msgid "{0} tag"
 msgid_plural "{0} tags"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} ស្លាក"
 
 msgid "{0} way"
 msgid_plural "{0} ways"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} ផ្លូវ"
 
 msgid "{0} relation"
 msgid_plural "{0} relations"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} ទំនាក់ទំនង"
 
 msgid "Position {0} is out of range. Current number of members is {1}."
-msgstr ""
+msgstr "ទីតាំង {0} គឺ​នៅ​ក្រៅ​ជួរ។ លេខ​សមាជិក​បច្ចុប្បន្ន​គឺ {1} ។"
 
 msgid "Remove this relation member from the relation"
-msgstr ""
+msgstr "លុប​សមាជិក​ទំនាក់ទំនង​នេះ​ចេញពី​ទំនាក់ទំនង"
 
 msgid "Keep"
-msgstr ""
+msgstr "រក្សាទុក"
 
 msgid "Keep this relation member for the target object"
-msgstr ""
+msgstr "រក្សាទុក​សមាជិក​ទំនាក់ទំនង​សម្រាប់​វត្ថុ​គោលដៅ"
 
 msgid "Undecided"
-msgstr ""
+msgstr "មិនទាន់​សម្រេច"
 
 msgid "Not decided yet"
-msgstr ""
+msgstr "មិនទាន់​សម្រេច"
 
 msgid "Role:"
-msgstr ""
+msgstr "តួនាទី៖"
 
 msgid "Enter a role for all relation memberships"
-msgstr ""
+msgstr "បញ្ចូល​តួនាទី​សមាជិកភាព​ទំនាក់ទំនង​ទាំងអស់"
 
 msgid "Tag modified relations with "
-msgstr ""
+msgstr "បាន​កែ​ស្លាក​ទំនាក់ទំនង​ជាមួយ "
 
 msgid ""
 "<html>Select to enable entering a tag which will be applied<br>to all "
 "modified relations.</html>"
 msgstr ""
+"<html>ជ្រើស​ដើម្បី​បើក​ការ​បញ្ចូល​ស្លាក​ដែល​នឹង​ត្រូវ​អនុវត្ត<br>ទៅកាន់​ទំនាក"
+"់ទំនង​ទាំងអស់​ដែល​បាន​កែ។</html>"
 
 msgctxt "tag"
 msgid "Key:"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ៖"
 
 msgid "<html>Enter a tag key, e.g. <strong><tt>fixme</tt></strong></html>"
 msgstr ""
+"<html>បញ្ចូល​ពាក្យ​គន្លឹះ​ស្លាក ឧ. <strong><tt>fixme</tt></strong></html>"
 
 msgid "Value:"
-msgstr ""
+msgstr "តម្លៃ៖"
 
 msgid ""
 "<html>Enter a tag value, e.g. <strong><tt>check members</tt></strong></html>"
 msgstr ""
+"<html>បញ្ចូល​តម្លៃ​ស្លាក ឧ. <strong><tt>ពិនិត្យ​សមាជិក</tt></strong></html>"
 
 msgid ""
 "<html>The combined ways are members in one or more relations. Please decide "
@@ -5728,6 +5887,13 @@ msgid ""
 "ways that are members of the same relation: the combined way will take the "
 "place of the original way in the relation.</html>"
 msgstr ""
+"<html>ផ្លូវ​ដែល​បាន​ផ្សំ​គឺជា​សមាជិក​នៅ​ក្នុង​ទំនាក់ទំនង​មួយ ឬ​ច្រើន។ "
+"សូម​សម្រេចចិត្ត​ថា​​តើ​អ្នក​ចង់ <strong>រក្សាទុក</strong> "
+"សមាជិកភាព​ទាំងនេះ​សម្រាប់​ផ្លូវ​ដែល​បាន​ផ្សំ ឬ​ថា​តើ​អ្នក​ចង់ "
+"<strong>លុប</strong> ពួកវា​ចេញ។<br>លំនាំដើម​គឺ​វា​នឹង "
+"<strong>រក្សាទុក</strong> ផ្លូវ​ទីមួយ ហើយ <strong>លុប</strong> "
+"ផ្លូវ​ផ្សេងទៀត​ដែល​ជា​សមាជិក​នៃ​ទំនាក់ទំនង​ដូចគ្នា៖ "
+"ផ្លូវ​ដែល​បាន​ផ្សំ​នឹង​នៅ​កន្លែង​ផ្លូវ​ដើម​ក្នុង​ទំនាក់ទំនង។</html>"
 
 msgid ""
 "<html>The merged nodes are members in one or more relations. Please decide "
@@ -5737,42 +5903,54 @@ msgid ""
 "other nodes that are members of the same relation: the target node will take "
 "the place of the original node in the relation.</html>"
 msgstr ""
+"<html>តំណ​ដែល​បាន​បញ្ចូល​គ្នា​គឺជា​សមាជិក​នៅ​ក្នុង​ទំនាក់ទំនង​មួយ ឬ​ច្រើន។ "
+"សូម​សម្រេចចិត្ត​ថា​តើ​អ្នក​ចង់ <strong>រក្សាទុក</strong> "
+"សមាជិកភាព​ទាំងនេះ​សម្រាប់​តំណ​គោលដៅ ឬ​ថា​តើ​អ្នក​ចង់ <strong>លុប</strong> "
+"ពួកវា​ចេញ។<br>លំនាំដើម​វា​នឹង <strong>រក្សាទុក</strong> តំណ​ទីមួយ ហើយ "
+"<strong>លុប</strong> តំណ​ផ្សេងទៀត​ដែល​ជា​សមាជិក​នៃ​ទំនាក់ទំនង​ដូចគ្នា៖ "
+"តំណ​គោលដៅ​នឹង​នៅ​កន្លែង​នៃ​តំណ​ដើម​ក្នុង​ទំនាក់ទំនង។</html>"
 
 msgid "Apply this role to all members"
-msgstr ""
+msgstr "អនុវត្ត​តួនាទី​នេះ​ទៅ​សមាជិក​ទាំងអស់"
 
 msgid "Orig. Way"
-msgstr ""
+msgstr "Orig. Way"
 
 msgid "Decision"
-msgstr ""
+msgstr "សម្រេចចិត្ត"
 
 msgid "<html>Please select the values to keep for the following tags.</html>"
 msgstr ""
+"<html>សូម​ជ្រើស​តម្លៃ​ដើម្បី​រក្សាទុក​សម្រាប់​ស្លាក​ដូច​ខាងក្រោម។</html>"
 
 msgid "Show tags with conflicts only"
-msgstr ""
+msgstr "បង្ហាញ​តែ​ស្លាក​ដែល​ប៉ះទង្គិច​ប៉ុណ្ណោះ"
 
 msgid "Show tags with multiple values only"
-msgstr ""
+msgstr "បង្ហាញ​តែ​ស្លាក​ដែល​មាន​តម្លៃ​ច្រើន​ប៉ុណ្ណោះ"
 
 msgid "For selected objects only"
-msgstr ""
+msgstr "សម្រាប់តែ​វត្ថុ​ដែល​បាន​ជ្រើស​ប៉ុណ្ណោះ"
 
 msgid ""
 "<html>Select to show changesets for the currently selected objects "
 "only.<br>Unselect to show all changesets for objects in the current data "
 "layer.</html>"
 msgstr ""
+"<html>ជ្រើស​ដើម្បី​បង្ហាញ​សំណុំ​ផ្លាស់ប្ដូរ​សម្រាប់​វត្ថុ​ដែល​បាន​ជ្រើស​បច្ចុ"
+"ប្បន្ន​ប៉ុណ្ណោះ។<br>មិន​ជ្រើស​ដើម្បី​បង្ហាញ​សំណុំ​ផ្លាស់ប្ដូរ​ទាំងអស់​សម្រាប់"
+"​វត្ថុ​នៅ​ក្នុង​ស្រទាប់​ទិន្នន័យ​បច្ចុប្បន្ន</html>"
 
 msgid "Changesets"
-msgstr ""
+msgstr "សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Open the list of changesets in the current layer."
-msgstr ""
+msgstr "បើក​បញ្ជី​សំណុំ​ផ្លាស់ប្ដូរ​នៅ​ក្នុង​ស្រទាប់​បច្ចុប្បន្ន។"
 
 msgid "Select all objects assigned to the currently selected changesets"
 msgstr ""
+"ជ្រើស​វត្ថុ​ទាំងអស់​ដែល​បាន​ផ្ដល់​ទៅ​ឲ្យ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​ជ្រើស​បច្ច"
+"ុប្បន្ន"
 
 msgid "Download"
 msgstr "ទាញយក"
@@ -5780,98 +5958,106 @@ msgstr "ទាញយក"
 msgid ""
 "Download information about the selected changesets from the OSM server"
 msgstr ""
+"ទាញ​យក​ព័ត៌មាន​អំពី​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​ជ្រើស​ចេញពី​ម៉ាស៊ីន​មេ OSM"
 
 msgid "Closes the selected open changesets"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ​បើក​ដែល​បាន​ជ្រើស"
 
 msgid "Show info"
-msgstr ""
+msgstr "បង្ហាញ​ព័ត៌មាន"
 
 msgid "Open a web page for each selected changeset"
-msgstr ""
+msgstr "បើក​ទំព័រ​បណ្ដាញ​សម្រាប់​សំណុំ​ផ្លាស់ប្ដូរ​នីមួយៗ​ដែល​បាន​ជ្រើស"
 
 msgid "Details"
-msgstr ""
+msgstr "សេចក្ដី​លម្អិត"
 
 msgid "Opens the Changeset Manager window for the selected changesets"
 msgstr ""
+"បើក​បង្អួច​កម្មវិធី​សំណុំ​ផ្លាស់ប្ដូរ​សម្រាប់​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​ជ្រើស"
 
 msgid "Command Stack"
-msgstr ""
+msgstr "ជង់​ពាក្យ​បញ្ជា"
 
 msgid "Open a list of all commands (undo buffer)."
-msgstr ""
+msgstr "បើក​បញ្ជី​ពាក្យ​បញ្ជា​ទាំងអស់ (មិនធ្វើវិញ​ទ្រនាប់)។"
 
 msgid "Toggle: {0}"
-msgstr ""
+msgstr "បិទ/បើក៖ {0}"
 
 msgid "Command Stack: Undo: {0} / Redo: {1}"
-msgstr ""
+msgstr "ជង់​ពាក្យ​បញ្ជា៖ មិនធ្វើវិញ៖ {0} / ធ្វើវិញ៖ {1}"
 
 msgid ""
 "Selects the objects that take part in this command (unless currently deleted)"
 msgstr ""
+"ជ្រើស​វត្ថុ​ដែល​មាន​ផ្នែក​នៅ​ក្នុង​ពាក្យ​បញ្ជា​នេះ "
+"(លុះត្រាតែ​ទើប​បាន​លុប​ថ្មីៗ)"
 
 msgid "Select and zoom"
-msgstr ""
+msgstr "ជ្រើស និង​ពង្រីក"
 
 msgid ""
 "Selects the objects that take part in this command (unless currently "
 "deleted), then and zooms to it"
 msgstr ""
+"ជ្រើស​វត្ថុ​ដែល​មាន​ផ្នែក​នៅ​ក្នុង​ពាក្យ​បញ្ជា​នេះ "
+"(លុះត្រាតែ​ទើប​បាន​លុប​ថ្មីៗ) បន្ទាប់មក​ពង្រីក​ទៅកាន់​វា"
 
 msgid "Undo the selected and all later commands"
 msgstr ""
+"មិនធ្វើវិញ​នូវ​ពាក្យ​បញ្ជា​ដែល​បាន​ជ្រើស និង​ពាក្យ​បញ្ជា​ក្រោយៗ​ទាំងអស់"
 
 msgid "Redo the selected and all earlier commands"
-msgstr ""
+msgstr "ធ្វើវិញ​នូវ​ពាក្យ​បញ្ជា​ដែល​បាន​ជ្រើស និង​ពាក្យ​បញ្ជា​មុនៗ​ទាំងអស់"
 
 msgid "Resolve conflicts."
-msgstr ""
+msgstr "ដោះស្រាយ​ការ​ប៉ះទង្គិច។"
 
 msgid "Conflict: {0} unresolved"
 msgid_plural "Conflicts: {0} unresolved"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ការ​ប៉ះទង្គិច៖ មិន​បាន​ដោះស្រាយ {0}"
 
 msgid "Rel.:{0} / Ways:{1} / Nodes:{2}"
-msgstr ""
+msgstr "ទំនាក់ទំនង៖{0} / ផ្លូវ៖{1} / តំណ៖{2}"
 
 msgid "Resolve"
-msgstr ""
+msgstr "ដោះស្រាយ"
 
 msgid "Open a merge dialog of all selected items in the list above."
 msgstr ""
+"បើក​ប្រអប់​បញ្ចូល​គ្នានៃ​ធាតុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​បញ្ជី​ខាងលើ។"
 
 msgid ""
 "Set the selected elements on the map to the selected items in the list above."
 msgstr ""
+"កំណត់​ធាតុ​ដែល​បាន​ជ្រើស​នៅ​លើ​ផែនទី "
+"ទៅ​ធាតុ​ដែល​បាន​ជ្រើស​នៅ​ក្នុង​បញ្ជី​ខាងលើ។"
 
 msgid "There was {0} conflict detected."
 msgid_plural "There were {0} conflicts detected."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "បាន​រក​ឃើញ​ការ​ប៉ះទង្គិច {0} ។"
 
 msgid "Click to close this dialog and continue editing"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បិទ​ប្រអប់​នេះ រួច​បន្ត​ការ​កែសម្រួល"
 
 msgid "Conflicts detected"
-msgstr ""
+msgstr "បាន​រក​ឃើញ​ការ​ប៉ះទង្គិច"
 
 msgid "Cancel conflict resolution and close the dialog"
-msgstr ""
+msgstr "បោះបង់​ការ​ដោះស្រាយ​ការ​ប៉ះទង្គិច រួច​បិទ​ប្រអប់"
 
 msgid "Apply resolved conflicts and close the dialog"
-msgstr ""
+msgstr "អនុវត្ត​ការ​ប៉ះទង្គិច​ដែល​បាន​ដោះស្រាយ រួច​បិទ​ប្រអប់"
 
 msgid "Apply Resolution"
-msgstr ""
+msgstr "អនុវត្ត​ការ​ដោះស្រាយ"
 
 msgid "Close anyway"
-msgstr ""
+msgstr "ទោះ​យ៉ាងណា​ក៏​បិទ"
 
 msgid "Continue resolving"
-msgstr ""
+msgstr "បន្ត​ការ​ដោះស្រាយ"
 
 msgid ""
 "<html>You did not finish to merge the differences in this "
@@ -5881,255 +6067,271 @@ msgid ""
 "applied.</strong><br>Click <strong>{1}</strong> to return to resolving "
 "conflicts.</html>"
 msgstr ""
+"<html>អ្នក​មិន​បាន​បញ្ចប់​ការ​បញ្ចូល​ភាព​ខុសគ្នា​នៅ​ក្នុង​ការ​ប៉ះទង្គិច​នេះ​ទ"
+"េ។<br>ដំណោះស្រាយ​ការ​ប៉ះទង្គិច​នឹង​មិន​ត្រូវ​បាន​អនុវត្ត​ឡើយ "
+"លុះត្រាតែ​ភាព​ខុសគ្នា​ទាំងអស់<br>ត្រូវ​បាន​ដោះស្រាយ។<br>ចុច "
+"<strong>{0}</strong> ដើម្បី​បិទ។ ភាព​ខុសគ្នា​ដែល​បាន​ដោះស្រាយ<strong> "
+"រួចហើយ<br>នឹង​មិន​ត្រូវ​បាន​អនុវត្ត​ឡើយ។</strong><br>ចុច "
+"<strong>{1}</strong> ដើម្បី​ត្រឡប់​ទៅ​ដោះស្រាយ​ការ​ប៉ះទង្គិច។</html>"
 
 msgid "Conflict not resolved completely"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច​មិន​ត្រូវ​បាន​ដោះស្រាយ​ទាំងស្រុង​ទេ"
 
 msgid "Resolve conflicts"
-msgstr ""
+msgstr "ដោះស្រាយ​ការ​ប៉ះទង្គិច"
 
 msgid "Resolve conflicts for ''{0}''"
-msgstr ""
+msgstr "ដោះស្រាយ​ការ​ប៉ះទង្គិច​សម្រាប់ ''{0}''"
 
 msgid "Filter objects and hide/disable them."
-msgstr ""
+msgstr "ត្រង​វត្ថុ រួច​លាក់/បិទ​ពួកវា។"
 
 msgid "Enable filter"
-msgstr ""
+msgstr "បើក​តម្រង"
 
 msgid "Multikey: {0}"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​ច្រើន៖ {0}"
 
 msgid "Hide filter"
-msgstr ""
+msgstr "លាក់​តម្រង"
 
 msgid "Hiding filter"
-msgstr ""
+msgstr "ការ​លាក់​តម្រង"
 
 msgid "Inverse filter"
-msgstr ""
+msgstr "បញ្ច្រាស​តម្រង"
 
 msgid "Filter mode"
-msgstr ""
+msgstr "របៀប​ត្រង"
 
 msgid "Add"
 msgstr "បន្ថែម"
 
 msgid "Add filter."
-msgstr ""
+msgstr "បន្ថែម​តម្រង"
 
 msgid "Edit filter."
-msgstr ""
+msgstr "កែ​តម្រង"
 
 msgid "Delete filter."
-msgstr ""
+msgstr "លុប​តម្រង"
 
 msgid "Move filter up."
-msgstr ""
+msgstr "ផ្លាស់ទី​តម្រង​ឡើងលើ"
 
 msgid "Move filter down."
-msgstr ""
+msgstr "ផ្លាស់ទី​តម្រង​ចុះក្រោម"
 
 msgid "Filter Hidden:{0} Disabled:{1}"
-msgstr ""
+msgstr "បាន​លាក់​តម្រង៖{0} បាន​បិទ៖{1}"
 
 msgid "Error in filter"
-msgstr ""
+msgstr "កំហុស​ក្នុង​តម្រង"
 
 msgctxt "filter"
 msgid "E"
-msgstr ""
+msgstr "E"
 
 msgctxt "filter"
 msgid "H"
-msgstr ""
+msgstr "H"
 
 msgctxt "filter"
 msgid "Text"
-msgstr ""
+msgstr "អត្ថបទ"
 
 msgctxt "filter"
 msgid "I"
-msgstr ""
+msgstr "I"
 
 msgctxt "filter"
 msgid "M"
-msgstr ""
+msgstr "M"
 
 msgctxt "filter"
 msgid "R"
-msgstr ""
+msgstr "R"
 
 msgctxt "filter"
 msgid "A"
-msgstr ""
+msgstr "A"
 
 msgctxt "filter"
 msgid "D"
-msgstr ""
+msgstr "D"
 
 msgctxt "filter"
 msgid "F"
-msgstr ""
+msgstr "F"
 
 msgid "<h2>Filter active</h2>"
-msgstr ""
+msgstr "<h2>តម្រង​សកម្ម</h2>"
 
 msgid "<p><b>{0}</b> object hidden"
 msgid_plural "<p><b>{0}</b> objects hidden"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<p><b>{0}</b> បាន​លាក់​វត្ថុ"
 
 msgid "<b>{0}</b> object disabled"
 msgid_plural "<b>{0}</b> objects disabled"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "បាន​បិទ​វត្ថុ <b>{0}</b>"
 
 msgid "</p><p>Close the filter dialog to see all objects.<p></html>"
-msgstr ""
+msgstr "</p><p>បិទ​ប្រអប់​តម្រង​ដើម្បី​ឃើញ​វត្ថុ​ទាំងអស់។<p></html>"
 
 msgid "Advanced object info"
-msgstr ""
+msgstr "ព័ត៌មាន​វត្ថុ​កម្រិត​ខ្ពស់"
 
 msgid "map style"
-msgstr ""
+msgstr "រចនាប័ទ្ម​ផែនទី"
 
 msgid " ({0})"
-msgstr ""
+msgstr " ({0})"
 
 msgid "not in data set"
-msgstr ""
+msgstr "មិន​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ"
 
 msgid "Node: "
-msgstr ""
+msgstr "តំណ៖ "
 
 msgid "Way: "
-msgstr ""
+msgstr "ផ្លូវ៖ "
 
 msgid "Relation: "
-msgstr ""
+msgstr "ទំនាក់ទំនង៖ "
 
 msgid "deleted-on-server"
-msgstr ""
+msgstr "បាន​លុប​ពី​ម៉ាស៊ីន​មេ"
 
 msgid "modified"
-msgstr ""
+msgstr "បានកែប្រែ"
 
 msgid "filtered/hidden"
-msgstr ""
+msgstr "ត្រង/លាក់"
 
 msgid "filtered/disabled"
-msgstr ""
+msgstr "ត្រង/បិទ"
 
 msgid "has direction keys (reversed)"
-msgstr ""
+msgstr "មាន​ពាក្យ​គន្លឹះ​ទិស (បញ្ច្រាស)"
 
 msgid "has direction keys"
-msgstr ""
+msgstr "មាន​ពាក្យ​គន្លឹះ​ទិស"
 
 msgid "State: "
-msgstr ""
+msgstr "ស្ថានភាព៖ "
 
 msgid "Data Set: "
-msgstr ""
+msgstr "សំណុំ​ទិន្នន័យ៖ "
 
 msgid "Edited at: "
-msgstr ""
+msgstr "បាន​កែ​នៅ៖ "
 
 msgid "<new object>"
-msgstr ""
+msgstr "<វត្ថុ​ថ្មី>"
 
 msgid "Edited by: "
-msgstr ""
+msgstr "បាន​កែ​ដោយ៖ "
 
 msgid "Version: "
-msgstr ""
+msgstr "កំណែ៖ "
 
 msgid "In changeset: "
-msgstr ""
+msgstr "ក្នុង​សំណុំ​ប្ដូរ៖ "
 
 msgid "Tags: "
-msgstr ""
+msgstr "ស្លាក៖ "
 
 msgid "Centroid: "
-msgstr ""
+msgstr "ចំកណ្ដាល៖ "
 
 msgid "{0} Member: "
 msgid_plural "{0} Members: "
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} សមាជិក៖ "
 
 msgid " as \"{0}\""
-msgstr ""
+msgstr " ជា \"{0}\""
 
 msgid "{0} Nodes: "
-msgstr ""
+msgstr "{0} តំណ៖ "
 
 msgid "Bounding box: "
-msgstr ""
+msgstr "ប្រអប់​ព្រំដែន៖ "
 
 msgid "Bounding box (projected): "
-msgstr ""
+msgstr "ប្រអប់​ព្រំដែន (បាន​ធ្វើ​ចំណោល)៖ "
 
 msgid "Center of bounding box: "
-msgstr ""
+msgstr "ចំកណ្ដាល​ប្រអប់​ព្រំដែន៖ "
 
 msgid "Coordinates: "
-msgstr ""
+msgstr "កូអរដោណេ៖ "
 
 msgid "Coordinates (projected): "
-msgstr ""
+msgstr "កូអរដោណេ (បាន​ធ្វើ​ចំណោល)៖ "
 
 msgid "Part of: "
-msgstr ""
+msgstr "ផ្នែក​នៃ៖ "
 
 msgid "In conflict with: "
-msgstr ""
+msgstr "ក្នុង​ការ​ប៉ះទង្គិច​ជាមួយ៖ "
 
 msgid "Styles Cache for \"{0}\":"
-msgstr ""
+msgstr "ឃ្លាំង​រចនាប័ទ្ម​សម្រាប់ \"{0}\" ៖"
 
 msgid ""
 "\n"
 "\n"
 "> applying {0} style \"{1}\"\n"
 msgstr ""
+"\n"
+"\n"
+"> ការ​អនុវត្ត {0} រចនាប័ទ្ម \"{1}\"\n"
 
 msgid ""
 "\n"
 "Range:{0}"
 msgstr ""
+"\n"
+"ជួរ៖{0}"
 
 msgid ""
 "\n"
 "\n"
 "> skipping \"{0}\" (not active)"
 msgstr ""
+"\n"
+"\n"
+"> ការ​រំលង \"{0}\" (មិន​សកម្ម)"
 
 msgid ""
 "\n"
 "\n"
 "List of generated Styles:\n"
 msgstr ""
+"\n"
+"\n"
+"បញ្ជី​រចនាប័ទ្ម​ដែល​បាន​បង្កើត៖\n"
 
 msgid "The 2 selected objects have identical style caches."
-msgstr ""
+msgstr "វត្ថុ​២​ដែល​បាន​ជ្រើស​មាន​ឃ្លាំង​រចនាប័ទ្ម​ដូចគ្នា។"
 
 msgid "The 2 selected objects have different style caches."
-msgstr ""
+msgstr "វត្ថុ២​ដែល​បាន​ជ្រើស​មាន​ឃ្លាំង​រចនាប័ទ្ម​ខុសគ្នា។"
 
 msgid ""
 "Warning: The 2 selected objects have equal, but not identical style caches."
 msgstr ""
+"ព្រមាន៖ វត្ថុ២ដែល​បាន​ជ្រើស​មាន​ភាព​ស្មើគ្នា "
+"ប៉ុន្តែ​មិន​មាន​ឃ្លាំង​រចនាប័ទ្ម​ដូចគ្នា។"
 
 msgid "xml"
-msgstr ""
+msgstr "xml"
 
 msgid "mapcss"
-msgstr ""
+msgstr "mapcss"
 
 msgid "unknown"
-msgstr ""
+msgstr "មិន​ស្គាល់"
 
 msgid ""
 "Enter the coordinates for the new node.<br/>You can separate longitude and "
@@ -6143,498 +6345,538 @@ msgid ""
 "<tt>°</tt>, <tt>'</tt>, <tt>′</tt>, <tt>"</tt>, "
 "<tt>″</tt> are optional.<br/><br/>Some examples:<ul>{0}</ul>"
 msgstr ""
+"បញ្ចូល​កូអរដោណេ​សម្រាប់​តំណ​ថ្មី។<br/>អ្នក​អាច​ញែក​រយៈបណ្ដោយ "
+"និង​រយៈទទឹង​ដោយ​ប្រើ​សញ្ញា​ដកឃ្លា សញ្ញា​ក្បៀស ឬ​សញ្ញា​ចុច​ក្បៀស "
+"(;)។<br/>ប្រើ​លេខ​វិជ្ជមាន ឬ​អក្សរ N, E ដើម្បី​បញ្ជាក់​ទិស​ខាងជើង "
+"ឬ​ខាងត្បូង។<br/>សម្រាប់​ទិស​ខាងត្បូង និង​ខាងកើត អ្នក​អាច​ប្រើ​លេខ​អវិជ្ជមាន "
+"ឬ​អក្សរ S, W "
+"បាន។<br/>តម្លៃ​កូអរដោណេ​អាច​ជា​ទ្រង់ទ្រាយ​មួយ​ដូច​ខាងក្រោម៖<ul><li><i>អង្សា</"
+"i><tt>°</tt></li><li><i>អង្សា</i><tt>°</tt> "
+"<i>នាទី</i><tt>'</tt></li><li><i>អង្សា</i><tt>°</tt> "
+"<i>នាទី</i><tt>'</tt> <i>វិនាទី</i><tt>&quot</tt></li></ul>សញ្ញា "
+"<tt>°</tt>, <tt>'</tt>, <tt>′</tt>, <tt>"</tt>, "
+"<tt>″</tt> គឺជា​ជម្រើស។<br/><br/>ឧទាហរណ៍៖<ul>{0}</ul>"
 
 msgid "Projected coordinates:"
-msgstr ""
+msgstr "កូអរដោណេ​ដែល​បាន​ធ្វើ​ចំណោល៖"
 
 msgid ""
 "Enter easting and northing (x and y) separated by space, comma or semicolon."
 msgstr ""
+"បញ្ចូល​ទិស​ខាងកើត និង​ខាងជើង (x និង y) បំបែក​ដោយ​សញ្ញា​ដកឃ្លា សញ្ញា​ក្បៀស "
+"ឬ​សញ្ញា​ចុច​ក្បៀស (;)។"
 
 msgid "Lat/Lon"
-msgstr ""
+msgstr "រយៈបណ្ដោយ/ទទឹង"
 
 msgid "East/North"
-msgstr ""
+msgstr "កើត/ជើង"
 
 msgid "Ok"
-msgstr ""
+msgstr "យល់ព្រម"
 
 msgid "Please enter a GPS coordinates"
-msgstr ""
+msgstr "សូម​បញ្ចូល​កូអរដោណេ​ជីភីអេស"
 
 msgid "Please enter a Easting and Northing"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ទិស​ខាងកើត និង​ខាងជើង"
 
 msgid "Toggle visibility of layer: {0}"
-msgstr ""
+msgstr "បិទ/បើក​លទ្ធភាព​មើលឃើញ​នៃ​ស្រទាប់៖ {0}"
 
 msgid "Open a list of all loaded layers."
-msgstr ""
+msgstr "បើក​បញ្ជី​ស្រទាប់​ទាំងអស់​ដែល​បាន​ផ្ទុក។"
 
 msgid "Delete the selected layers."
-msgstr ""
+msgstr "លុប​ស្រទាប់​ដែល​បាន​ជ្រើស។"
 
 msgid "Show/hide"
-msgstr ""
+msgstr "បង្ហាញ/លាក់"
 
 msgid "Toggle visible state of the selected layer."
-msgstr ""
+msgstr "បិទ/បើក​សភាព​មើលឃើញ​នៃ​ស្រទាប់​ដែល​បាន​ជ្រើស។"
 
 msgid "Show/hide layer"
-msgstr ""
+msgstr "បង្ហាញ/លាក់​ស្រទាប់"
 
 msgid "Opacity"
-msgstr ""
+msgstr "ភាព​ស្រអាប់"
 
 msgid "Adjust opacity of the layer."
-msgstr ""
+msgstr "លៃ​តម្រូវ​ភាព​ស្រអាប់​នៃ​ស្រទាប់។"
 
 msgid "Activate"
-msgstr ""
+msgstr "ធ្វើឲ្យ​សកម្ម"
 
 msgid "Activate the selected layer"
-msgstr ""
+msgstr "ធ្វើឲ្យ​ស្រទាប់​ដែល​បាន​ជ្រើស​សកម្ម"
 
 msgid "Activate layer"
-msgstr ""
+msgstr "ធ្វើឲ្យ​ស្រទាប់​សកម្ម"
 
 msgid "Merge this layer into another layer"
-msgstr ""
+msgstr "បញ្ចូល​ស្រទាប់​នេះ​ទៅ​ក្នុង​ស្រទាប់​ផ្សេងទៀត"
 
 msgid "Duplicate this layer"
-msgstr ""
+msgstr "ស្ទួន​ស្រទាប់​នេះ"
 
 msgid "Copy of {0}"
-msgstr ""
+msgstr "ចម្លង {0}"
 
 msgid "Copy {1} of {0}"
-msgstr ""
+msgstr "ចម្លង {1} នៃ {0}"
 
 msgid "layer is currently visible (click to hide layer)"
-msgstr ""
+msgstr "ស្រទាប់​បច្ចុប្បន្ន​គឺ​មើលឃើញ (ចុច​ដើម្បី​លាក់)"
 
 msgid "layer is currently hidden (click to show layer)"
-msgstr ""
+msgstr "ស្រទាប់​បច្ចុប្បន្ន​គឺ​លាក់ (ចុច​ដើម្បី​បង្ហាញ)"
 
 msgid "this layer is the active layer"
-msgstr ""
+msgstr "នេះ​ជា​ស្រទាប់​សកម្ម"
 
 msgid "this layer is not currently active (click to activate)"
-msgstr ""
+msgstr "ស្រទាប់​នេះ​បច្ចុប្បន្ន​មិន​សកម្ម (ចុច​ដើម្បី​ធ្វើឲ្យ​សកម្ម)"
 
 msgid "Move the selected layer one row up."
-msgstr ""
+msgstr "ផ្លាស់ទី​ស្រទាប់​ដែល​បាន​ជ្រើស​ឡើងលើ​មួយ​ជួរដេក។"
 
 msgid "Move the selected layer one row down."
-msgstr ""
+msgstr "ផ្លាស់ទី​ស្រទាប់​ដែល​បាន​ជ្រើស​ចុះក្រោម​មួយ​ជួរដេក។"
 
 msgid "Information about layer"
-msgstr ""
+msgstr "ព័ត៌មាន​ស្រទាប់"
 
 msgid "Map paint preferences"
-msgstr ""
+msgstr "ចំណូលចិត្ត​គំនូរ​ផែនទី"
 
 msgid "Map Paint Styles"
-msgstr ""
+msgstr "រចនាប័ទ្ម​គំនូរ​ផែនទី"
 
 msgid "configure the map painting style"
-msgstr ""
+msgstr "កំណត់​រចនាសម្ព័ន្ធ​រចនាប័ទ្ម​គំនូរ​ផែនទី"
 
 msgid "MapPaint"
-msgstr ""
+msgstr "គំនួរ​ផែនទី"
 
 msgid "On/Off"
-msgstr ""
+msgstr "បិទ/បើក"
 
 msgid "Turn selected styles on or off"
-msgstr ""
+msgstr "បិទ/បើក​ស្រទាប់​ដែល​បាន​ជ្រើស"
 
 msgid "Move the selected entry one row down."
-msgstr ""
+msgstr "ផ្លាស់ទី​ធាតុ​ដែល​បាន​ជ្រើស​ចុះក្រោម​មួយ​ជួរដេក"
 
 msgid "Move the selected entry one row up."
-msgstr ""
+msgstr "ផ្លាស់ទី​ធាតុ​ដែល​បាន​ជ្រើស​ឡើងលើ​មួយ​ជួរដេក"
 
 msgid "Reload from file"
-msgstr ""
+msgstr "ផ្ទុក​ឡើងវិញ​ពី​ឯកសារ"
 
 msgid "reload selected styles from file"
-msgstr ""
+msgstr "ផ្ទុក​រចនាប័ទ្ម​ដែល​បាន​ជ្រើស​ពី​ឯកសារ"
 
 msgid "Save as..."
-msgstr ""
+msgstr "រក្សាទុកជា..."
 
 msgid "Save a copy of this Style to file and add it to the list"
-msgstr ""
+msgstr "រក្សាទុក​ច្បាប់​ចម្លង​រចនាប័ទ្ម​នេះ​ទៅ​ឯកសារ រួច​បន្ថែម​វា​ទៅ​បញ្ជី"
 
 msgid "Map paint style file (*.mapcss, *.zip)"
-msgstr ""
+msgstr "ឯកសារ​រចនាប័ទ្ម​គំនូរ​ផែនទី (*.mapcss, *.zip)"
 
 msgid "Map paint style file (*.xml, *.zip)"
-msgstr ""
+msgstr "ឯកសារ​រចនាប័ទ្ម​គំនូរ​ផែនទី (*.xml, *.zip)"
 
 msgid "Reloading style sources"
-msgstr ""
+msgstr "ការ​ផ្ទុក​ប្រភព​រចនាប័ទ្ម​ឡើងវិញ"
 
 msgid "Save style ''{0}'' as ''{1}''"
-msgstr ""
+msgstr "រក្សាទុក​រចនាប័ទ្ម ''{0}'' ជា ''{1}''"
 
 msgid "view meta information, error log and source definition"
-msgstr ""
+msgstr "មើល​ព័ត៌មាន​មេតា កំហុស​កំណត់ហេតុ និង​និយមន័យ​ប្រភព"
 
 msgid "Map Style info"
-msgstr ""
+msgstr "ព័ត៌មាន​រចនាប័ទ្ម​ផែនទី"
 
 msgid "Source"
-msgstr ""
+msgstr "ប្រភព"
 
 msgid "Title:"
-msgstr ""
+msgstr "ចំណងជើង៖"
 
 msgid "URL:"
-msgstr ""
+msgstr "URL:"
 
 msgid "Built-in Style, internal path:"
-msgstr ""
+msgstr "រចនាប័ទ្ម​ជាប់​មក​ស្រាប់ ផ្លូវ​ខាងក្នុង៖"
 
 msgid "Path:"
-msgstr ""
+msgstr "ផ្លូវ៖"
 
 msgid "Icon:"
-msgstr ""
+msgstr "រូបតំណាង៖"
 
 msgid "Background:"
-msgstr ""
+msgstr "ផ្ទៃ​ខាងក្រោយ៖"
 
 msgid "Style is currently active?"
-msgstr ""
+msgstr "បច្ចុប្បន្ន​រចនាប័ទ្ម​សកម្ម​ឬ?"
 
 msgid "No"
-msgstr ""
+msgstr "ទេ"
 
 msgid "Style settings"
-msgstr ""
+msgstr "ការ​កំណត់​រចនាប័ទ្ម"
 
 msgid "Customize the style"
-msgstr ""
+msgstr "ប្ដូរ​រចនាប័ទ្ម​តាម​បំណង"
 
 msgid "Add comment"
-msgstr ""
+msgstr "បន្ថែម​មតិយោបល់"
 
 msgid "Comment"
-msgstr ""
+msgstr "មតិយោបល់"
 
 msgid "Comment on note"
-msgstr ""
+msgstr "មតិយោបល់​នៅ​លើ​ចំណាំ"
 
 msgid "Add comment to note:"
-msgstr ""
+msgstr "បន្ថែម​មតិយោបល់​ទៅ​ចំណាំ៖"
 
 msgid "Close note"
-msgstr ""
+msgstr "បិទ​ចំណាំ"
 
 msgid "Close note with message:"
-msgstr ""
+msgstr "បិទ​ចំណាំ​ជាមួយ​សារ៖"
 
 msgid "Create a new note"
-msgstr ""
+msgstr "បង្កើត​ចំណាំ​ថ្មី"
 
 msgid "Create"
-msgstr ""
+msgstr "​បង្កើត"
 
 msgid "Reopen note"
-msgstr ""
+msgstr "បើក​ចំណាំ​ឡើងវិញ"
 
 msgid "Reopen"
-msgstr ""
+msgstr "បើក​ឡើងវិញ"
 
 msgid "Reopen note with message:"
-msgstr ""
+msgstr "បើក​ចំណាំ​ឡើងវិញ​ជាមួយ​សារ៖"
+
+msgid "Sort notes"
+msgstr "តម្រៀប​ចំណាំ"
+
+msgid "Sort"
+msgstr "តម្រៀប"
 
 msgid "Object type:"
-msgstr ""
+msgstr "ប្រភេទ​វត្ថុ៖"
 
 msgctxt "osm object types"
 msgid "mixed"
-msgstr ""
+msgstr "ចម្រុះ"
 
 msgid "Choose the OSM object type"
-msgstr ""
+msgstr "ជ្រើស​ប្រភេទ​វត្ថុ OSM"
 
 msgid "Object ID:"
-msgstr ""
+msgstr "លេខ​សម្គាល់​វត្ថុ៖"
 
 msgid "Enter the ID of the object that should be downloaded"
-msgstr ""
+msgstr "បញ្ចូល​លេខ​សម្គាល់​វត្ថុ​ដែល​គួរ​ត្រូវ​បាន​ទាញ​យក"
 
 msgid ""
 "Object IDs can be separated by comma or space.<br/>Examples: {0}<br/>In "
 "mixed mode, specify objects like this: {1}<br/>({2} stands for <i>node</i>, "
 "{3} for <i>way</i>, and {4} for <i>relation</i>)"
 msgstr ""
+"លេខ​សម្គាល់​វត្ថុ​អាច​ត្រូវ​បាន​ញែក​ដោយ​សញ្ញា​ក្បៀស "
+"ឬ​សញ្ញា​ដកឃ្លា។<br/>ឧទាហរណ៍៖ {0}<br/>នៅ​ក្នុង​របៀប​ចម្រុះ "
+"អ្នក​ត្រូវ​បញ្ជាក់​ដូចនេះ៖ {1}<br/>({2} តំណាង​ឲ្យ <i>តំណ</i>, {3} សម្រាប់ "
+"<i>ផ្លូវ</i>, និង {4} សម្រាប់ <i>ទំនាក់ទំនង</i>)"
 
 msgid ""
 "Invalid ID list specified\n"
 "Cannot continue."
 msgstr ""
+"បាន​បញ្ជាក់​បញ្ជី​លេខ​សម្គាល់​មិន​ត្រឹមត្រូវ\n"
+"មិន​អាច​បន្ត​បាន។"
 
 msgid "Relations"
 msgstr "ទំនាក់​ទំនង"
 
 msgid "Open a list of all relations."
-msgstr ""
+msgstr "បើក​បញ្ជី​ទំនាក់ទំនង​ទាំងអស់។"
 
 msgid "Relation list filter"
-msgstr ""
+msgstr "តម្រង​បញ្ជី​ទំនាក់ទំនង"
 
 msgid "Create a new relation"
-msgstr ""
+msgstr "បង្កើត​ទំនាក់ទំនង​ថ្មី"
 
 msgid "New"
 msgstr "ថ្មី"
 
 msgid "Relations: {0}/{1}"
-msgstr ""
+msgstr "ទំនាក់ទំនង៖ {0}/{1}"
 
 msgid "Relations: {0}"
-msgstr ""
+msgstr "ទំនាក់ទំនង៖ {0}"
 
 msgid "Open a selection list window."
-msgstr ""
+msgstr "បើក​បង្អួច​បញ្ជី​ជម្រើស។"
 
 msgid "Current Selection"
 msgstr "ជម្រើស​បច្ចុប្បន្ន"
 
 msgid "Search for objects"
-msgstr ""
+msgstr "ស្វែងរក​វត្ថុ"
 
 msgid "Display the history of the selected objects."
-msgstr ""
+msgstr "បង្ហាញ​ប្រវត្តិ​វត្ថុ​ដែល​បាន​ជ្រើស។"
 
 msgid "Zoom to selection"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​ជម្រើស"
 
 msgid "Zoom to selected element(s)"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​ធាតុ​ដែល​បាន​ជ្រើស"
 
 msgid "Sel.: Rel.:{0} / Ways:{1} / Nodes:{2}"
-msgstr ""
+msgstr "Sel.: Rel.:{0} / Ways:{1} / Nodes:{2}"
 
 msgid "Unselectable now"
-msgstr ""
+msgstr "មិន​អាច​ជ្រើស​បាន​ឥឡូវ"
 
 msgid "Selection: {0}"
-msgstr ""
+msgstr "ជម្រើស៖ {0}"
 
 msgid "Always shown"
-msgstr ""
+msgstr "បង្ហាញ​ជានិច្ច"
 
 msgid "Dynamic"
-msgstr ""
+msgstr "ថាមវន្ត"
 
 msgid "Always hidden"
-msgstr ""
+msgstr "លាក់​ជានិច្ច"
 
 msgid "Toggle dynamic buttons"
-msgstr ""
+msgstr "បិទ/បើក​ប៊ូតុង​ថាមវន្ត"
 
 msgid "Open preferences for this panel"
-msgstr ""
+msgstr "បើក​ចំណូលចិត្ត​សម្រាប់​ផ្ទាំង​នេះ"
 
 msgid "Undock the panel"
-msgstr ""
+msgstr "កុំ​ចត​ផ្ទាំង"
 
 msgid ""
 "Close this panel. You can reopen it with the buttons in the left toolbar."
 msgstr ""
+"បិទ​ផ្ទាំង​នេះ។ "
+"អ្នក​អាច​បើក​វា​ឡើងវិញ​ដោយ​ប្រើ​ប៊ូតុង​នៅ​ក្នុង​របារ​ឧបករណ៍​ខាងឆ្វេង។"
 
 msgid "Click to minimize/maximize the panel content"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បង្រួម​អប្បបរមា/ពង្រីក​អតិបរមា​នូវ​​មាតិកា​ផ្ទាំង"
 
 msgid "Side buttons"
-msgstr ""
+msgstr "ប៊ូតុង​ចំហៀង"
 
 msgid "Authors"
 msgstr "អ្នកនិពន្ឋ"
 
 msgid "Open a list of people working on the selected objects."
-msgstr ""
+msgstr "បើក​បញ្ជី​អ្នក​ធ្វើការ​នៅ​​លើ​វត្ថុ​ដែល​បាន​ជ្រើស។"
 
 msgid "{0} Author"
 msgid_plural "{0} Authors"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "អ្នកនិពន្ធ {0} នាក់"
 
 msgid "Select objects submitted by this user"
-msgstr ""
+msgstr "ជ្រើស​វត្ថុ​ដែល​បាន​ដាក់​ស្នើ​ដោយ​អ្នកប្រើ​នេះ"
 
 msgid "Launches a browser with information about the user"
-msgstr ""
+msgstr "ចាប់ផ្ដើម​កម្មវិធី​អ៊ីនធឺណិត​ជាមួយ​ព័ត៌មាន​អំពី​អ្នកប្រើ"
 
 msgid "Only launching info browsers for the first {0} of {1} selected users"
 msgstr ""
+"ចាប់ផ្ដើម​តែ​ព័ត៌មាន​កម្មវិធី​អ៊ីនធឺណិត​សម្រាប់ {0} ដំបូង​នៃ​អ្នកប្រើ {1} "
+"ដែល​បាន​ជ្រើស​ប៉ុណ្ណោះ"
 
 msgid ""
 "<html>Failed to create an URL because the encoding ''{0}''<br>was missing on "
 "this system.</html>"
 msgstr ""
+"<html>បាន​បរាជ័យ​ក្នុង​ការ​បង្កើត URL ដោយសារ​ការ​ដាក់​លេខ​កូដ "
+"''{0}''<br>បាន​បាត់​នៅ​លើ​ប្រព័ន្ធ​នេះ។</html>"
 
 msgid "Missing encoding"
-msgstr ""
+msgstr "បាត់​ការ​ដាក់​លេខ​កូដ"
 
 msgid "Author"
 msgstr "អ្នកនិពន្ធ"
 
 msgid "# Objects"
-msgstr ""
+msgstr "វត្ថុ #"
 
 msgid "Validation Results"
-msgstr ""
+msgstr "លទ្ធផល​សុពលកម្ម"
 
 msgid "Open the validation window."
-msgstr ""
+msgstr "បើក​បង្អួច​សុពលកម្ម។"
 
 msgid "Validation results"
-msgstr ""
+msgstr "លទ្ធផល​សុពលកម្ម"
 
 msgid "Fix"
-msgstr ""
+msgstr "កែ"
 
 msgid "Fix the selected issue."
-msgstr ""
+msgstr "កែ​ការ​ចេញផ្សាយ​ដែល​បាន​ជ្រើស។"
 
 msgid "Ignore the selected issue next time."
-msgstr ""
+msgstr "មិន​អើពើ​ការ​ចេញផ្សាយ​ដែល​បាន​ជ្រើស​នៅ​ពេល​បន្ទាប់។"
 
 msgid "Whole group"
-msgstr ""
+msgstr "ក្រុម​ទាំងមូល"
 
 msgid "Single elements"
-msgstr ""
+msgstr "ធាតុ​តែមួយ"
 
 msgid "Nothing"
-msgstr ""
+msgstr "កុំ​ធ្វើ​អ្វី​ទាំងអស់"
 
 msgid "Ignore whole group or individual elements?"
-msgstr ""
+msgstr "មិន​អើពើ​ក្រុម​ទាំងមូល ឬ​ធាតុ​ដាច់ដោយឡែក?"
 
 msgid "Ignoring elements"
-msgstr ""
+msgstr "មិន​អើពើ​ធាតុ"
 
 msgid "Fixing errors ..."
-msgstr ""
+msgstr "កំពុង​កែ​កំហុស..."
 
 msgid "Fixing ({0}/{1}): ''{2}''"
-msgstr ""
+msgstr "កំពុង​កែ ({0}/{1}): ''{2}''"
 
 msgid "Updating map ..."
-msgstr ""
+msgstr "កំពុង​ធ្វើ​បច្ចុប្បន្នភាព​ផែនទី..."
 
 msgid "anonymous"
-msgstr ""
+msgstr "អនាមិក"
 
 msgid "Display the basic properties of the changeset"
-msgstr ""
+msgstr "បង្ហាញ​លក្ខណសម្បត្តិ​មូលដ្ឋាន​របស់​សំណុំ​ផ្លាស់ប្ដូរ។"
 
 msgid "Display the tags of the changeset"
-msgstr ""
+msgstr "បង្ហាញ​ស្លាក​នៃ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Content"
-msgstr ""
+msgstr "មាតិកា"
 
 msgid "Display the objects created, updated, and deleted by the changeset"
 msgstr ""
+"បង្ហាញ​វត្ថុ​ដែល​បាន​បង្កើត ធ្វើ​បច្ចុប្បន្នភាព "
+"និង​បាន​លុប​ដោយ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Discussion"
-msgstr ""
+msgstr "ការ​ពិភាក្សា"
 
 msgid "Display the public discussion around this changeset"
-msgstr ""
+msgstr "បង្ហាញ​ការ​ពិភាក្សា​សាធារណៈ​ជុំវិញ​សំណុំ​ផ្លាស់ប្ដូរ​នេះ"
 
 msgid "Changeset Management Dialog"
-msgstr ""
+msgstr "ប្រអប់​គ្រប់គ្រង​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Close the dialog"
 msgstr "បិទ​ប្រអប់ dialog"
 
 msgid "Query"
-msgstr ""
+msgstr "សំណួរ​"
 
 msgid "Launch the dialog for querying changesets"
-msgstr ""
+msgstr "ចាប់ផ្ដើម​ប្រអប់​សម្រាប់​សំណុំ​ផ្លាស់ប្ដូរ​សំណួរ"
 
 msgid "Remove from cache"
-msgstr ""
+msgstr "លុបចេញ​ពី​ឃ្លាំង"
 
 msgid "Remove the selected changesets from the local cache"
-msgstr ""
+msgstr "លុប​សំណុំ​ផ្លាស់ប្ដូរ​ចេញពី​ឃ្លាំង​មូលដ្ឋាន"
 
 msgid "Close the selected changesets"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​ជ្រើស"
 
 msgid "Update changeset"
-msgstr ""
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Updates the selected changesets with current data from the OSM server"
 msgstr ""
+"ធ្វើ​បច្ចុប្បន្នភាព​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​ជ្រើស "
+"ជាមួយ​ទិន្នន័យ​បច្ចុប្បន្ន​ពី​ម៉ាស៊ីន​មេ OSM"
 
 msgid "Download changeset content"
-msgstr ""
+msgstr "ទាញ​យក​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Download the content of the selected changesets from the server"
-msgstr ""
+msgstr "ទាញ​យក​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បា​នជ្រើស​ចេញពី​ម៉ាស៊ីន​មេ"
 
 msgid "My changesets"
-msgstr ""
+msgstr "សំណុំ​ផ្លាស់ប្ដូរ​របស់​ខ្ញុំ"
 
 msgid "Download my changesets from the OSM server (max. 100 changesets)"
 msgstr ""
+"ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​របស់​ខ្ញុំ​ចេញពី​ម៉ាស៊ីន​មេ OSM (អតិ. "
+"១០០សំណុំ​ផ្លាស់ប្ដូរ)"
 
 msgid ""
 "<html>JOSM is currently running with an anonymous user. It cannot "
 "download<br>your changesets from the OSM server unless you enter your OSM "
 "user name<br>in the JOSM preferences.</html>"
 msgstr ""
+"<html>JOSM បច្ចុប្បន្ន​កំពុង​ដំណើរការ​ជាមួយ​អ្នកប្រើ​អនាមិក។ "
+"វា​មិន​អាច​ទាញ​យក<br>សំណុំ​ផ្លាស់ប្ដូរ​របស់​អ្នក​ចេញពី​ម៉ាស៊ីន​មេ OSM បាន​ទេ "
+"លុះត្រាតែ​អ្នក​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ OSM របស់​អ្នក<br>នៅ​ក្នុង​ចំណូលចិត្ត "
+"JOSM ។</html>"
 
 msgctxt "changeset.upload-comment"
 msgid "empty"
-msgstr ""
+msgstr "សម្អាត"
 
 msgctxt "changeset.state"
 msgid "Open"
-msgstr ""
+msgstr "បើក"
 
 msgctxt "changeset.state"
 msgid "Closed"
-msgstr ""
+msgstr "បិទ"
 
 msgid "ID"
-msgstr ""
+msgstr "​លេខ​សម្គាល់"
 
 msgid "Open"
-msgstr ""
+msgstr "បើក"
 
 msgid "User"
-msgstr ""
+msgstr "អ្នកប្រើ"
 
 msgid "Created at"
-msgstr ""
+msgstr "បាន​បង្កើត​នៅ"
 
 msgid "Closed at"
-msgstr ""
+msgstr "បាន​បិទ​នៅ"
 
 msgid "Discussions"
-msgstr ""
+msgstr "ការ​ពិភាក្សា"
 
 msgid "Downloading changeset content"
-msgstr ""
+msgstr "ការ​ទាញ​យក​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "({0}/{1}) Downloading changeset {2}..."
-msgstr ""
+msgstr "({0}/{1}) កំពុង​ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ {2}..."
 
 msgid "({0}/{1}) Downloading content for changeset {2}..."
-msgstr ""
+msgstr "({0}/{1}) កំពុង​ទាញ​យក​មាតិការ​សម្រាប់​សំណុំ​ផ្លាស់ប្ដូរ {2}..."
 
 msgid ""
 "<html>The selected object is not available in the current<br>edit layer "
@@ -6643,276 +6885,321 @@ msgid_plural ""
 "<html>None of the selected objects is available in the current<br>edit layer "
 "''{0}''.</html>"
 msgstr[0] ""
-msgstr[1] ""
+"<html>វត្ថុ​ដែល​បាន​ជ្រើស​មិន​មាន​នៅ​ក្នុង<br>ស្រទាប់​កែសម្រួល ''{0}'' "
+"បច្ចុប្បន្ន​ទេ។</html>"
 
 msgid "Download content"
-msgstr ""
+msgstr "ទាញ​យក​មាតិកា"
 
 msgid "Download the changeset content from the OSM server"
-msgstr ""
+msgstr "ទាញ​យក​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
 
 msgid "Update content"
-msgstr ""
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​មាតិកា"
 
 msgid "Update the changeset content from the OSM server"
-msgstr ""
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
 
 msgid "Download and show the history of the selected objects"
-msgstr ""
+msgstr "ទាញ​យក និង​បង្ហាញ​ប្រវត្តិ​វត្ថុ​ដែល​បាន​ជ្រើស"
 
 msgid "Select in layer"
-msgstr ""
+msgstr "ជ្រើស​ក្នុង​ស្រទាប់"
 
 msgid "Select the corresponding primitives in the current data layer"
-msgstr ""
+msgstr "ជ្រើស​ព្រីមីទីវ​ដែល​ត្រូវគ្នា​នៅ​ក្នុង​ស្រទាប់​ទិន្នន័យ​បច្ចុប្បន្ន"
 
 msgid "Nothing to select"
-msgstr ""
+msgstr "មិន​មាន​អ្វី​ត្រូវ​ជ្រើស"
 
 msgid "Zoom to in layer"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​ស្រទាប់"
 
 msgid "Zoom to the corresponding objects in the current data layer"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​វត្ថុ​ដែល​ត្រូវគ្នា​នៅ​ក្នុង​ស្រទាប់​ទិន្នន័យ​បច្ចុប្បន្ន"
 
 msgid "Nothing to zoom to"
-msgstr ""
+msgstr "មិន​មាន​អ្វី​ដែល​ត្រូវ​ពង្រីក​ទៅ"
 
 msgid "The content of this changeset is not downloaded yet."
-msgstr ""
+msgstr "មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​នេះ​មិនទាន់​បាន​ទាញ​យក​ទេ។"
 
 msgid "Download now"
-msgstr ""
+msgstr "ទាញ​យក​ឥឡូវ"
 
 msgid "Download the changeset content"
-msgstr ""
+msgstr "ទាញ​យក​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Created"
-msgstr ""
+msgstr "បាន​បង្កើត"
 
 msgid "Updated"
-msgstr ""
+msgstr "បាន​ធ្វើ​បច្ចុប្បន្នភាព"
 
 msgid "Deleted"
-msgstr ""
+msgstr "បាន​លុប"
 
 msgid "Name"
 msgstr "ឈ្មោះ"
 
 msgid "ID:"
-msgstr ""
+msgstr "លេខ​សម្គាល់៖"
 
 msgid "Comment:"
-msgstr ""
+msgstr "មតិយោបល់៖"
 
 msgid "Open/Closed:"
-msgstr ""
+msgstr "បើក/បិទ៖"
 
 msgid "Created by:"
-msgstr ""
+msgstr "បង្កើត​ដោយ៖"
 
 msgid "Created on:"
-msgstr ""
+msgstr "បង្កើត​នៅ៖"
 
 msgid "Closed on:"
-msgstr ""
+msgstr "បាន​បិទ​នៅ៖"
 
 msgid "Remove the changeset in the detail view panel from the local cache"
 msgstr ""
+"លុប​សំណុំ​ផ្លាស់ប្ដូរ​នៅ​ក្នុង​ផ្ទាំង​ទិដ្ឋភាព​លម្អិត​ចេញពី​ឃ្លាំង​មូលដ្ឋាន"
 
 msgid "Update the changeset from the OSM server"
-msgstr ""
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
 
 msgid ""
 "Select the primitives in the content of this changeset in the current data "
 "layer"
 msgstr ""
+"ជ្រើស​ព្រីមីទីវ​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​នេះ​នៅ​ក្នុង​ស្រទាប់​ទិន្នន័យ​បច្ចុប"
+"្បន្ន"
 
 msgid ""
 "<html>None of the objects in the content of changeset {0} is available in "
 "the current<br>edit layer ''{1}''.</html>"
 msgstr ""
+"<html>វត្ថុ​នៅ​ក្នុង​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ {0} "
+"មិន​មាន​នៅ​ក្នុង<br>ស្រទាប់​កែសម្រួល ''{1}'' បច្ចុប្បន្ន​ទេ។</html>"
 
 msgid ""
 "Zoom to the objects in the content of this changeset in the current data "
 "layer"
 msgstr ""
+"ពង្រីក​ទៅ​វត្ថុ​នៃ​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ​នេះ​ក្នុង​ស្រទាប់​ទិន្នន័យ​បច្ចុប"
+"្បន្ន"
 
 msgid "Update changeset discussion"
-msgstr ""
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​ការ​ពិភាក្សា​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Update the changeset discussion from the OSM server"
-msgstr ""
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​ការ​ពិភាក្សា​សំណុំ​ផ្លាស់ប្ដូរ​ពី​ម៉ាស៊ីន​មេ OSM"
 
 msgid "Date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទ"
 
 msgid "Download changesets"
-msgstr ""
+msgstr "ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "{0} [incomplete]"
-msgstr ""
+msgstr "{0} [មិន​បញ្ចប់]"
 
 msgid "open"
-msgstr ""
+msgstr "បើក"
 
 msgid "closed"
-msgstr ""
+msgstr "បិទ"
 
 msgid "Changeset ID: "
-msgstr ""
+msgstr "លេខ​សម្គាល់​សំណុំ​ផ្លាស់ប្ដូរ៖ "
 
 msgid "Enter a changeset id"
-msgstr ""
+msgstr "បញ្ចូល​លេខ​សម្គាល់​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid ""
 "Download the changeset with the specified id, including the changeset content"
 msgstr ""
+"ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​មាន​លេខ​សម្គាល់​ជាក់លាក់ "
+"រួម​ទាំង​មាតិកា​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Select changesets owned by specific users"
-msgstr ""
+msgstr "ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​ជា​កម្មសិទ្ធិ​របស់​អ្នកប្រើ​ជាក់លាក់"
 
 msgid "Select changesets depending on whether they are open or closed"
-msgstr ""
+msgstr "ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ដោយ​ផ្អែក​លើ​ថា​តើ​ពួកវា​បាន​បើក ឬ​បិទ"
 
 msgid ""
 "Select changesets based on the date/time they have been created or closed"
 msgstr ""
+"ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ផ្អែក​លើ​ពេលវេលា/កាលបរិច្ឆេទ​ដែល​ពួកគេ​បាន​បង្កើត "
+"ឬ​បិទ"
 
 msgid "Select only changesets related to a specific bounding box"
 msgstr ""
+"ជ្រើស​តែ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​ពាក់ព័ន្ធ​នឹង​ប្រអប់​ភ្ជាប់​ជាក់លាក់​ប៉ុណ្ណោះ"
 
 msgid "Query open changesets only"
-msgstr ""
+msgstr "សំណួរ​បើក​តែ​សំណុំ​ផ្លាស់ប្ដូរ​ប៉ុណ្ណោះ"
 
 msgid "Query closed changesets only"
-msgstr ""
+msgstr "សំណួរ​បិទ​តែ​សំណុំ​ផ្លាស់ប្ដូរ​ប៉ុណ្ណោះ"
 
 msgid "Query both open and closed changesets"
-msgstr ""
+msgstr "សំណួរ​ទាំង​និទ និង​បើក​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "User ID:"
-msgstr ""
+msgstr "លេខ​សម្គាល់​អ្នកប្រើ៖"
 
 msgid "User name:"
-msgstr ""
+msgstr "ឈ្មោះ​អ្នកប្រើ៖"
 
 msgid "Only changesets owned by myself"
-msgstr ""
+msgstr "តែ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​ជា​កម្មសិទ្ធិ​របស់​ខ្ញុំ​ប៉ុណ្ណោះ"
 
 msgid "Only changesets owned by the user with the following user ID"
 msgstr ""
+"តែ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​ជា​កម្មសិទ្ធិ​របស់​អ្នកប្រើ​ដែល​មាន​លេខ​សម្គាល់​ដូច​"
+"ខាងក្រោម​ប៉ុណ្ណោះ"
 
 msgid "Only changesets owned by the user with the following user name"
 msgstr ""
+"តែ​សំណុំ​ផ្លាស់ប្ដូរ​ជា​កម្មសិទ្ធិ​របស់​អ្នកប្រើ​ដែល​មាន​ឈ្មោះ​ដូច​ខាងក្រោម​ប"
+"៉ុណ្ណោះ"
 
 msgid ""
 "Only changesets owned by myself (disabled. JOSM is currently run by an "
 "anonymous user)"
 msgstr ""
+"តែ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​ជា​កម្មសិទ្ធិ​របស់​ខ្ញុំ​ប៉ុណ្ណោះ (បាន​បិទ ហើយ JOSM "
+"កំពុង​ដំណើរការ​ដោយ​អ្នកប្រើ​អនាមិក)"
 
 msgid ""
 "Cannot restrict changeset query to the current user because the current user "
 "is anonymous"
 msgstr ""
+"មិន​អាច​ដាក់​កម្រិត​សំណួរ​សំណុំ​ផ្លាស់ប្ដូរ​ទៅ​អ្នកប្រើ​បច្ចុប្បន្ន "
+"ព្រោះ​គាត់​ជា​អ្នកប្រើ​អនាមិក"
 
 msgid "Current value ''{0}'' for user ID is not valid"
 msgstr ""
+"តម្លៃ ''{0}'' បច្ចុប្បន្ន​សម្រាប់​លេខ​សម្គាល់​អ្នកប្រើ​មិន​ត្រឹមត្រូវ"
 
 msgid "Cannot restrict the changeset query to the user name ''{0}''"
 msgstr ""
+"មិន​អាច​ដាក់​កម្រិត​សំណួរ​សំណុំ​ផ្លាស់ប្ដូរ​ទៅ​អ្នកប្រើ​ឈ្មោះ ''{0}''"
 
 msgid "Please enter a valid user ID"
-msgstr ""
+msgstr "សូម​បញ្ចូល​លេខ​សម្គាល់​អ្នកប្រើ​ត្រឹមត្រូវ"
 
 msgid "Invalid user ID"
-msgstr ""
+msgstr "លេខ​សម្គាល់​អ្នកប្រើ​មិន​ត្រឹមត្រូវ"
 
 msgid "Please enter a non-empty user name"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ​មិន​ទទេ"
 
 msgid "Invalid user name"
-msgstr ""
+msgstr "ឈ្មោះ​អ្នកប្រើ​មិន​ត្រឹមត្រូវ"
 
 msgid "Date: "
-msgstr ""
+msgstr "កាលបរិច្ឆេទ៖ "
 
 msgid "Time:"
-msgstr ""
+msgstr "ពេលវេលា៖"
 
 msgid "Closed after - "
-msgstr ""
+msgstr "បិទ​បន្ទាប់ពី - "
 
 msgid "Date:"
-msgstr ""
+msgstr "កាលបរិច្ឆេទ៖"
 
 msgid "Created before - "
-msgstr ""
+msgstr "បាន​បង្កើត​មុន - "
 
 msgid "Only changesets closed after the following date/time"
 msgstr ""
+"មាន​តែ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​បិទ​បន្ទាប់ពី​ពេលវេលា/កាលបរិច្ឆេទ​ដូច​ខាងក្រ"
+"ោម​ប៉ុណ្ណោះ"
 
 msgid "Only changesets closed after and created before a specific date/time"
 msgstr ""
+"មាន​តែ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​បិទ​បន្ទាប់ពី "
+"និង​បាន​បង្កើត​មុន​ពេលវេលា/កាលបរិច្ឆេទ​ដូច​ខាងក្រោម​ប៉ុណ្ណោះ"
 
 msgid ""
 "Cannot build changeset query with time based restrictions. Input is not "
 "valid."
 msgstr ""
+"មិន​អាច​បង្កើត​សំណួរ​សំណុំ​ផ្លាស់ប្ដូរ​ជាមួយ​ការ​ដាក់​កម្រិត​មូលដ្ឋាន​ពេលវេលា"
+"។ ព័ត៌មាន​បញ្ចូល​មិន​ត្រឹមត្រូវ។"
 
 msgid ""
 "<html>Please enter valid date/time values to restrict<br>the query to a "
 "specific time range.</html>"
 msgstr ""
+"<html>សូម​បញ្ចូល​តម្លៃ​ពេលវេលា/កាលបរិច្ឆេទ​ត្រឹមត្រូវ​ដើម្បី​ដាក់​កម្រិត<br>ស"
+"ំណួរ​ទៅ​ជួរ​ពេលវេលា​ជាក់លាក់។</html>"
 
 msgid "Invalid date/time values"
-msgstr ""
+msgstr "តម្លៃ​ពេលវេលា/កាលបរិច្ឆេទ​មិន​ត្រឹមត្រូវ"
 
 msgid ""
 "Cannot restrict the changeset query to a specific bounding box. The input is "
 "invalid."
 msgstr ""
+"មិន​អាច​ដាក់​កម្រិត​សំណួរ​សំណុំ​ផ្លាស់ប្ដូរ​ទៅ​ប្រអប់​ព្រំដែន។ "
+"ព័ត៌មាន​បញ្ចូល​មិន​ត្រឹមត្រូវ។"
 
 msgid ""
 "<html>Please enter valid longitude/latitude values to restrict<br>the "
 "changeset query to a specific bounding box.</html>"
 msgstr ""
+"<html>សូម​បញ្ចូល​តម្លៃ​រយៈបណ្ដោយ/រយៈទទឹង​ដើម្បី​ដាក់​កម្រិត<br>សំណួរ​សំណុំ​ផ្"
+"លាស់ប្ដូរ​ទៅ​ប្រអប់​ព្រំដែន​ជាក់លាក់។</html>"
 
 msgid "Invalid bounding box"
-msgstr ""
+msgstr "ប្រអប់​ព្រំដែន​មិន​ត្រឹមត្រូវ"
 
 msgid ""
 "The current value is not a valid user ID. Please enter an integer value > 0"
 msgstr ""
+"តម្លៃ​បច្ចុប្បន្ន​មិនមែន​ជា​លេខ​សម្គាល់​អ្នកប្រើ​ត្រឹមត្រូវ។ "
+"សូម​បញ្ចូល​តម្លៃ​ចំនួនគត់ > 0"
 
 msgid "Please enter an integer value > 0"
-msgstr ""
+msgstr "សូម​បញ្ចូល​តម្លៃ​ចំនួនគត់ > 0"
 
 msgid ""
 "<html>The  current value is not a valid user name.<br>Please enter an non-"
 "empty user name.</html>"
 msgstr ""
+"<html>តម្លៃ​បច្ចុប្បន្ន​មិនមែន​ជា​ឈ្មោះ​អ្នកប្រើ​ត្រឹមត្រូវ។<br>សូម​បញ្ចូល​ឈ្"
+"មោះ​អ្នកប្រើ​ដែល​មិន​ទទេ។</html>"
 
 msgid "Please enter an non-empty user name"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ​ដែល​មិន​ទទេ។"
 
 msgid ""
 "Please enter a date in the usual format for your locale.<br>Example: "
 "{0}<br>Example: {1}<br>Example: {2}<br>Example: {3}<br>"
 msgstr ""
+"សូម​បញ្ចូល​កាលបរិច្ឆេទ​ក្នុង​ទ្រង់ទ្រាយ​ទូទៅ​សម្រាប់​ភាសា​របស់​អ្នក។<br>ឧទាហរ"
+"ណ៍៖ {0}<br>ឧទាហរណ៍៖ {1}<br>ឧទាហរណ៍៖ {2}<br>ឧទាហរណ៍៖ {3}<br>"
 
 msgid ""
 "Please enter a valid time in the usual format for your locale.<br>Example: "
 "{0}<br>Example: {1}<br>Example: {2}<br>Example: {3}<br>"
 msgstr ""
+"សូម​បញ្ចូល​ពេលវេលា​ក្នុង​ទ្រង់ទ្រាយ​ទូទៅ​សម្រាប់​ភាសា​របស់​អ្នក។<br>ឧទាហរណ៍៖ "
+"{0}<br>ឧទាហរណ៍៖ {1}<br>ឧទាហរណ៍៖ {2}<br>ឧទាហរណ៍៖ {3}<br>"
 
 msgid "Download my changesets only"
-msgstr ""
+msgstr "ទាញ​យក​តែ​សំណុំ​ផ្លាស់ប្ដូរ​របស់​ខ្ញុំ​ប៉ុណ្ណោះ"
 
 msgid ""
 "<html>Select to restrict the query to your changesets only.<br>Unselect to "
 "include all changesets in the query.</html>"
 msgstr ""
+"<html>ជ្រើស​ដើម្បី​ដាក់​កម្រិត​សំណួរ​ទៅ​សំណុំ​ផ្លាស់ប្ដូរ​អ្នក​តែប៉ុណ្ណោះ។<br"
+">មិន​ជ្រើស​ដើម្បី​រួមបញ្ចូល​សំណុំ​ផ្លាស់ប្ដូរ​ទាំងអស់​នៅ​ក្នុង​សំណួរ។</html>"
 
 msgid ""
 "<html>Please select one the following <strong>standard "
@@ -6920,848 +7207,917 @@ msgid ""
 "only want to download changesets created by yourself.<br>Note that JOSM will "
 "download max. 100 changesets.</html>"
 msgstr ""
+"<html>ជ្រើស <strong>សំណួរ​ស្តង់ដារ</strong> មួយ​ដូច​ខាងក្រោម។ ជ្រើស "
+"<strong>ទាញ​យក​តែ​សំណុំ​ផ្លាស់ប្ដូរ​របស់​ខ្ញុំ​ប៉ុណ្ណោះ</strong> "
+"បើ​អ្នក​គ្រាន់តែ​ចង់​ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​បង្កើត​ដោយ​ខ្លួន​អ្នក។<"
+"br>ចងចាំ​ថា JOSM នឹង​ទាញ​យក​អតិបរមា ១០០​សំណុំ​ផ្លាស់ប្ដូរ។</html>"
 
 msgid "<html>Download the latest changesets</html>"
-msgstr ""
+msgstr "<html>ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​ចុងក្រោយ​គេ</html>"
 
 msgid ""
 "<html>Download my open changesets<br><em>Disabled. Please enter your OSM "
 "user name in the preferences first.</em></html>"
 msgstr ""
+"<html>ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​បើក​ចំហ<br><em>ដែល​បាន​បិទ។ "
+"សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ OSM "
+"របស់​អ្នក​ជា​ដំបូង​នៅ​ក្នុង​ចំណូលចិត្ត</em></html>"
 
 msgid "<html>Download my open changesets</html>"
-msgstr ""
+msgstr "<html>ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​បើក​ចំហ​របស់​ខ្ញុំ</html>"
 
 msgid ""
 "<html>Download changesets in the current map view.<br><em>Disabled. There is "
 "currently no map view active.</em></html>"
 msgstr ""
+"<html>ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​នៅ​ក្នុង​ទិដ្ឋភាព​ផែនទី​បច្ចុប្បន្ន<br><em>ដែល"
+"​បាន​បិទ។ បច្ចុប្បន្ន​មិន​មាន​ទិដ្ឋភាព​ផែនទី​សកម្ម។</em></html>"
 
 msgid "<html>Download changesets in the current map view</html>"
 msgstr ""
+"<html>ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​នៅ​ក្នុង​ទិដ្ឋភាព​ផែនទី​បច្ចុប្បន្ន</html>"
 
 msgid ""
 "Unexpected value for preference ''{0}'', got ''{1}''. Resetting to default "
 "query."
 msgstr ""
+"តម្លៃ​មិន​រំពឹង​ទុក​សម្រាប់​ចំណូលចិត្ត ''{0}'', បាន​ទទួល ''{1}'' ។ "
+"កំណត់​ឡើងវិញ​ទៅ​សំណួរ​លំនាំដើម។"
 
 msgid "Cannot create changeset query for open changesets of anonymous user"
 msgstr ""
+"មិន​អាច​បង្កើត​សំណួរ​សំណុំ​ផ្លាស់ប្ដូរ​សម្រាប់​សំណុំ​ផ្លាស់ប្ដូរ​បើក​ចំហ​នៃ​អ"
+"្នកប្រើ​អនាមិក​បាន​ទេ"
 
 msgid "Basic"
 msgstr "មូល​ដ្ឋាន"
 
 msgid "Download changesets using predefined queries"
-msgstr ""
+msgstr "ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ​ដោយ​ប្រើ​សំណួរ​កំណត់​ស្រេច"
 
 msgid "From URL"
-msgstr ""
+msgstr "ពី URL"
 
 msgid "Query changesets from a server URL"
-msgstr ""
+msgstr "ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ពី URL ម៉ាស៊ីន​មេ"
 
 msgid "Advanced"
-msgstr ""
+msgstr "កម្រិតខ្ពស់"
 
 msgid "Use a custom changeset query"
-msgstr ""
+msgstr "ប្រើ​ការ​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ផ្ទាល់ខ្លួន"
 
 msgid "Query changesets"
-msgstr ""
+msgstr "ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Query and download changesets"
-msgstr ""
+msgstr "ជ្រើស និង​ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Please enter a valid changeset query URL first."
-msgstr ""
+msgstr "សូម​បញ្ចូល​ URL ការ​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ត្រឹមត្រូវ​ជាមុន។"
 
 msgid "Illegal changeset query URL"
-msgstr ""
+msgstr "URL ការ​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​មិន​ត្រឹមត្រូវ"
 
 msgid "Close the dialog and abort querying of changesets"
-msgstr ""
+msgstr "បិទ​ប្រអប់ រួច​បោះបង់​ការ​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Querying and downloading changesets"
-msgstr ""
+msgstr "ការ​ជ្រើស និង​ការ​ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Determine user id for current user..."
-msgstr ""
+msgstr "កំណត់​លេខ​សម្គាល់​សម្រាប់​អ្នកប្រើ​បច្ចុប្បន្ន..."
 
 msgid "Query and download changesets ..."
-msgstr ""
+msgstr "ជ្រើស និង​ទាញ​យក​សំណុំ​ផ្លាស់ប្ដូរ..."
 
 msgid "URL: "
-msgstr ""
+msgstr "URL: "
 
 msgid "Please enter or paste an URL to retrieve changesets from the OSM API."
 msgstr ""
+"សូម​បញ្ចូល ឬ​បិទភ្ជាប់ URL ដើម្បី​ទៅ​យក​សំណុំ​ផ្លាស់ប្ដូរ​ពី OSM API ។"
 
 msgid "Examples"
-msgstr ""
+msgstr "ឧទាហរណ៍"
 
 msgid ""
 "Note that changeset queries are currently always submitted to ''{0}'', "
 "regardless of the host, port and path of the URL entered below."
 msgstr ""
+"ចងចាំ​ថា​ការ​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​គឺ​បច្ចុប្បន្ន​ត្រូវ​បាន​ដាក់​ស្នើ​ទៅ "
+"''{0}'', លើកលែង​ម៉ាស៊ីន ច្រក និង​ផ្លូវ URL ដែល​បាន​បញ្ចូល​ខាងក្រោម។"
 
 msgid "This changeset query URL is invalid"
-msgstr ""
+msgstr "URL ការ​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​នេះ​មិន​ត្រឹមត្រូវ"
 
 msgid "Discardable key: selection Foreground"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​ដែល​អាច​បោះបង់​បាន៖ ជម្រើស​ផ្ទៃ​ខាងមុខ"
 
 msgid "Discardable key: selection Background"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​ដែល​អាច​បោះបង់​បាន៖ ជម្រើស​ផ្ទៃ​ខាងក្រោយ"
 
 msgid "Discardable key: foreground"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​ដែល​អាច​បោះបង់​បាន៖ ផ្ទៃ​ខាងមុខ"
 
 msgid "Discardable key: background"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​ដែល​អាច​បោះបង់​បាន៖ ផ្ទៃ​ខាងក្រោយ"
 
 msgid "<different>"
-msgstr ""
+msgstr "<ខុសគ្នា>"
 
 msgid "Select objects for which to change tags."
-msgstr ""
+msgstr "ជ្រើស​វត្ថុ​សម្រាប់​ស្លាក​ដែល​ត្រូវ​ប្ដូរ។"
 
 msgid "Tags/Memberships"
-msgstr ""
+msgstr "ស្លាក/សមាជិកភាព"
 
 msgid "Tags for selected objects."
-msgstr ""
+msgstr "ស្លាក​សម្រាប់​វត្ថុ​ដែល​បាន​ជ្រើស។"
 
 msgid "Member Of"
-msgstr ""
+msgstr "សមាជិក​របស់"
 
 msgid "Position"
-msgstr ""
+msgstr "​ទីតាំង"
 
 msgid "Tags: {0} / Memberships: {1}"
-msgstr ""
+msgstr "ស្លាក៖ {0} / សមាជិកភាព៖ {1}"
 
 msgid "Tags / Memberships"
-msgstr ""
+msgstr "ស្លាក/សមាជិកភាព"
 
 msgid "Delete the selected key in all objects"
-msgstr ""
+msgstr "លុប​ពាក្យ​គន្លឹះ​ដែល​ជ្រើស​ក្នុង​វត្ថុ​ទាំងអស់"
 
 msgid "Delete Tags"
-msgstr ""
+msgstr "លុប​ស្លាក"
 
 msgid "Change relation"
-msgstr ""
+msgstr "ប្ដូរ​ទំនាក់ទំនង"
 
 msgid "Delete from relation"
-msgstr ""
+msgstr "លុប​ពី​ទំនាក់ទំនង"
 
 msgid "Really delete selection from relation {0}?"
-msgstr ""
+msgstr "លុប​ជម្រើស​ពី​ទំនាក់ទំនង​មែនឬ {0}?"
 
 msgid "Add a new key/value pair to all objects"
-msgstr ""
+msgstr "បន្ថែម​គូ​តម្លៃ/ពាក្យ​គន្លឹះ​ថ្មី​ចំពោះ​វត្ថុ​ទាំងអស់"
 
 msgid "Add Tag"
 msgstr "បន្ថែម​ស្លាក"
 
 msgid "Edit the value of the selected key for all objects"
-msgstr ""
+msgstr "កែសម្រួល​តម្លៃ​ពាក្យ​គន្លឹះ​ដែល​បាន​ជ្រើស​សម្រាប់​វត្ថុ​ទាំងអស់"
 
 msgid "Edit Tags"
-msgstr ""
+msgstr "កែសម្រួល​ស្លាក"
 
 msgid "Go to OSM wiki for tag help (F1)"
-msgstr ""
+msgstr "ទៅកាន់ OSM វីគី​សម្រាប់​ជំនួយ​ស្លាក (F1)"
 
 msgid "Launch browser with wiki help for selected object"
 msgstr ""
+"ចាប់ផ្ដើម​កម្មវិធី​អ៊ីនធឺណិត​ជាមួយ​ជំនួយ​វីគី​សម្រាប់​វត្ថុ​ដែល​បាន​ជ្រើស"
 
 msgid "Paste Value"
-msgstr ""
+msgstr "បិទភ្ជាប់​តម្លៃ"
 
 msgid "Paste the value of the selected tag from clipboard"
-msgstr ""
+msgstr "បិទភ្ជាប់​តម្លៃ​ស្លាក​ដែល​បាន​ជ្រើស​ពីក្ដារ​តម្បៀត​ខ្ទាស់"
 
 msgid "Copy Value"
-msgstr ""
+msgstr "ចម្លង​តម្លៃ"
 
 msgid "Copy the value of the selected tag to clipboard"
-msgstr ""
+msgstr "ចម្លង​តម្លៃ​ស្លាក​ដែល​បាន​ជ្រើស​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់"
 
 msgid "Copy selected Key(s)/Value(s)"
-msgstr ""
+msgstr "ចម្លង​តម្លៃ/ពាក្យ​គន្លឹះ​ដែល​បាន​ជ្រើស"
 
 msgid "Copy the key and value of the selected tag(s) to clipboard"
 msgstr ""
+"ចម្លង​តម្លៃ និង​ពាក្យ​គន្លឹះ​របស់​ស្លាក​ដែល​បាន​ជ្រើស​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់"
 
 msgid "Copy all Keys/Values"
-msgstr ""
+msgstr "ចម្លង​តម្លៃ/ពាក្យ​គន្លឹះ"
 
 msgid "Copy the key and value of all the tags to clipboard"
-msgstr ""
+msgstr "ចម្លង​តម្លៃ និង​ពាក្យ​គន្លឹះ​នៃ​ស្លាក​ទាំងអស់​ទៅ​ក្ដារ​តម្បៀត​ខ្ទាស់"
 
 msgid "Search Key/Value/Type"
-msgstr ""
+msgstr "ស្វែងរក​ពាក្យ​គន្លឹះ/តម្លៃ/ស្លាក"
 
 msgid ""
 "Search with the key and value of the selected tag, restrict to type (i.e., "
 "node/way/relation)"
 msgstr ""
+"ស្វែងរក​ដោយ​ប្រើ​ពាក្យ​គន្លឹះ និង​តម្លៃ​នៃ​ស្លាក​ដែល​បាន​ជ្រើស "
+"ដាក់​កម្រិត​ទៅ​ប្រភេទ (ឧ. តំណ/ផ្លូវ/ទំនាក់ទំនង)"
 
 msgid "Search Key/Value"
-msgstr ""
+msgstr "ស្វែងរក​ពាក្យ​គន្លឹះ/តម្លៃ"
 
 msgid "Search with the key and value of the selected tag"
-msgstr ""
+msgstr "ស្វែងរក​ដោយ​ប្រើ​ពាក្យ​គន្លឹះ និង​តម្លៃ​នៃ​ស្លាក​ដែល​បាន​ជ្រើស"
 
 msgid "Overwrite key"
-msgstr ""
+msgstr "សរសេរ​ជាន់​លើ​ពាក្យ​គន្លឹះ"
 
 msgid "Replace"
-msgstr ""
+msgstr "​ជំនួស"
 
 msgid "The new key is already used, overwrite values?"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ​ថ្មី​ត្រូវ​បាន​ប្រើ​រួច​ហើយ សរសេរ​ជាន់​លើ​តម្លៃ?"
 
 msgid "Change value?"
 msgid_plural "Change values?"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ប្ដូរ​តម្លៃ?"
 
 msgid "This will change {0} object."
 msgid_plural "This will change up to {0} objects."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "វា​នឹង​ប្ដូរ​វត្ថុ {0} ។"
 
 msgid "An empty value deletes the tag."
-msgstr ""
+msgstr "តម្លៃ​ទទេ​លុប​ស្លាក។"
 
 msgid "You changed the key from ''{0}'' to ''{1}''."
-msgstr ""
+msgstr "អ្នក​បាន​ប្ដូរ​ពាក្យ​គន្លឹះ​ពី ''{0}'' ទៅ ''{1}'' ។"
 
 msgid "Change properties of up to {0} object"
 msgid_plural "Change properties of up to {0} objects"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ប្ដូរ​លក្ខណសម្បត្តិ​ទៅ​វត្ថុ {0}"
 
 msgid "Use English language for tag by default"
-msgstr ""
+msgstr "ប្រើ​ភាសា​អង់គ្លេស​សម្រាប់​ស្លាក​តាម​លំនាំដើម"
 
 msgid "Add value?"
-msgstr ""
+msgstr "បន្ថែម​តម្លៃ?"
 
 msgid "This will change up to {0} object."
 msgid_plural "This will change up to {0} objects."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "វា​នឹង​ប្ដូរ​រហូតដល់ {0} វត្ថុ។"
 
 msgid "Please select a key"
-msgstr ""
+msgstr "សូម​ជ្រើស​ពាក្យ​គន្លឹះ"
 
 msgid "Please select a value"
-msgstr ""
+msgstr "សូម​ជ្រើស​តម្លៃ"
 
 msgid "Set number of recently added tags"
-msgstr ""
+msgstr "កំណត់​ចំនួន​ស្លាក​ដែល​បាន​បន្ថែម​ថ្មីៗ"
 
 msgid "Remember last used tags after a restart"
-msgstr ""
+msgstr "ចងចាំ​ស្លាក​ដែល​បាន​ប្រើ​ចុងក្រោយ​បន្ទាប់ពី​ចាប់ផ្ដើម​ឡើងវិញ"
 
 msgid "Please enter the number of recently added tags to display"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ចំនួន​ស្លាក​ដែល​បាន​បន្ថែម​ថ្មីៗ​ដើម្បី​បង្ហាញ"
 
 msgid "Please enter integer number between 0 and {0}"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ចំនួន​គត់​រវាង 0 និង {0}"
 
 msgid "Recently added tags"
-msgstr ""
+msgstr "ស្លាក​ដែល​បាន​បន្ថែម​ថ្មីៗ"
 
 msgid "Choose recent tag {0}"
-msgstr ""
+msgstr "ជ្រើស​ស្លាក​ថ្មីៗ {0}"
 
 msgid "Use this tag again"
-msgstr ""
+msgstr "ប្រើ​ស្លាក​នេះ​ម្ដងទៀត"
 
 msgid "Apply recent tag {0}"
-msgstr ""
+msgstr "អនុវត្ត​ស្លាក​បច្ចុប្បន្ន {0}"
 
 msgid "The key ''{0}'' is already used"
-msgstr ""
+msgstr "ពាក្យ​គន្លឹះ ''{0}'' បាន​ប្រើ​រួចហើយ"
 
 msgid "You changed the value of ''{0}'' from ''{1}'' to ''{2}''."
-msgstr ""
+msgstr "អ្នក​បាន​ប្ដូរ​តម្លៃ ''{0}'' ពី ''{1}'' ទៅ ''{2}'' ។"
 
 msgid "Edit the relation the currently selected relation member refers to."
 msgstr ""
+"កែ​ទំនាក់ទំនង​នៃ​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​សំដៅ​ទៅ។"
 
 msgid "Download all child relations (recursively)"
-msgstr ""
+msgstr "ទាញ​យក​ទំនាក់ទំនង​កូន​ទាំងអស់ (បន្តបន្ទាប់)"
 
 msgid "Download All Children"
-msgstr ""
+msgstr "ទាញ​យក​កូន​ទាំងអស់"
 
 msgid "Download selected relations"
-msgstr ""
+msgstr "ទាញ​យក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស"
 
 msgid "Download Selected Children"
-msgstr ""
+msgstr "ទាញ​យក​កូដ​ដែល​បាន​ជ្រើស"
 
 msgid "Conflict in data"
 msgid_plural "Conflicts in data"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ការ​ប៉ះទង្គិច​ទិន្នន័យ"
 
 msgid "Download relation members"
-msgstr ""
+msgstr "ទាញ​យក​សមាជិក​ទំនាក់ទំនង"
 
 msgid ""
 "<html>The child relation<br>{0}<br>is deleted on the server. It cannot be "
 "loaded</html>"
 msgstr ""
+"<html>ទំនាក់ទំនង​កូន<br>{0}<br>ត្រូវ​បាន​លុប​ចេញពី​ម៉ាស៊ីន​មេ។ "
+"វា​មិន​អាច​ផ្ទុក​បាន​ឡើយ</html>"
 
 msgid "Relation is deleted"
-msgstr ""
+msgstr "បាន​លុប​ទំនាក់ទំនង"
 
 msgid "Downloading relation {0}"
-msgstr ""
+msgstr "កំពុង​ទាញ​យក​ទំនាក់ទំនង {0}"
 
 msgid "Ignoring exception because task was canceled. Exception: {0}"
-msgstr ""
+msgstr "មិន​អើពើ​ការ​លើកលែង​ព្រោះ​ភារកិច្ច​ត្រូវ​បាន​បោះបង់។ ការ​លើកលែង៖ {0}"
 
 msgid "Downloading {0} incomplete object"
 msgid_plural "Downloading {0} incomplete objects"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំពុង​ទាញ​យក​វត្ថុ​មិន​បញ្ចប់ {0}"
 
 msgid "Downloading {0} incomplete child of relation ''{1}''"
 msgid_plural "Downloading {0} incomplete children of relation ''{1}''"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំពុង​ទាញ​យក​កូន​មិន​បញ្ចប់ {0} នៃ​ទំនាក់ទំនង ''{1}''"
 
 msgid "Downloading {0} incomplete child of {1} parent relations"
 msgid_plural "Downloading {0} incomplete children of {1} parent relations"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំពុង​ទាញ​យក​កូន​មិន​បញ្ចប់ {0} នៃ​ទំនាក់ទំនង​មេ {1}"
 
 msgid "Download relations"
-msgstr ""
+msgstr "ទាញ​យក​ទំនាក់ទំនង"
 
 msgid "({0}/{1}): Downloading relation ''{2}''..."
-msgstr ""
+msgstr "({0}/{1}): កំពុង​ទាញ​យក​ទំនាក់ទំនង ''{2}''..."
 
 msgid "Tags and Members"
-msgstr ""
+msgstr "ស្លាក និង​សមាជិក"
 
 msgid "Parent Relations"
-msgstr ""
+msgstr "ទំនាក់ទំនង​មេ"
 
 msgid "Child Relations"
-msgstr ""
+msgstr "ទំនាក់ទំនង​កូន"
 
 msgid "Apply Role:"
-msgstr ""
+msgstr "អនុវត្ត​តួនាទី៖"
 
 msgid "Enter a role and apply it to the selected relation members"
-msgstr ""
+msgstr "បញ្ចូល​តួនាទី រួច​អនុវត្ត​វា​ទៅ​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស"
 
 msgid "New Relation"
-msgstr ""
+msgstr "ទំនាក់ទំនង​ថ្មី"
 
 msgid "Focus Relation Editor with relation ''{0}'' in layer ''{1}''"
 msgstr ""
+"កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង​ផ្ដោត​ជាមួយ​ទំនាក់ទំនង ''{0}'' នៅ​ក្នុង​ស្រទាប់ "
+"''{1}''"
 
 msgid "Relation Editor: {0}"
-msgstr ""
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ {0}"
 
 msgid ""
 "<html>There is at least one member in this relation referring<br>to the "
 "relation itself.<br>This creates circular dependencies and is "
 "discouraged.<br>How do you want to proceed with circular dependencies?</html>"
 msgstr ""
+"<html>ត្រូវ​មាន​សមាជិក​យ៉ាង​ហោច​មួយ​នៅ​ក្នុង​ទំនាក់ទំនង​នេះ​គឺ​សំដៅ​ទៅ<br>ទំន"
+"ាក់ទំនង​ខ្លួន​ឯង។<br>វា​នឹង​បង្កើត​រង្វង់​ភាព​អាស្រ័យ "
+"ហើយ​វា​គឺ​គួរឲ្យ​ធុញ។។<br>តើ​អ្នក​ចង់​បន្ត​ជាមួយ​រង្វង់​ភាព​អាស្រ័យ​យ៉ាង​ដូចម"
+"្ដេច​ខ្លះ?</html>"
 
 msgid "Remove them, clean up relation"
-msgstr ""
+msgstr "លុប​វា​ចេញ ហើយ​សម្អាត​ទំនាក់ទំនង"
 
 msgid "Ignore them, leave relation as is"
-msgstr ""
+msgstr "កុំ​អើពើ​វា ទុក​ឲ្យ​ទំនាក់ទំនង​ជា"
 
 msgid "Sorry, shortcut \"{0}\" can not be enabled in Relation editor dialog"
 msgstr ""
+"សូមទោស! ផ្លូវកាត់\"{0}\" "
+"មិន​អាច​បើក​បាន​ទេ​នៅ​ក្នុង​ប្រអប់​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង"
 
 msgid ""
 "<html>This relation already has one or more members referring to<br>the "
 "object ''{0}''<br><br>Do you really want to add another relation "
 "member?</html>"
 msgstr ""
+"<html>ទំនាក់ទំនង​នេះ​មាន​សមាជិក​មួយ ឬ​ច្រើន​រួចហើយ​ដែល​យោង​ទៅ<br>វត្ថុ "
+"''{0}''<br><br>តើ​អ្នក​ចង់​បន្ថែម​សមាជិក​ទំនាក់ទំនង​ផ្សេងទៀត​ឬ?</html>"
 
 msgid "Multiple members referring to same object."
-msgstr ""
+msgstr "សមាជិក​ច្រើន​ដែល​យោង​ទៅ​វត្ថុ​ដូចគ្នា។"
 
 msgid ""
 "<html>You are trying to add a relation to itself.<br><br>This creates "
 "circular references and is therefore discouraged.<br>Skipping relation "
 "''{0}''.</html>"
 msgstr ""
+"<html>អ្នក​កំពុង​ព្យាយាម​បន្ថែម​ទំនាក់ទំនង​ទៅ​ខ្លួន​ឯង។<br><br>វា​នឹង​បង្កើត​"
+"សេចក្ដី​យោង​រង្វង់ ហើយ​ធ្វើឲ្យ​ធុញទ្រាន់។<br>រំលង​ទំនាក់ទំនង ''{0}'' ។</html>"
 
 msgid ""
 "Add all objects selected in the current dataset before the first member"
 msgstr ""
+"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុងសំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន​នៅ​មុខ​"
+"សមាជិក​ទីមួយ"
 
 msgid ""
 "Add all objects selected in the current dataset before the first selected "
 "member"
 msgstr ""
+"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន "
+"នៅ​មុខ​សមាជិក​ដែល​ជ្រើស​ទីមួយ"
 
 msgid ""
 "Add all objects selected in the current dataset after the last selected "
 "member"
 msgstr ""
+"បន្ថែម​វត្ថុ​ដែល​បាន​ជ្រើស​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ទិន្នន័យ​បច្ចុប្បន្ន "
+"បន្ទាប់ពី​សមាជិក​ដែល​បាន​ជ្រើស​ចុងក្រោយ"
 
 msgid "Remove all members referring to one of the selected objects"
-msgstr ""
+msgstr "លុប​សមាជិក​ទាំងអស់​ដែល​យោង​ទៅវត្ថុ​បាន​ជ្រើស​មួយ"
 
 msgid ""
 "Select relation members which refer to objects in the current selection"
-msgstr ""
+msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​ដែល​យោង​ទៅ​វត្ថុ​នៅ​ក្នុង​ជម្រើស​បច្ចុប្បន្ន"
 
 msgid ""
 "Select relation members which refer to {0} objects in the current selection"
 msgstr ""
+"ជ្រើស​សមាជិក​ទំនាក់ទំនង​ដែល​យោង​ទៅ​វត្ថុ {0} នៅ​ក្នុង​ជម្រើស​បច្ចុប្បន្ន"
 
 msgid "Select objects for selected relation members"
-msgstr ""
+msgstr "ជ្រើស​វត្ថុ​សម្រាប់​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស"
 
 msgid "Sort the relation members"
-msgstr ""
-
-msgid "Sort"
-msgstr ""
+msgstr "តម្រៀប​សមាជិក​ទំនាក់ទំនង"
 
 msgid "Relation Editor: Sort"
-msgstr ""
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ តម្រៀប"
 
 msgid "Reverse the order of the relation members"
-msgstr ""
+msgstr "បញ្ច្រាស​លំដាប់​នៃ​សមាជិក​ទំនាក់ទំនង"
 
 msgid "Reverse"
-msgstr ""
+msgstr "បញ្ច្រាស"
 
 msgid "Move the currently selected members up"
-msgstr ""
+msgstr "ផ្លាស់ទី​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ឡើងលើ"
 
 msgid "Relation Editor: Move Up"
-msgstr ""
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ផ្លាស់ទី​ឡើងលើ"
 
 msgid "Move the currently selected members down"
-msgstr ""
+msgstr "ផ្លាស់ទី​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ចុះក្រោម"
 
 msgid "Relation Editor: Move Down"
-msgstr ""
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ផ្លាស់ទី​ចុះក្រោម"
 
 msgid "Remove the currently selected members from this relation"
-msgstr ""
+msgstr "លុប​សមាជិក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​ចេញពី​ទំនាក់ទំនង​នេះ"
 
 msgid "Relation Editor: Remove"
-msgstr ""
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ លុបចេញ"
 
 msgid "Delete the currently edited relation"
-msgstr ""
+msgstr "លុប​ទំនាក់ទំនង​ដែល​បាន​កែសម្រួល​បច្ចុប្បន្ន"
 
 msgid ""
 "One or more members of this new relation have been deleted while the "
 "relation editor\n"
 "was open. They have been removed from the relation members list."
 msgstr ""
+"សមាជិក​មួយ "
+"ឬ​ច្រើន​នៃ​ទំនាក់ទំនង​ថ្មី​នេះ​ត្រូវ​បាន​លុប​នៅ​ពេល​បើក​កម្មវិធី​កែសម្រួល។\n"
+"ពួកគេ​ត្រូវ​បាន​លុបចេញ​ពី​បញ្ជី​សមាជិក​ទំនាក់ទំនង។"
 
 msgid "Yes, create a conflict and close"
-msgstr ""
+msgstr "បាទ/ចាស បង្កើត​ការ​ប៉ះ​ទង្គិច រួច​បិទ"
 
 msgid "Click to create a conflict and close this relation editor"
 msgstr ""
+"ចុច​ដើម្បី​បង្កើត​ការ​ប៉ះ​ទង្គិច រួច​បិទ​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង​នេះ"
 
 msgid "No, continue editing"
-msgstr ""
+msgstr "ទេ បន្ត​កែសម្រួល"
 
 msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
+"ចុច​ដើម្បី​ត្រឡប់​ទៅ​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង "
+"រួច​បន្ត​ការ​កែសម្រួល​ទំនាក់ទំនង"
 
 msgid ""
 "<html>This relation has been changed outside of the editor.<br>You cannot "
 "apply your changes and continue editing.<br><br>Do you want to create a "
 "conflict and close the editor?</html>"
 msgstr ""
+"<html>ទំនាក់ទំនង​នេះ​ត្រូវ​បាន​ប្ដូរ​នៅ​ក្រៅ​កម្មវិធី​កែសម្រួល។<br>អ្នក​មិន​អ"
+"ាច​អនុវត្ត​ការ​ផ្លាស់ប្ដូរ​របស់​អ្នក "
+"និង​បន្ត​ការ​កែសម្រួល​បាន​ទេ។<br><br>តើ​អ្នក​ចង់​បង្កើត​ការ​ប៉ះទង្គិច "
+"រួច​បិទ​កម្មវិធី​កែសម្រួល​ឬ?</html>"
 
 msgid ""
 "<html>Layer ''{0}'' already has a conflict for object<br>''{1}''.<br>Please "
 "resolve this conflict first, then try again.</html>"
 msgstr ""
+"<html>ស្រទាប់ ''{0}'' មាន​ការ​ប៉ះទង្គិច​សម្រាប់​វត្ថុ​រួចហើយ<br>''{1}'' "
+"។<br>សូម​ដោះស្រាយ​ការ​ប៉ះទង្គិច​ជាមុន រួច​ព្យាយាម​ម្ដងទៀត។</html>"
 
 msgid "Apply the current updates"
-msgstr ""
+msgstr "អនុវត្ត​បច្ចុប្បន្នភាព​បច្ចុប្បន្ន"
 
 msgid "Apply the updates and close the dialog"
-msgstr ""
+msgstr "អនុវត្ត​បច្ចុប្បន្នភាព រួច​បិទ​ប្រអប់"
 
 msgid "Cancel the updates and close the dialog"
-msgstr ""
+msgstr "បោះបង់​បច្ចុប្បន្នភាព រួច​បិទ​ប្រអប់"
 
 msgid "Yes, save the changes and close"
-msgstr ""
+msgstr "បាទ/ចាស រក្សាទុក​ការ​ផ្លាស់ប្ដូរ រួច​បិទ"
 
 msgid "Click to save the changes and close this relation editor"
 msgstr ""
+"ចុច​ដើម្បី​រក្សាទុក​ការ​ផ្លាស់ប្ដូរ រួច​បិទ​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង​នេះ"
 
 msgid "No, discard the changes and close"
-msgstr ""
+msgstr "ទេ បោះបង់​ការ​ផ្លាស់ប្ដូរ រួច​បិទ"
 
 msgid "Click to discard the changes and close this relation editor"
 msgstr ""
+"ចុច​ដើម្បី​បោះបង់​ការ​ផ្លាស់ប្ដូរ រួច​បិទ​កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង​នេះ"
 
 msgid "Cancel, continue editing"
-msgstr ""
+msgstr "បោះបង់ រួច​បន្ត​ការ​កែសម្រួល"
 
 msgid ""
 "<html>The relation has been changed.<br><br>Do you want to save your "
 "changes?</html>"
 msgstr ""
+"<html>ទំនាក់ទំនង​ត្រូវ​បាន​ប្ដូរ។<br><br>តើ​អ្នក​ចង់​រក្សាទុក​ការ​ផ្លាស់ប្ដូរ"
+"​របស់​អ្នក​ទេ?</html>"
 
 msgid "Unsaved changes"
-msgstr ""
+msgstr "ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក"
 
 msgid "Add an empty tag"
-msgstr ""
+msgstr "បន្ថែម​ស្លាក​ទទេ"
 
 msgid "Download all incomplete members"
-msgstr ""
+msgstr "ទាញ​យក​សមាជិក​ដែល​មិន​បញ្ចប់​ទាំងអស់"
 
 msgid "Download Members"
-msgstr ""
+msgstr "ទាញ​យក​សមាជិក"
 
 msgid "Relation Editor: Download Members"
-msgstr ""
+msgstr "កម្មវិធី​កែសម្រួល​ទំនាក់ទំនង៖ ទាញ​យក​សមាជិក"
 
 msgid "Download selected incomplete members"
-msgstr ""
+msgstr "ទាញ​យក​សមាជិក​មិន​បញ្ចប់​ដែល​បាន​ជ្រើស"
 
 msgid "Sets a role for the selected members"
-msgstr ""
+msgstr "កំណត់​តួនាទី​សម្រាប់​សមាជិក​ដែល​បាន​ជ្រើស"
 
 msgid "Apply Role"
-msgstr ""
+msgstr "អនុវត្ត​តួនាទី"
 
 msgid "You are setting an empty role on {0} object."
 msgid_plural "You are setting an empty role on {0} objects."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "អ្នក​កំពុង​កំណត់​តួនាទី​ទទេ​នៅ​លើ​វត្ថុ {0} ។"
 
 msgid "This is equal to deleting the roles of these objects."
-msgstr ""
+msgstr "វា​ស្មើ​ទៅ​នឹង​ការ​លុប​តួនាទី​ចេញពី​វត្ថុ​ទាំងនេះ។"
 
 msgid "Do you really want to apply the new role?"
-msgstr ""
+msgstr "តើ​អ្នក​ពិតជា​ចង់​អនុវត្ត​តួនាទី​ថ្មី​មែន​ឬ?"
 
 msgid "Yes, apply it"
-msgstr ""
+msgstr "បាទ/ចាស អនុវត្ត"
 
 msgid "No, do not apply"
-msgstr ""
+msgstr "ទេ កុំ​អនុវត្ត"
 
 msgid "Confirm empty role"
-msgstr ""
+msgstr "បញ្ជាក់​តួនាទី​ទទេ"
 
 msgid "Edit the relation the currently selected relation member refers to"
 msgstr ""
+"កែសម្រួល​ទំនាក់ទំនង​សមាជិក​ទំនាក់ទំនង​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន​យោង​ទៅ"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
 "current layer"
 msgstr ""
+"សមាជិក​មកពី​ទ្រនាប់​បិទភ្ជាប់​មិន​អាច​បន្ថែម​បាន​ទ "
+"ព្រោះ​ពួកគេ​មិន​ត្រូវ​បាន​បញ្ចូល​ក្នុង​ស្រទាប់​បច្ចុប្បន្ន"
 
 msgid "Select previous Gap"
-msgstr ""
+msgstr "ជ្រើស​ចន្លោះ​មុន"
 
 msgid "Select the previous relation member which gives rise to a gap"
-msgstr ""
+msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​ពីមុន​ដែល​ធ្វើឲ្យ​ចន្លោះ​កើនឡើង"
 
 msgid "Select next Gap"
-msgstr ""
+msgstr "ជ្រើស​ចន្លោះ​បន្ទាប់"
 
 msgid "Select the next relation member which gives rise to a gap"
-msgstr ""
+msgstr "ជ្រើស​សមាជិក​ទំនាក់ទំនង​បន្ទាប់​ដែល​ធ្វើឲ្យ​ចន្លោះ​កើនឡើង"
 
 msgid "Zoom to Gap"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​ចន្លោះ"
 
 msgid "Zoom to the gap in the way sequence"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​ចន្លោះ​នៅ​ក្នុង​លំដាប់​ផ្លូវ"
 
 msgid "Refers to"
-msgstr ""
+msgstr "យោង​ទៅ"
 
 msgid "Download referring relations"
-msgstr ""
+msgstr "ទាញ​យក​ទំនាក់ទំនង​យោង"
 
 msgid "There were {0} conflicts during import."
 msgstr "មាន​ជម្លោះ {0} អំឡុង​ពេល​នាំចូល​។"
 
 msgid "including immediate children of parent relations"
-msgstr ""
+msgstr "រួមបញ្ចូល​កូនៗ​ផ្លាស់​របស់​ទំនាក់ទំនង​មេ"
 
 msgid "Load parent relations"
-msgstr ""
+msgstr "ផ្ទុក​ទំនាក់ទំនង​មេ"
 
 msgid "Reload"
 msgstr "ផ្ទុក​ឡើងវិញ"
 
 msgid "Loading parent relations"
-msgstr ""
+msgstr "កំពុង​ផ្ទុក​ផ្ទុក​ទំនាក់ទំនង​មេ"
 
 msgid "Edit the currently selected relation"
-msgstr ""
+msgstr "កែសម្រួល​ទំនាក់ទំនង​ដែល​ជ្រើស​បច្ចុប្បន្ន"
 
 msgid "Apply Changes"
-msgstr ""
+msgstr "អនុវត្ត​ការ​ផ្លាស់ប្តូរ"
 
 msgid "Create new relation in layer ''{0}''"
-msgstr ""
+msgstr "បង្កើត​ទំនាក់ទំនង​ថ្មី​ក្នុង​ស្រទាប់ ''{0}''"
 
 msgid "Edit new relation in layer ''{0}''"
-msgstr ""
+msgstr "កែសម្រួល​ទំនាក់ទំនង​ថ្មី​ក្នុង​ស្រទាប់ ''{0}''"
 
 msgid "Edit relation #{0} in layer ''{1}''"
-msgstr ""
+msgstr "កែសម្រួល​ទំនាក់ទំនង #{0} ក្នុង​ស្រទាប់ ''{1}''"
 
 msgid "Load relation"
-msgstr ""
+msgstr "ផ្ទុក​ទំនាក់ទំនង"
 
 msgid "way is connected"
-msgstr ""
+msgstr "ផ្លូវ​ត្រូវ​បាន​តភ្ជាប់"
 
 msgid "way is connected to previous relation member"
-msgstr ""
+msgstr "ផ្លូវ​ត្រូវ​បាន​តភ្ជាប់​ទៅ​សមាជិក​ទំនាក់ទំនង​ពីមុន"
 
 msgid "way is connected to next relation member"
-msgstr ""
+msgstr "ផ្លូវ​ត្រូវ​បាន​តភ្ជាប់​ទៅ​សមាជិក​ទំនាក់ទំនង​បន្ទាប់"
 
 msgid "way is not connected to previous or next relation member"
-msgstr ""
+msgstr "ផ្លូវ​ត្រូវ​បាន​តភ្ជាប់​ទៅ​សមាជិក​ទំនាក់ទំនង​ពីមុន ឬ​បន្ទាប់"
 
 msgid "{0} - {1} ({2})"
-msgstr ""
+msgstr "{0} - {1} ({2})"
 
 msgid "Wrong number of arguments for bookmark"
-msgstr ""
+msgstr "លេខ​អាគុយម៉ង់​ខុស​សម្រាប់​ចំណាំ"
 
 msgid "Error reading bookmark entry: %s"
-msgstr ""
+msgstr "កំហុស​ក្នុង​ការ​អាន​ធាតុ​ចំណាំ៖ %s"
 
 msgid "Bookmarks"
 msgstr "កំណត់ចំណាំ Bookmark"
 
 msgid "<html>There is currently no download area selected.</html>"
-msgstr ""
+msgstr "<html>បច្ចុប្បន្ន​មិន​បាន​ជ្រើស​តំបន់​ទាញ​យក។</html>"
 
 msgid ""
 "<html><strong>Current download area</strong> (minlon, minlat, maxlon, "
 "maxlat): </html>"
 msgstr ""
+"<html><strong>តំបន់​ទាញ​យក​បច្ចុប្បន្ន</strong> (minlon, minlat, maxlon, "
+"maxlat): </html>"
 
 msgid "Create bookmark"
-msgstr ""
+msgstr "បង្កើត​ចំណាំ"
 
 msgid "Add a bookmark for the currently selected download area"
-msgstr ""
+msgstr "បន្ថែម​ចំណាំ​សម្រាប់​តំបន់​ទាញ​យក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន"
 
 msgid ""
 "Currently, there is no download area selected. Please select an area first."
-msgstr ""
+msgstr "បច្ចុប្បន្ន​មិន​បាន​ជ្រើស​តំបន់​ទាញ​យក។ សូម​ជ្រើស​ផ្ទៃ​ជាមុន​សិន។"
 
 msgid "Please enter a name for the bookmarked download area."
-msgstr ""
+msgstr "សូម​បញ្ចូល​ឈ្មោះ​សម្រាប់​តំបន់​ទាញ​យក​ដែល​បាន​ចំណាំ។"
 
 msgid "Name of location"
-msgstr ""
+msgstr "ឈ្មោះ​ទីតាំង"
 
 msgid "Remove the currently selected bookmarks"
-msgstr ""
+msgstr "លុប​ចំណាំ​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន"
 
 msgid "Rename the currently selected bookmark"
-msgstr ""
+msgstr "ប្ដូរ​ឈ្មោះ​ចំណាំ​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន"
 
 msgid "min lat"
-msgstr ""
+msgstr "min lat"
 
 msgid "min lon"
-msgstr ""
+msgstr "min lon"
 
 msgid "max lat"
-msgstr ""
+msgstr "max lat"
 
 msgid "max lon"
-msgstr ""
+msgstr "max lon"
 
 msgid "Clear textarea"
-msgstr ""
+msgstr "សម្អាត​ផ្ទៃ​អត្ថបទ"
 
 msgid ""
 "URL from www.openstreetmap.org (you can paste an URL here to download the "
 "area)"
 msgstr ""
+"URL ពី www.openstreetmap.org (អ្នក​អាច​បិទភ្ជាប់ URL "
+"នៅ​ទីនេះ​ដើម្បី​ទាញ​យក​ផ្ទៃ)"
 
 msgid "Bounding Box"
-msgstr ""
+msgstr "ប្រអប់​ព្រំដែន"
 
 msgid "The string ''{0}'' is not a valid double value."
-msgstr ""
+msgstr "តួអក្សរ ''{0}'' មិនមែន​ជា​តម្លៃ​ទ្វេ​ត្រឹមត្រូវ​ទេ។"
 
 msgid "Value for latitude in range [-90,90] required."
-msgstr ""
+msgstr "បាន​ទាមទារ​តម្លៃ​សម្រាប់​រយៈទទឹង​ក្នុង​ចន្លោះ [-90,90] ។"
 
 msgid "Value for longitude in range [-180,180] required."
-msgstr ""
+msgstr "បាន​ទាមទារ​តម្លៃ​សម្រាប់​រយៈបណ្ដោយ​ក្នុង​ចន្លោះ  [-180,180] ។"
 
 msgid "Data Sources and Types:"
-msgstr ""
+msgstr "ប្រភព​ទិន្នន័យ និង​ប្រភេទ៖"
 
 msgid "OpenStreetMap data"
-msgstr ""
+msgstr "ទិន្នន័យ OpenStreetMap"
 
 msgid "Select to download OSM data in the selected download area."
 msgstr ""
+"ជ្រើស​ដើម្បី​ទាញ​យក​ទិន្នន័យ OSM នៅ​ក្នុង​តំបន់​ទាញ​យក​ដែល​បាន​ជ្រើស។"
 
 msgid "Raw GPS data"
-msgstr ""
+msgstr "ទិន្នន័យ​ជីភីអេស​ដើម"
 
 msgid "Select to download GPS traces in the selected download area."
-msgstr ""
+msgstr "ជ្រើស​ដើម្បី​ទាញ​យក​ដាន​ជីភីអេស​នៅ​ក្នុង​តំបន់​ទាញ​យក​ដែល​បាន​ជ្រើស។"
 
 msgid "Notes"
-msgstr ""
+msgstr "ចំណាំ"
 
 msgid "Select to download notes in the selected download area."
-msgstr ""
+msgstr "ជ្រើស​ដើម្បី​ទាញ​យក​ចំណាំ​នៅ​ក្នុង​តំបន់​ទាញ​យក​ដែល​បាន​ជ្រើស។"
 
 msgid "Download as new layer"
-msgstr ""
+msgstr "ទាញ​យក​ជា​ស្រទាប់​ថ្មី"
 
 msgid ""
 "<html>Select to download data into a new data layer.<br>Unselect to download "
 "into the currently active data layer.</html>"
 msgstr ""
+"<html>ជ្រើស​ដើម្បី​ទាញ​យក​ទិន្នន័យ​នៅ​ក្នុង​ស្រទាប់​ទិន្នន័យ​ថ្មី។<br>មិន​ជ្រ"
+"ើស​ដើម្បី​ទាញ​យក​នៅ​ក្នុង​ស្រទាប់​ទិន្នន័យ​សកម្ម​បច្ចុប្បន្ន។</html>"
 
 msgid "Open this dialog on startup"
-msgstr ""
+msgstr "បើក​ប្រអប់​នេះ​ពេល​ចាប់ផ្ដើម"
 
 msgid ""
 "<html>Autostart ''Download from OSM'' dialog every time JOSM is "
 "started.<br>You can open it manually from File menu or toolbar.</html>"
 msgstr ""
+"<html>ចាប់ផ្ដើម​ប្រអប់ ''ទាញ​យក​ពី OSM'' ដោយ​ស្វ័យប្រវត្តិ "
+"នៅ​រាល់​ពេល​ចាប់ផ្ដើម JOSM ។<br>អ្នក​អាច​បើក​វា​ដោយ​ដៃ​ចេញពី​ម៉ឺនុយ​ឯកសារ "
+"ឬ​របារ​ឧបករណ៍​ក៏​បាន។</html>"
 
 msgid ""
 "Use left click&drag to select area, arrows or right mouse button to scroll "
 "map, wheel or +/- to zoom."
 msgstr ""
+"ប្រើ​កណ្ដុរ​ឆ្វេង​ដើម្បី​ជ្រើស​ផ្ទៃ ប្រើ​សញ្ញា​ព្រួញ "
+"ឬ​កណ្ដុរ​ស្ដាំ​ដើម្បី​រមូរ​ផែនទី ប្រើ​កង់​កណ្ដុរ ឬ​សញ្ញា +/- ដើម្បី​ពង្រីក។"
 
 msgid "No area selected yet"
-msgstr ""
+msgstr "មិន​បាន​ជ្រើស​ផ្ទៃ​នៅឡើយ"
 
 msgid "Download area too large; will probably be rejected by server"
-msgstr ""
+msgstr "តំបន់​ទាញ​យក​ធំ​ពេក វា​នឹង​បដិសេធ​ដោយ​ម៉ាស៊ីន​មេ"
 
 msgid "Download area ok, size probably acceptable to server"
-msgstr ""
+msgstr "តំបន់​ទាញ​យក​គឺ​ត្រឹមត្រូវ ទំហំ​គឺ​អាច​ទទួល​យក​បាន​ទៅ​ម៉ាស៊ីន​មេ"
 
 msgid "Click to close the dialog and to abort downloading"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បិទ​ប្រអប់ រួច​បោះបង់​ការ​ទាញ​យក"
 
 msgid "Click to download the currently selected area"
-msgstr ""
+msgstr "ចុច​ដើម្បី​ទាញ​យក​តំបន់​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន"
 
 msgid "Please select a download area first."
-msgstr ""
+msgstr "សូម​ជ្រើស​តំបន់​ទាញ​យក​ជាមុន។"
 
 msgid ""
 "<html>Neither <strong>{0}</strong> nor <strong>{1}</strong> is "
 "enabled.<br>Please choose to either download OSM data, or GPX data, or "
 "both.</html>"
 msgstr ""
+"<html>ទាំង <strong>{0}</strong> ឬ <strong>{1}</strong> "
+"មិន​ត្រូវ​បាន​បើក។<br>សូម​ជ្រើស​យក​ទាញ​យក​ទិន្នន័យ OSM ឬ​ទិន្នន័យ GPX "
+"ឬ​ទាំងពីរ។</html>"
 
 msgid "Download referrers (parent relations)"
-msgstr ""
+msgstr "ទាញ​យក​អ្នក​អះអាង (ទំនាក់ទំនង​មេ)"
 
 msgid "Download object"
-msgstr ""
+msgstr "ទាញ​យក​វត្ថុ"
 
 msgid "Start downloading"
-msgstr ""
+msgstr "ចាប់ផ្ដើម​ទាញ​យក"
 
 msgid ""
 "Select if the referrers of the object should be downloaded as well, "
 "i.e.,parent relations and for nodes, additionally, parent ways"
 msgstr ""
+"ជ្រើស​ថា​តើ​អ្នក​អះអាង​វត្ថុ​គួរ​ត្រូវ​បាន​ទាញ​យក​ឬ​យ៉ាងណា "
+"គឺ​ថា​ទំនាក់ទំនង​មេ​សម្រាប់​តំណ និង​ផ្លូវ​មេ​បន្ថែម"
 
 msgid "Select if the members of a relation should be downloaded as well"
-msgstr ""
+msgstr "ជ្រើស​ថា​តើ​សមាជិក​នៃ​ទំនាក់ទំនង​គួរ​ត្រូវ​បាន​ទាញ​យក​ឬ​យ៉ាងណា"
 
 msgid "Download referrers (parent relations and ways)"
-msgstr ""
+msgstr "ទាញ​យក​អ្នក​អះអាង (ផ្លូវ និង​ទំនាក់ទំនង​មេ)"
 
 msgid "Class Type"
-msgstr ""
+msgstr "ប្រភេទ​ថ្នាក់"
 
 msgid "Bounds"
-msgstr ""
+msgstr "ព្រំដែន"
 
 msgid "Choose the server for searching:"
-msgstr ""
+msgstr "ជ្រើស​ម៉ាស៊ីន​មេ​សម្រាប់​ស្វែងរក៖"
 
 msgid "Enter a place name to search for:"
-msgstr ""
+msgstr "បញ្ចូល​ឈ្មោះ​កន្លែង​ដើម្បី​ស្វែងរក៖"
 
 msgid "Enter a place name to search for"
-msgstr ""
+msgstr "បញ្ចូល​ឈ្មោះ​កន្លែង​ដើម្បី​ស្វែងរក"
 
 msgid "Areas around places"
-msgstr ""
+msgstr "តំបន់​ជុំវិញ​ទីកន្លែង"
 
 msgid "Null pointer exception, possibly some missing tags."
-msgstr ""
+msgstr "ការ​លើកលែង​ចំណុច​ចង្អុល​សូន្យ អាច​បាត់​ស្លាក​ខ្លះ។"
 
 msgid "Search ..."
-msgstr ""
+msgstr "ស្វែងរក..."
 
 msgid "Click to start searching for places"
-msgstr ""
+msgstr "ចុច​ដើម្បី​ស្វែងរក​ទីកន្លែង"
 
 msgid "Querying name server"
-msgstr ""
+msgstr "ជ្រើស​ឈ្មោះ​ម៉ាស៊ីន​មេ"
 
 msgid "Querying name server ..."
-msgstr ""
+msgstr "កំពុង​ជ្រើស​ឈ្មោះ​ម៉ាស៊ីន​មេ..."
 
 msgid "Error occured with query ''{0}'': ''{1}''"
-msgstr ""
+msgstr "មាន​កំហុស​ពេល​ជ្រើស ''{0}'': ''{1}''"
 
 msgid "Name server returned invalid data. Please try again."
 msgstr ""
+"ឈ្មោះ​ម៉ាស៊ីន​មេ​បាន​ត្រឡប់​ទិន្នន័យ​មិន​ត្រឹមត្រូវ។ សូម​ព្យាយាម​ម្ដងទៀត។"
 
 msgid "Bad response"
-msgstr ""
+msgstr "ការ​ឆ្លើយតប​មិន​ល្អ"
 
 msgid "Type"
-msgstr ""
+msgstr "ប្រភេទ"
 
 msgid "Slippy map"
-msgstr ""
+msgstr "ផែនទី​រហ័ស"
 
 msgid "Tile Numbers"
-msgstr ""
+msgstr "លេខ​ក្បឿង"
 
 msgid "JOSM Help Browser"
-msgstr ""
+msgstr "កម្មវិធី​អ៊ីនធឺណិត​ជំនួយ JOSM"
 
 msgid "Failed to read CSS file ''help-browser.css''. Exception is: {0}"
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​អាន​ឯកសារ CSS ''help-browser.css'' ។ ករណី​លើកលែង​គឺ៖ {0}"
 
 msgid ""
 "<html><p class=\"warning-header\">Help content for help topic missing</p><p "
@@ -7772,6 +8128,14 @@ msgid ""
 "your local language ({1})</a> and the <a href=\"{3}\">help topic in "
 "English</a>.</p></html>"
 msgstr ""
+"<html><p class=\"warning-"
+"header\">មាតិកា​ជំនួយ​សម្រាប់​ប្រធានបទ​ដែល​បាត់</p><p class=\"warning-"
+"body\">មាតិកា​ជំនួយ​សម្រាប់​ប្រធានបទ <strong>{0}</strong> ដែល​មិន​ទាន់​មាន។ "
+"វា​គឺ​បាត់​ទាំង​នៅ​ក្នុង​ភាសា​របស់​អ្នក ({1}) "
+"និង​ភាសា​អង់គ្លេស។<br><br>សូម​ជួយ​ធ្វើឲ្យ​ប្រព័ន្ធ​ជំនួយ JOSM ប្រសើរ​ឡើង "
+"ដោយ​បំពេញ​ព័ត៌មាន​ដែល​បាត់។ អ្នក​អាច​កែសម្រួល​ទាំង <a "
+"href=\"{2}\">ប្រធានបទ​ជំនួយ​ក្នុង​ភាសា​របស់​អ្នក ({1})</a> និង​ទាំង <a "
+"href=\"{3}\">ប្រធានបទ​ជំនួយ​ក្នុង​ភាសា​អង់គ្លេស</a>។</p></html>"
 
 msgid ""
 "<html><p class=\"error-header\">Error when retrieving help information</p><p "
@@ -7779,193 +8143,219 @@ msgid ""
 "could not be loaded. The error message is "
 "(untranslated):<br><tt>{1}</tt></p></html>"
 msgstr ""
+"<html><p class=\"error-header\">កំហុស​ពេល​ទៅ​យក​ព័ត៌មាន​ជំនួយ</p><p "
+"class=\"error-body\">មាតិកា​សម្រាប់​ប្រធានបទ​ជំនួយ <strong>{0}</strong> "
+"មិន​អាច​ផ្ទុក​បាន​ទេ។ សារ​កំហុស​គឺ "
+"(មិន​បាន​បកប្រែ)៖<br><tt>{1}</tt></p></html>"
 
 msgid ""
 "<html>Failed to open help page for url {0}.<br>This is most likely due to a "
 "network problem, please check<br>your internet connection</html>"
 msgstr ""
+"<html>បាន​បរាជ័យ​ក្នុង​ការ​បើក​ទំព័រ​ជំនួយ​សម្រាប់ url {0} "
+"។<br>នេះ​គឺ​ដោយសារតែ​បញ្ហា​បណ្ដាញ "
+"សូម​ពិនិត្យមើល<br>ការ​តភ្ជាប់​អ៊ីនធឺណិត​របស់​អ្នក</html>"
 
 msgid "Failed to open URL"
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​បើក URL"
 
 msgid "Open the current help page in an external browser"
-msgstr ""
+msgstr "បើក​ទំព័រ​ជំនួយ​បច្ចុប្បន្ន​នៅ​ក្នុង​កម្មវិធី​អ៊ីនធឺណិត​ខាងក្រៅ"
 
 msgid "Edit the current help page"
-msgstr ""
+msgstr "កែសម្រួល​ទំព័រ​ជំនួយ​បច្ចុប្បន្ន"
 
 msgid ""
 "<html>The current URL <tt>{0}</tt><br>is an external URL. Editing is only "
 "possible for help topics<br>on the help server <tt>{1}</tt>.</html>"
 msgstr ""
+"<html>URL បច្ចុប្បន្ន <tt>{0}</tt><br>ជា URL ខាងក្រៅ។ "
+"ការ​កែសម្រួល​គឺ​បានតែ​សម្រាប់​ប្រធានបទ​ជំនួយ<br>នៅ​លើ​ម៉ាស៊ីន​មេ​ជំនួយ "
+"<tt>{1}</tt> ប៉ុណ្ណោះ។</html>"
 
 msgid "Reload the current help page"
-msgstr ""
+msgstr "ផ្ទុក​ទំព័រ​ជំនួយ​ឡើងវិញ"
 
 msgid "Go to the previous page"
-msgstr ""
+msgstr "ទៅកាន់​ទំព័រ​មុន"
 
 msgid "Go to the next page"
-msgstr ""
+msgstr "ទៅកាន់​ទំព័រ​បន្ទាប់"
 
 msgid "Go to the JOSM help home page"
-msgstr ""
+msgstr "ទៅកាន់​គេហទំព័រ​ជំនួយ JOSM"
 
 msgid "Bad location in HTML document. Exception was: {0}"
-msgstr ""
+msgstr "ទីតាំង​មិន​ល្អ​ក្នុង​ក្នុង​ឯកសារ HTML ។ ករណី​លើកលែង​គឺ៖ {0}"
 
 msgid "Failed to open help page. The target URL is empty."
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​បើក​ទំព័រ​ជំនួយ។ URL គោលដៅ​គឺ​ទទេ។"
 
 msgid "Failed to open help page"
-msgstr ""
+msgstr "បាន​បរាជ័យ​ក្នុង​ការ​បើក​ទំព័រ​ជំនួយ"
 
 msgid "Latitude: "
-msgstr ""
+msgstr "រយៈទទឹង៖ "
 
 msgid "Longitude: "
-msgstr ""
+msgstr "រយៈបណ្ដោយ៖ "
 
 msgid "Distance: "
-msgstr ""
+msgstr "ចម្ងាយ៖ "
 
 msgid "Coordinates"
-msgstr ""
+msgstr "កូអរដោណេ"
 
 msgid "History for node {0}"
-msgstr ""
+msgstr "ប្រវត្តិ​តំណ {0}"
 
 msgid "History for way {0}"
-msgstr ""
+msgstr "ប្រវត្តិ​ផ្លូវ {0}"
 
 msgid "History for relation {0}"
-msgstr ""
+msgstr "ប្រវត្តិ​ទំនាក់ទំនង {0}"
 
 msgid "Reload the history from the server"
-msgstr ""
+msgstr "ផ្ទុក​ប្រវត្តិ​ឡើងវិញ​ពី​ម៉ាស៊ីន​មេ"
 
 msgid "History not initialized yet. Failed to set reference primitive."
 msgstr ""
+"ប្រវត្តិ​មិនទាន់​ចាប់ផ្ដើម​ទេ។ បាន​បរាជ័យ​ក្នុង​ការ​កំណត់​ព្រីមីទីវ​យោង។"
 
 msgid ""
 "Failed to set reference. Reference ID {0} does not match history ID {1}."
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​កំណត់​សេចក្ដី​យោង។ លេខ​សម្គាល់​សេចក្ដី​យោង {0} "
+"មិន​ត្រូវគ្នា​ជាមួយ​លេខ​សម្គាល់​ប្រវត្តិ {1} ។"
 
 msgid ""
 "Failed to set reference. Reference version {0} not available in history."
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​កំណត់​សេចក្ដី​យោង។ កំណែ​សេចក្ដី​យោង {0} "
+"មិន​មាន​នៅ​ក្នុង​ប្រវត្តិ។"
 
 msgid "History not initialized yet. Failed to set current primitive."
 msgstr ""
+"ប្រវត្តិ​មិនទាន់​ចាប់ផ្ដើម​ទេ។ "
+"បាន​បរាជ័យ​ក្នុង​ការ​កំណត់​ព្រីមីទីវ​បច្ចុប្បន្ន។"
 
 msgid ""
 "Failed to set current primitive. Current version {0} not available in "
 "history."
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​កំណត់​ព្រីមីទីវ​បច្ចុប្បន្ន។ កំណែ {0} "
+"មិន​មាន​នៅ​ក្នុង​ប្រវត្តិ។"
 
 msgid "Load history"
-msgstr ""
+msgstr "ផ្ទុក​ប្រវត្តិ"
 
 msgid "Loading history for node {0}"
-msgstr ""
+msgstr "ការ​ផ្ទុក​ប្រវត្តិ​សម្រាប់​តំណ {0}"
 
 msgid "Loading history for way {0}"
-msgstr ""
+msgstr "ការ​ផ្ទុក​ប្រវត្តិ​សម្រាប់​ផ្លូវ {0}"
 
 msgid "Loading history for relation {0}"
-msgstr ""
+msgstr "ការ​ផ្ទុក​ប្រវត្តិ​សម្រាប់​ទំនាក់ទំនង {0}"
 
 msgid "Node {0}"
-msgstr ""
+msgstr "តំណ {0}"
 
 msgid "Zoom to node"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​តំណ"
 
 msgid "Zoom to this node in the current data layer"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​តំណ​នេះ​ក្នុង​ស្រទាប់​ទិន្នន័យ​បច្ចុប្បន្ន"
 
 msgid "Open a history browser with the history of this node"
-msgstr ""
+msgstr "បើក​ប្រវត្តិ​កម្មវិធី​អ៊ីនធឺណិត​ដែល​មាន​ប្រវត្តិ​នៃ​តំណ"
 
 msgid "Way {0}"
-msgstr ""
+msgstr "ផ្លូវ {0}"
 
 msgid "Relation {0}"
-msgstr ""
+msgstr "ទំនាក់ទំនង {0}"
 
 msgid "Object"
-msgstr ""
+msgstr "វត្ថុ"
 
 msgid "not present"
-msgstr ""
+msgstr "មិនមែន​បច្ចុប្បន្ន"
 
 msgid "Changeset:"
-msgstr ""
+msgstr "សំណុំ​ផ្លាស់ប្ដូរ៖"
 
 msgid "Changeset comment"
-msgstr ""
+msgstr "សេចក្ដីអធិប្បាយ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Changeset source"
-msgstr ""
+msgstr "ប្រភព​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "<b>Source</b>:"
-msgstr ""
+msgstr "<b>ប្រភព</b>៖"
 
 msgid ""
 "<html>Version <strong>{0}</strong> currently edited in layer ''{1}''</html>"
 msgstr ""
+"<html>កំណែ <strong>{0}</strong> បច្ចុប្បន្ន​ត្រូវ​បាន​កែសម្រួល​ក្នុង​ស្រទាប់ "
+"''{1}''</html>"
 
 msgid ""
 "<html>Version <strong>{0}</strong> created on <strong>{1}</strong></html>"
 msgstr ""
+"<html>កំណែ <strong>{0}</strong> បាន​បង្កើត​នៅ <strong>{1}</strong></html>"
 
 msgid "Changeset info"
-msgstr ""
+msgstr "ព័ត៌មាន​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Launch browser with information about the changeset"
-msgstr ""
+msgstr "ចាប់ផ្ដើម​កម្មវិធី​អ៊ីនធឺណិត​ជាមួយ​ព័ត៌មាន​អំពី​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Show changeset {0}"
-msgstr ""
+msgstr "បង្ហាញ​សំណុំ​ផ្លាស់ប្ដូរ {0}"
 
 msgid "User info"
-msgstr ""
+msgstr "ព័ត៌មាន​អ្នកប្រើ"
 
 msgid "Launch browser with information about the user"
-msgstr ""
+msgstr "ចាប់ផ្ដើម​កម្មវិធី​អ៊ីនធឺណិត​ជាមួយ​ព័ត៌មាន​អំពី​អ្នកប្រើ"
 
 msgid "Show user {0}"
-msgstr ""
+msgstr "បង្ហាញ​អ្នកប្រើ {0}"
 
 msgid "Ver"
-msgstr ""
+msgstr "កំណែ"
 
 msgid "A"
-msgstr ""
+msgstr "A"
 
 msgid "B"
-msgstr ""
+msgstr "B"
 
 msgid ""
 "Failed to update primitive with id {0} because current edit layer is null"
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​ធ្វើ​បច្ចុប្បន្នភាព​ព្រីមីទីវ​ដែល​មាន​លេខ​សម្គាល់ {0} "
+"ព្រោះ​ស្រទាប់​កែសម្រួល​បច្ចុប្បន្ន​គឺ​ទទេ"
 
 msgid ""
 "Failed to update primitive with id {0} because current edit layer does not "
 "include such a primitive"
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​ធ្វើ​បច្ចុប្បន្នភាព​ព្រីមីទីវ​ដែល​មាន​លេខ​សម្គាល់ {0} "
+"ព្រោះ​ស្រទាប់​កែសម្រួល​បច្ចុប្បន្ន​មិន​បាន​រួម​បញ្ចូល​ព្រីមីទីវ​នោះ"
 
 msgid "Synchronize node {0} only"
-msgstr ""
+msgstr "ធ្វើ​សមកាលកម្ម​តែ​តំណ {0} ប៉ុណ្ណោះ"
 
 msgid "Synchronize way {0} only"
-msgstr ""
+msgstr "ធ្វើ​សមកាលកម្ម​តែ​ផ្លូវ {0} ប៉ុណ្ណោះ"
 
 msgid "Synchronize relation {0} only"
-msgstr ""
+msgstr "ធ្វើ​សមកាលកម្ម​តែ​ទំនាក់ទំនង {0} ប៉ុណ្ណោះ"
 
 msgid "Synchronize entire dataset"
-msgstr ""
+msgstr "ធ្វើ​សមកាលកម្ម​សំណុំ​ទិន្នន័យ​ទាំងមូល"
 
 msgid ""
 "<html>Uploading <strong>failed</strong> because the server has a newer "
@@ -7977,6 +8367,15 @@ msgid ""
 "server.<br>Click <strong>{6}</strong> to abort and continue "
 "editing.<br></html>"
 msgstr ""
+"<html>ការ​ផ្ទុក​ឡើង <strong>បាន​បរាជ័យ</strong> "
+"ដោយសារ​ម៉ាស៊ីន​មេ​មាន​កំណែ​ថ្មី​ជាង<br>កំណែ​នៃ​តំណ ផ្លូវ "
+"ឬ​ទំនាក់ទំនង​របស់​អ្នក។<br>ការ​ប៉ះទង្គិច​កើតឡើង​ដោយសារ <strong>{0}</strong> "
+"ដែល​មាន​លេខ​សម្គាល់ <strong>{1}</strong>,<br>ហើយ​ម៉ាស៊ីន​មេ​មាន​កំណែ {2}, "
+"កំណែ​របស់​អ្នក​គឺ {3} ។<br><br>ចុច<strong>{4}</strong> "
+"ដើម្បី​ធ្វើ​សមកាលកម្ម​តែ​ព្រីមីទីវ​ប៉ះទង្គិច​ប៉ុណ្ណោះ។<br>ចុច "
+"<strong>{5}</strong> "
+"ដើម្បី​ធ្វើ​សមកាលកម្ម​សំណុំ​ទិន្នន័យ​មូលដ្ឋាន​ទាំងមូល​ជាមួយ​ម៉ាស៊ីនមេ។<br>ចុច"
+" <strong>{6}</strong> ដើម្បី​បោះបង់ និង​បន្ត​ការ​កែសម្រួល។<br></html>"
 
 msgid ""
 "<html>Uploading <strong>failed</strong> because the server has a newer "
@@ -7985,38 +8384,50 @@ msgid ""
 "server.<br>Click <strong>{1}</strong> to abort and continue "
 "editing.<br></html>"
 msgstr ""
+"<html>ការ​ផ្ទុក​ឡើង <strong>បាន​បរាជ័យ</strong> "
+"ដោយសារ​ម៉ាស៊ីន​មេ​មាន​កំណែ​ថ្មី​ជាង<br>កំណែ​នៃ​តំណ ផ្លូវ "
+"ឬ​ទំនាក់ទំនង​របស់​អ្នក។<br><br>ចុច <strong>{0}</strong> "
+"ដើម្បី​ធ្វើ​សមកាលកម្ម​សំណុំ​ទិន្នន័យ​មូលដ្ឋាន​ទាំងមូល​ជាមួយ​ម៉ាស៊ីនមេ។<br>ចុច"
+" <strong>{1}</strong> ដើម្បី​បោះបង់ និង​បន្ត​ការ​កែសម្រួល។<br></html>"
 
 msgid ""
 "<html>Uploading <strong>failed</strong> because you have been "
 "using<br>changeset {0} which was already closed at {1}.<br>Please upload "
 "again with a new or an existing open changeset.</html>"
 msgstr ""
+"<html>ការ​ផ្ទុក​ឡើង <strong>បាន​បរាជ័យ</strong> "
+"ដោយសារ​អ្នក​កំពុង​ប្រើ<br>សំណុំ​ផ្លាស់ប្ដូរ {0} ដែល​បាន​បិទ​រួចហើយ​នៅ {1} "
+"។<br>សូម​ផ្ទុក​ឡើង​ម្ដងទៀត​ជាមួយ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​បើក​ស្រាប់ "
+"ឬ​សំណុំ​ផ្លាស់ប្ដូរ​ថ្មី។</html>"
 
 msgid "Changeset closed"
-msgstr ""
+msgstr "បាន​បិទ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Prepare conflict resolution"
-msgstr ""
+msgstr "រៀបចំ​ដំណោះស្រាយ​ការ​ប៉ះទង្គិច"
 
 msgid "Click to download all referring objects for {0}"
-msgstr ""
+msgstr "ចុច​ដើម្បី​ទាញ​យក​វត្ថុ​យោង​ទាំងអស់​សម្រាប់ {0}"
 
 msgid "Click to cancel and to resume editing the map"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បោះបង់ និង​បន្ត​ការ​កែសម្រួល​ផែនទី"
 
 msgid ""
 "Click <strong>{0}</strong> to load them now.<br>If necessary JOSM will "
 "create conflicts which you can resolve in the Conflict Resolution Dialog."
 msgstr ""
+"ចុច <strong>{0}</strong> ដើម្បី​ផ្ទុក​ពួកវា​ឥឡូវនេះ។<br>បើ​ចាំបាច់ JOSM "
+"និង​បង្កើត​ការ​ប៉ះទង្គិច​ដែល​អ្នក​អាច​ដោះស្រាយ​បាន​នៅ​ក្នុង​ប្រអប់​ដំណោះស្រាយ"
+"​ការ​ប៉ះទង្គិច។"
 
 msgid "Object still in use"
-msgstr ""
+msgstr "វត្ថុ​នៅ​កំពុង​ប្រើ"
 
 msgid "Error header \"{0}\" did not match with an expected pattern"
-msgstr ""
+msgstr "កំហុស​បឋមកថា \"{0}\" មិន​ផ្គូផ្គង​ជាមួយ​លំនាំ​ដែល​បាន​លើកលែង"
 
 msgid "Upload"
-msgstr ""
+msgstr "ផ្ទុក​ឡើង"
 
 msgid ""
 "<html>Select which actions to perform for this layer, if you click the "
@@ -8024,141 +8435,160 @@ msgid ""
 "server.<br/>Check \"Save\" to save the layer to the file specified on the "
 "left.</html>"
 msgstr ""
+"<html>ជ្រើស​សកម្មភាព​ដើម្បី​អនុវត្ត​សម្រាប់​ស្រទាប់​នេះ "
+"បើ​អ្នក​ចុច​ប៊ូតុង​ខាងឆ្វេង​ភាគច្រើន។<br/>ធីក \"ផ្ទុក​ឡើង\" "
+"ដើម្បី​ផ្ទុក​ឡើង​នូវ​ការ​ផ្លាស់ប្ដូរ​ទៅកាន់​ម៉ាស៊ីន​មេ OSM ។<br/>ធីក "
+"\"រក្សាទុក\" "
+"ដើម្បី​រក្សាទុក​ស្រទាប់​ទៅកាន់​ឯកសារ​ដែល​បាន​បញ្ជាក់​នៅ​ខាងឆ្វេង។</html>"
 
 msgid "Provide a brief comment for the changes you are uploading:"
 msgstr ""
+"ផ្ដល់​សេចក្ដី​អធិប្បាយ​សង្ខេប​សម្រាប់​ការ​ផ្លាស់ប្ដូរ​ដែល​អ្នក​កំពុង​ផ្ទុក​ឡើ"
+"ង៖"
 
 msgid "Enter an upload comment"
-msgstr ""
+msgstr "បញ្ចូល​សេចក្ដីអធិប្បាយ​ផ្ទុក​ឡើង"
 
 msgid "Specify the data source for the changes"
-msgstr ""
+msgstr "បញ្ជាក់​ប្រភព​ទិន្នន័យ​សម្រាប់​ការ​ផ្លាស់ប្ដូរ"
 
 msgid "obtain from current layers"
-msgstr ""
+msgstr "យក​ពី​ស្រទាប់​បច្ចុប្បន្ន"
 
 msgid "Enter a source"
-msgstr ""
+msgstr "បញ្ចូល​ប្រភព"
 
 msgid "Changeset id:"
-msgstr ""
+msgstr "លេខ​សម្គាល់​សំណុំ​ផ្លាស់ប្ដូរ៖"
 
 msgid "Created at:"
-msgstr ""
+msgstr "បាន​បង្កើត​នៅ៖"
 
 msgid "Changeset comment:"
-msgstr ""
+msgstr "សេចក្ដីអធិប្បាយ​សំណុំ​ផ្លាស់ប្ដូរ៖"
 
 msgid "No open changeset"
-msgstr ""
+msgstr "មិន​មាន​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បើក​ទេ"
 
 msgid ""
 "Please decide what changeset the data is uploaded to and whether to close "
 "the changeset after the next upload."
 msgstr ""
+"សូម​សម្រេចចិត្ត​ថា​តើ​ទិន្នន័យ​សំណុំ​ផ្លាស់ប្ដូរ​អ្វី​ដែល​ត្រូវ​ផ្ទុក​ឡើង "
+"ឬ​ថា​តើ​ត្រូវ​បិទ​សំណុំ​ផ្លាស់ប្ដូរ​ក្រោយពី​ការ​ផ្ទុក​ឡើង​បន្ទាប់។"
 
 msgid "Upload to a new changeset"
-msgstr ""
+msgstr "ផ្ទុក​ឡើង​ទៅកាន់​សំណុំ​ផ្លាស់ប្ដូរ​ថ្មី"
 
 msgid "Open a new changeset and use it in the next upload"
 msgstr ""
+"បើក​សំណុំ​ផ្លាស់ប្ដូរ​ថ្មី រួច​ប្រើ​វា​នៅ​ក្នុង​ការ​ផ្ទុក​ឡើង​បន្ទាប់"
 
 msgid "Upload to an existing changeset"
-msgstr ""
+msgstr "ផ្ទុក​ឡើង​ទៅ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​មាន​ស្រាប់"
 
 msgid "Upload data to an already existing and open changeset"
-msgstr ""
+msgstr "ផ្ទុក​ទិន្នន័យ​ឡើង​ទៅ​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​បាន​បើក និង​មាន​ស្រាប់"
 
 msgid "Select an open changeset"
-msgstr ""
+msgstr "ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​បើក"
 
 msgid "Close changeset after upload"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ​បន្ទាប់ពី​ផ្ទុក​ឡើង"
 
 msgid "Select to close the changeset after the next upload"
-msgstr ""
+msgstr "ជ្រើស​ដើម្បី​បិទ​សំណុំ​ផ្លាស់ប្ដូរ​ក្រោយពី​ការ​ផ្ទុក​ឡើង​បន្ទាប់"
 
 msgid "Load the list of your open changesets from the server"
-msgstr ""
+msgstr "ផ្ទុក​បញ្ជី​សំណុំ​ផ្លាស់ប្ដូរ​បើក​របស់​អ្នក​ពី​ម៉ាស៊ីន​មេ"
 
 msgid "Close the currently selected open changeset"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ​បើក​ដែល​បាន​ជ្រើស​បច្ចុប្បន្ន"
 
 msgid "<html>Please select the changesets you want to close</html>"
-msgstr ""
+msgstr "<html>សូម​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​អ្នក​ចង់​បិទ</html>"
 
 msgid "Open changesets"
-msgstr ""
+msgstr "បើក​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Close changesets"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Close the selected open changesets"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ​បើក​ដែល​បាន​ជ្រើស"
 
 msgid "Cancel closing of changesets"
-msgstr ""
+msgstr "បោះបង់​ការ​បិទ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Closing changeset"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Closing changeset {0}"
-msgstr ""
+msgstr "បិទ​សំណុំ​ផ្លាស់ប្ដូរ {0}"
 
 msgid ""
 "Failed to put Credential Dialog always on top. Caught security exception."
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​ដាក់​ប្រអប់​ព័ត៌មាន​សម្ងាត់​នៅ​លើ​ជានិច្ច។ "
+"បាន​ជួប​ករណី​លើកលែង​សុវត្ថិភាព។"
 
 msgid "Enter credentials for OSM API"
-msgstr ""
+msgstr "បញ្ចូល​ព័ត៌មាន​សម្ងាត់​សម្រាប់ OSM API"
 
 msgid "Enter credentials for host"
-msgstr ""
+msgstr "បញ្ចូល​ព័ត៌មាន​សម្ងាត់​សម្រាប់​ម៉ាស៊ីន"
 
 msgid "Enter credentials for HTTP proxy"
-msgstr ""
-
-msgid "Username"
-msgstr "ឈ្មោះ​អ្នក​ប្រើ"
+msgstr "បញ្ចូល​ព័ត៌មាន​សម្ងាត់​សម្រាប់​ប្រូកស៊ី HTTP"
 
 msgid "Password"
 msgstr "ពាក្យ​​​សម្ងាត់"
 
 msgid "Warning: The password is transferred unencrypted."
-msgstr ""
+msgstr "ព្រមាន៖ ពាក្យសម្ងាត់​ត្រូវ​បាន​បញ្ជូន​ដោយ​មិន​ដាក់​លេខ​កូដ។"
 
 msgid "Please enter the user name of your OSM account"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ​គណនី OSM របស់​អ្នក"
 
 msgid "Please enter the password of your OSM account"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ពាក្យសម្ងាត់​គណនី OSM របស់​អ្នក"
 
 msgid ""
 "Authenticating at the OSM API ''{0}'' failed. Please enter a valid username "
 "and a valid password."
 msgstr ""
+"ការ​ផ្ទៀងផ្ទាត់​នៅ OSM API ''{0}'' បាន​បរាជ័យ។ សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ "
+"និង​ពាក្យសម្ងាត់​ត្រឹមត្រូវ។"
 
 msgid "Please enter the user name of your account"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ​គណនី​របស់​អ្នក"
 
 msgid "Please enter the password of your account"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ពាក្យសម្ងាត់​គណនី​របស់​អ្នក"
 
 msgid ""
 "Authenticating at the host ''{0}'' failed. Please enter a valid username and "
 "a valid password."
 msgstr ""
+"ការ​ផ្ទៀងផ្ទាត់​នៅ​ម៉ាស៊ីន ''{0}'' បាន​បរាជ័យ។ សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ "
+"និង​ពាក្យសម្ងាត់​ត្រឹមត្រូវ។"
 
 msgid "Please enter the user name for authenticating at your proxy server"
 msgstr ""
+"សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ​សម្រាប់​ការ​ផ្ទៀងផ្ទាត់​នៅ​ម៉ាស៊ីន​មេ​ប្រូកស៊ី​របស់"
+"​អ្នក"
 
 msgid "Please enter the password for authenticating at your proxy server"
 msgstr ""
+"សូម​បញ្ចូល​ពាក្យសម្ងាត់​សម្រាប់​ការ​ផ្ទៀងផ្ទាត់​នៅ​ម៉ាស៊ីន​មេ​ប្រូកស៊ី​របស់​អ"
+"្នក"
 
 msgid ""
 "Authenticating at the HTTP proxy ''{0}'' failed. Please enter a valid "
 "username and a valid password."
 msgstr ""
+"ការ​ផ្ទៀងផ្ទាត់​នៅ​ប្រូកស៊ី HTTP ''{0}'' បាន​បរាជ័យ។ "
+"សូម​បញ្ចូល​ឈ្មោះ​អ្នកប្រើ និង​ពាក្យសម្ងាត់​ត្រឹមត្រូវ។"
 
 msgid ""
 "Warning: depending on the authentication method the proxy server uses the "
@@ -8172,24 +8602,26 @@ msgid "Authenticate with the supplied username and password"
 msgstr ""
 
 msgid "Cancel authentication"
-msgstr ""
+msgstr "បោះបង់​ការ​ផ្ទៀងផ្ទាត់"
 
 msgid "Downloading file"
-msgstr ""
+msgstr "ទាញ​យក​ឯកសារ"
 
 msgid "Downloading File {0}: {1} bytes..."
-msgstr ""
+msgstr "កំពុង​ទាញ​យក​ឯកសារ {0}៖ {1} បៃ..."
 
 msgid "Download finished"
-msgstr ""
+msgstr "ការ​ទាញ​យ​ក​បាន​បញ្ចប់"
 
 msgid "Unpacking {0} into {1}"
-msgstr ""
+msgstr "ស្រាយ {0} ដាក់​ក្នុង {1}"
 
 msgid ""
 "Cannot download file ''{0}''. Its download link ''{1}'' is not a valid URL. "
 "Skipping download."
 msgstr ""
+"មិន​អាច​ទាញ​យក​ឯកសារ ''{0}'' ។ តំណ​ទាញ​យក ''{1}'' របស់​វា​មិនមែន​ជា URL "
+"ត្រឹមត្រូវ។ រំលង​ការ​ទាញ​យក។"
 
 msgid ""
 "Could not retrieve the list of your open changesets because<br>JOSM does not "
@@ -8197,92 +8629,98 @@ msgid ""
 "not entitled<br>to know the identity of the user on whose behalf you are "
 "working."
 msgstr ""
+"មិន​អាច​ទៅ​យក​បញ្ជី​សំណុំ​ផ្លាស់ប្ដូរ​បើក​របស់​អ្នក​បាន​ទេ ព្រោះ<br>JOSM "
+"មិន​ស្គាល់​អត្តសញ្ញាណ​របស់​អ្នក។<br>អ្នក​អាច​ជ្រើស​ធ្វើការ​ដោយ​អនាមិក "
+"ឬ​មិន​ដាក់ឈ្មោះ<br>ដើម្បី​ឲ្យ​ស្គាល់​អត្តសញ្ញាណ​អ្នកប្រើ​ក្នុង​នាម​ជា​អ្នក។"
 
 msgid "Missing user identity"
-msgstr ""
+msgstr "បាត់​អត្តសញ្ញាណ​អ្នកប្រើ"
 
 msgid ""
 "Failed to retrieve user infos for the current JOSM user. Exception was: {0}"
 msgstr ""
+"បាន​បរាជ័យ​ក្នុង​ការ​ទៅ​យក​ព័ត៌មាន​អ្នកប្រើ​សម្រាប់​អ្នកប្រើ JOSM "
+"បច្ចុប្បន្ន។ ការលើកលែង​គឺ៖ {0}"
 
 msgid "Download objects"
-msgstr ""
+msgstr "ទាញ​យក​វត្ថុ"
 
 msgid "Initializing nodes to download ..."
-msgstr ""
+msgstr "កំពុង​ចាប់ផ្ដើម​តំណ​ដើម្បី​ទាញ​យក..."
 
 msgid "Object could not be downloaded"
 msgid_plural "Some objects could not be downloaded"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "មិន​អាច​ទាញ​យក​វត្ថុ"
 
 msgid "One object could not be downloaded.<br>"
 msgid_plural "{0} objects could not be downloaded.<br>"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "វត្ថុ {0} មិន​អាច​ត្រូវ​បាន​ទាញ​យក។<br>"
 
 msgid ""
 "The server replied with response code 404.<br>This usually means, the server "
 "does not know an object with the requested id."
 msgstr ""
+"ម៉ាស៊ីន​មេ​បាន​ឆ្លើយតប​លេខ​កូដ 404 "
+"។<br>​មានន័យថា​ម៉ាស៊ីន​មេ​មិន​ស្គាល់​វត្ថុ​ជាមួយ​លេខ​សម្គាល់​ដែល​បាន​ស្នើ។"
 
 msgid "missing objects:"
-msgstr ""
+msgstr "វត្ថុ​ដែល​បាត់៖"
 
 msgid "One downloaded object is deleted."
 msgid_plural "{0} downloaded objects are deleted."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "បាន​លុប​វត្ថុ​ទាញ​យក​ចំនួន {0} ។"
 
 msgid ""
 "Either edit the path manually in the text field or click the \"...\" button "
 "to open a file chooser."
 msgstr ""
+"អាច​កែសម្រួល​ផ្លូវ​ដោយ​ដៃ​នៅ​ក្នុង​វាល​អត្ថបទ ឬ​ចុច​ប៊ូតុង \"...\" "
+"ដើម្បី​បើក​កម្មវិធី​ជ្រើស​ឯកសារ​ក៏បាន។"
 
 msgid "The bold text is the name of the layer."
-msgstr ""
+msgstr "អត្ថបទ​អក្សរ​ដិត​គឺជា​ឈ្មោះ​ស្រទាប់"
 
 msgid "Click here to choose save path"
-msgstr ""
+msgstr "ចុច​ទីនេះ​ដើម្បី​ជ្រើស​ផ្លូវ​រក្សាទុក"
 
 msgid "Layer ''{0}'' is not backed by a file"
-msgstr ""
+msgstr "ស្រទាប់ ''{0}'' មិន​បាន​គាំទ្រ​ដោយ​ឯកសារ"
 
 msgid "File ''{0}'' is not writable. Please enter another file name."
-msgstr ""
+msgstr "ឯកសារ ''{0}'' មិន​អាច​សរសេរ​បាន។ សូម​បញ្ចូល​ឈ្មោះ​ឯកសារ​ផ្សេង។"
 
 msgid "Click cell to change the file path."
-msgstr ""
+msgstr "ចុច​ក្រឡា​ដើម្បី​ប្ដូរ​ផ្លូវ​ឯកសារ។"
 
 msgid "Launch a file chooser to select a file"
-msgstr ""
+msgstr "ចាប់ផ្ដើម​កម្មវិធី​ជ្រើស​ដើម្បី​ជ្រើស​ឯកសារ"
 
 msgid "Select filename"
-msgstr ""
+msgstr "ជ្រើស​ឈ្មោះ​ឯកសារ"
 
 msgid "Open Recent"
-msgstr ""
+msgstr "បើក​ថ្មីៗ"
 
 msgid "List of recently opened files"
-msgstr ""
+msgstr "បញ្ជី​ឯកសារ​ដែល​បើក​ថ្មីៗ"
 
 msgid "Clear"
-msgstr ""
+msgstr "សម្អាត"
 
 msgid "Clear the list of recently opened files"
-msgstr ""
+msgstr "សម្អាត​បញ្ជី​ឯកសារ​ដែល​បើក​ថ្មីៗ"
 
 msgid "Saving layer to ''{0}'' ..."
-msgstr ""
+msgstr "កំពុង​រក្សាទុក​ស្រទាប់​ទៅ ''{0}'' ..."
 
 msgid "Unsaved changes - Save/Upload before exiting?"
-msgstr ""
+msgstr "ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​រក្សាទុក - រក្សាទុក/ផ្ទុក​ឡើង​មុន​ពេល​ចេញ?"
 
 msgid "Unsaved changes - Save/Upload before deleting?"
-msgstr ""
+msgstr "ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​រក្សាទុក - រក្សាទុក/ផ្ទុក​ឡើង​មុន​ពេល​លុប?"
 
 msgid "Uploading and saving modified layers ..."
-msgstr ""
+msgstr "កំពុង​ផ្ទុក​ឡើង និង​រក្សាទុក​ស្រទាប់​ដែល​បាន​កែ..."
 
 msgid ""
 "<html>{0} layer has unresolved conflicts.<br>Either resolve them first or "
@@ -8291,10 +8729,12 @@ msgid_plural ""
 "<html>{0} layers have unresolved conflicts.<br>Either resolve them first or "
 "discard the modifications.<br>Layers with conflicts:</html>"
 msgstr[0] ""
-msgstr[1] ""
+"<html>ស្រទាប់ {0} "
+"មិន​បាន​ដោះស្រាយ​ការ​ប៉ះទង្គិច។<br>ទាំង​ដោះស្រាយ​ពួកគេ​ជាមុន "
+"ឬ​បោះបង់​ការ​កែប្រែ។<br>ស្រទាប់​ដែល​មាន​ការ​ប៉ះទង្គិច៖</html>"
 
 msgid "Unsaved data and conflicts"
-msgstr ""
+msgstr "ការ​ប៉ះទង្គិច និង​ទិន្នន័យ​ដែល​មិន​បាន​រក្សាទុក"
 
 msgid ""
 "<html>{0} layer needs saving but has no associated file.<br>Either select a "
@@ -8304,10 +8744,12 @@ msgid_plural ""
 "file for each of them or discard the changes.<br>Layers without a "
 "file:</html>"
 msgstr[0] ""
-msgstr[1] ""
+"<html>ស្រទាប់ {0} ត្រូវការ​រក្សាទុក "
+"ប៉ុន្តែ​មិន​មាន​ឯកសារ​ពាក់ព័ន្ធ។<br>ទាំង​ការ​ជ្រើស​ឯកសារ​សម្រាប់​ស្រទាប់​នីមួ"
+"យៗ ឬ​បោះបង់​ការ​ផ្លាស់ប្ដូរ។<br>ស្រទាប់​ដែល​គ្មាន​ឯកសារ៖</html>"
 
 msgid "Unsaved data and missing associated file"
-msgstr ""
+msgstr "ទិន្នន័យ​ដែល​មិន​បាន​រក្សាទុក និង​ឯកសារ​ពាក់ព័ន្ធ​ដែល​បាត់"
 
 msgid ""
 "<html>{0} layer needs saving but has an associated file<br>which cannot be "
@@ -8318,40 +8760,51 @@ msgid_plural ""
 "written.<br>Either select another file for each of them or discard the "
 "changes.<br>Layers with non-writable files:</html>"
 msgstr[0] ""
-msgstr[1] ""
+"<html>ស្រទាប់ {0} ត្រូវការ​រក្សាទុក "
+"ប៉ុន្តែ​មាន​ឯកសារ​ពាក់ព័ន្ធ<br>ដែល​មិន​អាច​សរសេរ​បាន។<br>ទាំង​ការ​ជ្រើស​ឯកសារ"
+"​ផ្សេង​សម្រាប់​ស្រទាប់​នីមួយៗ "
+"ឬ​បោះបង់​ការ​ផ្លាស់ប្ដូរ។<br>ស្រទាប់​ដែល​មាន​ឯកសារ​មិន​អាច​សរសេរ​បាន៖</html>"
 
 msgid "Unsaved data non-writable files"
-msgstr ""
+msgstr "ទិន្នន័យ​ឯកសារ​មិន​អាច​សរសេរ​បាន​ដែល​មិន​បាន​រក្សាទុក"
 
 msgid "Close this dialog and resume editing in JOSM"
-msgstr ""
+msgstr "បិទ​ប្រអប់​នេះ រួច​បន្ត​ការ​កែសម្រួល​នៅ​ក្នុង JOSM"
 
 msgid "Exit now!"
-msgstr ""
+msgstr "ចេញ​ឥឡូវ!"
 
 msgid "Exit JOSM without saving. Unsaved changes are lost."
 msgstr ""
+"បិទ JOSM ដោយ​មិន​រក្សាទុក។ ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក "
+"នឹង​ត្រូវ​បាត់។"
 
 msgid "Delete now!"
-msgstr ""
+msgstr "លុប​ឥឡូវ!"
 
 msgid "Delete layers without saving. Unsaved changes are lost."
 msgstr ""
+"លុប​ស្រទាប់​ដោយ​មិន​រក្សាទុក។ ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក "
+"នឹង​ត្រូវ​បាត់។"
 
 msgid "Perform actions before exiting"
-msgstr ""
+msgstr "អនុវត្ត​សកម្មភាព​មុន​ពេល​បិទ"
 
 msgid "Exit JOSM with saving. Unsaved changes are uploaded and/or saved."
 msgstr ""
+"បិទ JOSM ដោយ​មិន​រក្សាទុក។ ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក "
+"នឹង​ត្រូវ​បាន​ផ្ទុក​ឡើង និង/ឬ​រក្សាទុក។"
 
 msgid "Perform actions before deleting"
-msgstr ""
+msgstr "អនុវត្ត​សកម្មភាព​មុន​ពេល​លុប"
 
 msgid "Save/Upload layers before deleting. Unsaved changes are not lost."
 msgstr ""
+"រក្សាទុក/ផ្ទុក​ឡើង​ស្រទាប់​មុន​ពេល​លុប។ ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក "
+"នឹង​ត្រូវ​បាត់។"
 
 msgid "Preparing layer ''{0}'' for upload ..."
-msgstr ""
+msgstr "កំពុង​រៀបចំ​ស្រទាប់ ''{0}'' ដើម្បី​ផ្ទុក​ឡើង..."
 
 msgid ""
 "<html>An upload and/or save operation of one layer with modifications<br>was "
@@ -8360,85 +8813,95 @@ msgid_plural ""
 "<html>Upload and/or save operations of {0} layers with modifications<br>were "
 "canceled or have failed.</html>"
 msgstr[0] ""
-msgstr[1] ""
+"<html>ប្រតិបត្តិការ​ផ្ទុក​ឡើង និង/ឬ​រក្សាទុក​នៃ​ស្រទាប់ {0} "
+"ដែល​មាន​ការ​កែប្រែ<br>ត្រូវ​បាន​បោះបង់ ឬ​បាន​បរាជ័យ។</html>"
 
 msgid "Incomplete upload and/or save"
-msgstr ""
+msgstr "ការ​ផ្ទុក​ឡើង និង/ឬ​ការ​រក្សាទុក​ដែល​មិន​បញ្ចប់"
 
 msgid "should be uploaded"
-msgstr ""
+msgstr "គួរតែ​បាន​ផ្ទុក​ឡើង"
 
 msgid "should be saved"
-msgstr ""
+msgstr "គួរតែ​បាន​រក្សាទុក"
 
 msgid ""
 "Layer ''{0}'' has modifications which should be uploaded to the server."
 msgstr ""
+"ស្រទាប់ ''{0}'' មាន​ការ​កែប្រែ​ដែល​គួរតែ​ត្រូវ​បាន​ផ្ទុក​ឡើង​ទៅ​ម៉ាស៊ីន​មេ។"
 
 msgid "Layer ''{0}'' has modifications which are discouraged to be uploaded."
-msgstr ""
+msgstr "ស្រទាប់ ''{0}'' មាន​ការ​កែប្រែ​ដែល​មិន​គួរ​ត្រូវ​បាន​ផ្ទុក​ឡើង។"
 
 msgid "Layer ''{0}'' has no modifications to be uploaded."
-msgstr ""
+msgstr "ស្រទាប់ ''{0}'' មិន​មាន​ការ​កែប្រែ​ដែល​គួរ​ត្រូវ​បាន​ផ្ទុក​ឡើង​ទេ។"
 
 msgid ""
 "Layer ''{0}'' has modifications which should be saved to its associated file "
 "''{1}''."
 msgstr ""
+"ស្រទាប់ ''{0}'' "
+"មាន​ការ​កែប្រែ​ដែល​គួរ​ត្រូវ​បាន​រក្សាទុក​ទៅ​ឯកសារ​ពាក់ព័ន្ធ​របស់​វា ''{1}'' "
+"។"
 
 msgid "Layer ''{0}'' has no modifications to be saved."
-msgstr ""
+msgstr "ស្រទាប់ ''{0}'' មិន​មាន​ការ​កែប្រែ​ដែល​គួរ​ត្រូវ​បាន​រក្សាទុក​ទេ។"
 
 msgid "Layer Name and File Path"
-msgstr ""
+msgstr "ឈ្មោះ​ស្រទាប់ និង​ផ្លូវ​ឯកសារ"
 
 msgid "Recommended Actions"
-msgstr ""
+msgstr "សកម្មភាព​ដែល​ផ្ដល់​អនុសាសន៍"
 
 msgid "Actions To Take"
-msgstr ""
+msgstr "សកម្មភាព​ដែល​ត្រូវ​ធ្វើ"
 
 msgid "Update objects"
-msgstr ""
+msgstr "ធ្វើ​បច្ចុប្បន្នភាព​វត្ថុ"
 
 msgid "Initializing nodes to update ..."
-msgstr ""
+msgstr "កំពុង​ចាប់ផ្ដើម​តំណ​ដើម្បី​ធ្វើ​បច្ចុប្បន្នភាព..."
 
 msgid "Initializing ways to update ..."
-msgstr ""
+msgstr "កំពុង​ចាប់ផ្ដើម​ផ្លូវ​ដើម្បី​ធ្វើ​បច្ចុប្បន្នភាព..."
 
 msgid "Initializing relations to update ..."
-msgstr ""
+msgstr "កំពុង​ចាប់ផ្ដើម​ទំនាក់ទំនង​ដើម្បី​ធ្វើ​បច្ចុប្បន្នភាព..."
 
 msgid "Settings"
-msgstr ""
+msgstr "ការ​កំណត់"
 
 msgid "Decide how to upload the data and which changeset to use"
 msgstr ""
+"សម្រេច​ពី​របៀប​ផ្ទុក​ទិន្នន័យ​ឡើង "
+"និង​ថា​តើ​សំណុំ​ផ្លាស់ប្ដូរ​ណាមួយ​ដែល​ត្រូវ​ប្រើ"
 
 msgid "Tags of new changeset"
-msgstr ""
+msgstr "ស្លាក​សំណុំ​ផ្លាស់ប្ដូរ​ថ្មី"
 
 msgid "Apply tags to the changeset data is uploaded to"
 msgstr ""
+"ការ​អនុវត្ត​ស្លាក​ចំពោះ​ទិន្នន័យ​សំណុំ​ផ្លាស់ប្ដូរ​ត្រូវ​បាន​ផ្ទុក​ឡើង​ទៅកាន់"
 
 msgid "Manage open changesets and select a changeset to upload to"
 msgstr ""
+"គ្រប់គ្រង​សំណុំ​ផ្លាស់ប្ដូរ​បើក "
+"និង​ជ្រើស​សំណុំ​ផ្លាស់ប្ដូរ​ដើម្បី​ផ្ទុក​ឡើង​ទៅកាន់"
 
 msgid "Configure advanced settings"
-msgstr ""
+msgstr "កំណត់​រចនាសម្ព័ន្ធ​ការ​កំណត់​ជាន់​ខ្ពស់"
 
 msgid "Upload to ''{0}''"
-msgstr ""
+msgstr "ផ្ទុក​ឡើង​ទៅ ''{0}''"
 
 msgid "Upload Changes"
-msgstr ""
+msgstr "ផ្ទុក​ឡើង​ការ​ផ្លាស់ប្ដូរ"
 
 msgid "Upload the changed primitives"
-msgstr ""
+msgstr "ផ្ទុក​ឡើង​ព្រីមីទីវ​ដែល​បាន​ផ្លាស់ប្ដូរ"
 
 msgid "Please revise upload comment"
-msgstr ""
+msgstr "សូម​ពិនិត្យ​មតិយោបល់​ផ្ទុក​ឡើង​ឡើងវិញ"
 
 msgid ""
 "Your upload comment is <i>empty</i>, or <i>very short</i>.<br /><br />This "
@@ -8447,9 +8910,18 @@ msgid ""
 "/>to understand what is going on!<br /><br />If you spend a minute now to "
 "explain your change, you will make life<br />easier for many other mappers."
 msgstr ""
+"មតិយោបល់​ផ្ទុក​ឡើង​របស់​អ្នក​គឺ <i>ទទេ</i> ឬ <i>ខ្លី​ពេក</i>។<br /><br "
+"/>វា​ជា​ការ​អនុញ្ញាត​បែប​បច្ចេកវិទ្យា "
+"ប៉ុន្តែ​ត្រូវ​ដឹង​ថា​មាន​អ្នកប្រើ​ជាច្រើន​ដែល​នឹង<br "
+"/>មើល​ការ​ផ្លាស់ប្ដូរ​នៅ​ក្នុង​តំបន់​របស់​ពួកគេ "
+"ដោយ​ផ្អែក​តាម​មតិយោបល់​សំណុំ​ផ្លាស់ប្ដូរ​ដែល​មានន័យ​គ្រប់គ្រាន់<br "
+"/>ដើម្បី​យល់​ច្បាស់​ពី​អ្វី​ដែល​ត្រូវ​ធ្វើ!<br /><br "
+"/>បើ​អ្នក​ចំណាយ​ពេល​មួយ​នាទី​ដើម្បី​ពន្យល់​នូវ​កា​ផ្លាស់ប្ដូរ​របស់​អ្នក "
+"អ្នក​នឹង​ធ្វើឲ្យ<br "
+"/>កាន់តែ​មាន​ភាព​ងាយស្រួល​សម្រាប់​អ្នក​ធ្វើ​ផែនទី​ផ្សេងទៀត​ជាច្រើន។"
 
 msgid "Please specify a changeset source"
-msgstr ""
+msgstr "សូម​បញ្ជាក់​ប្រភព​ផ្លាស់ប្ដូរ"
 
 msgid ""
 "You did not specify a source for your changes.<br />It is technically "
@@ -8457,27 +8929,33 @@ msgid ""
 "origins of the data.<br /><br />If you spend a minute now to explain your "
 "change, you will make life<br />easier for many other mappers."
 msgstr ""
+"អ្នក​មិន​បា​បញ្ជាក់​ប្រភព​សម្រាប់​ការ​ផ្លាស់ប្ដូរ​របស់​អ្នក។<br "
+"/>វា​ជា​ការ​អនុញ្ញាត​បែប​បច្ចេកវិទ្យា ប៉ុន្តែ​ព័ត៌មាន​នេះ​ជួយ​ដល់<br "
+"/>អ្នកប្រើ​ផ្សេងទៀត​ឲ្យ​ស្គាល់​ពី​ទិន្នន័យ​ដើម។<br /><br "
+"/>បើ​អ្នក​ចំណាយ​ពេល​មួយ​នាទី​ដើម្បី​ពន្យល់​នូវ​កា​ផ្លាស់ប្ដូរ​របស់​អ្នក "
+"អ្នក​នឹង​ធ្វើឲ្យ<br "
+"/>កាន់តែ​មាន​ភាព​ងាយស្រួល​សម្រាប់​អ្នក​ធ្វើ​ផែនទី​ផ្សេងទៀត​ជាច្រើន។"
 
 msgid "Revise"
-msgstr ""
+msgstr "ពិនិត្យ​ឡើងវិញ"
 
 msgid "Continue as is"
-msgstr ""
+msgstr "បន្ត​ជា"
 
 msgid "Return to the previous dialog to enter a more descriptive comment"
-msgstr ""
+msgstr "ត្រឡប់​ទៅ​ប្រអប់​ដើម​ដើម្បី​បញ្ចូល​មតិយោបល់​បន្ថែម"
 
 msgid "Cancel and return to the previous dialog"
-msgstr ""
+msgstr "បោះបង់ រួច​ត្រឡប់​ទៅ​ប្រអប់​ពីមុន"
 
 msgid "Please enter a valid chunk size first"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ទំហំ​កំណាត់​ត្រឹមត្រូវ​ជាមុន"
 
 msgid "Illegal chunk size"
-msgstr ""
+msgstr "ទំហំ​កំណាត់​មិន​ត្រឹមត្រូវ"
 
 msgid "{0}={1}"
-msgstr ""
+msgstr "{0}={1}"
 
 msgid ""
 "<html>The following changeset tag contains an empty "
@@ -8486,48 +8964,56 @@ msgid_plural ""
 "<html>The following changeset tags contain an empty "
 "key/value:<br>{0}<br>Continue?</html>"
 msgstr[0] ""
-msgstr[1] ""
+"<html>ស្លាក​សំណុំ​ផ្លាស់ប្ដូរ​ខាងក្រោម​មាន​តម្លៃ/ពាក្យ​គន្លឹះ​ទទេ៖<br>{0}<br>"
+"បន្ត?</html>"
 
 msgid "Empty metadata"
-msgstr ""
+msgstr "សម្អាត​ទិន្នន័យ​មេតា"
 
 msgid "Cancel the upload and resume editing"
-msgstr ""
+msgstr "បោះបង់​ការ​ផ្ទុក​ឡើង រួច​បន្ត​ការ​កែសម្រួល"
 
 msgid "Tags of changeset {0}"
-msgstr ""
+msgstr "ស្លាក​សំណុំ​ផ្លាស់ប្ដូរ {0}"
 
 msgid ""
 "Object ''{0}'' is already deleted on the server. Skipping this object and "
 "retrying to upload."
 msgstr ""
+"វត្ថុ ''{0}'' ត្រូវ​បាន​លុប​រួច​ហើយ​ពី​ម៉ាស៊ីន​មេ។ រំលង​វត្ថុ​នេះ "
+"រួច​ព្យាយាម​ផ្ទុក​ឡើង​ម្ដងទៀត។"
 
 msgid "Preparing objects to upload ..."
-msgstr ""
+msgstr "កំពុង​រៀបចំ​វត្ថុ​ដើម្បី​ផ្ទុក​ឡើង..."
 
 msgid "Objects are uploaded to a <strong>new changeset</strong>."
-msgstr ""
+msgstr "បាន​ផ្ទុក​វត្ថុ​ឡើង​ទៅ <strong>សំណុំ​ផ្លាស់ប្ដូរ​ថ្មី</strong> ។"
 
 msgid ""
 "Objects are uploaded to the <strong>open changeset</strong> {0} with upload "
 "comment ''{1}''."
 msgstr ""
+"បាន​ផ្ទុក​វត្ថុ​ឡើង​ទៅ <strong>សំណុំ​ផ្លាស់ប្ដូរ​បើក</strong> {0} "
+"ជាមួយ​មតិយោបល់​ផ្ទុក​ឡើង ''{1}'' ។"
 
 msgid ""
 "The changeset is going to be <strong>closed</strong> after this upload"
 msgstr ""
+"សំណុំ​ផ្លាស់ប្ដូរ​នឹង​ត្រូវ <strong>បិទ</strong> បន្ទាប់ពី​ការ​ផ្ទុក​ឡើង​នេះ"
 
 msgid "The changeset is <strong>left open</strong> after this upload"
 msgstr ""
+"សំណុំ​ផ្លាស់ប្ដូរ​នឹង​នៅតែ <strong>បើក</strong> បន្ទាប់ពី​ការ​ផ្ទុក​ឡើង​នេះ"
 
 msgid "configure changeset"
-msgstr ""
+msgstr "កំណត់​រចនាសម្ព័ន្ធ​សំណុំ​ផ្លាស់ប្ដូរ"
 
 msgid "Uploading <strong>{0} object</strong> to <strong>1 changeset</strong>"
 msgid_plural ""
 "Uploading <strong>{0} objects</strong> to <strong>1 changeset</strong>"
 msgstr[0] ""
-msgstr[1] ""
+"ការ​ផ្ទុក​ឡើង <strong>វត្ថុ {0}</strong> ទៅកាន់ <strong>សំណុំ​ផ្លាស់ប្ដូរ "
+"1</strong>"
 
 msgid ""
 "Uploading <strong>{0} object</strong> to <strong>1 changeset</strong> using "
@@ -8536,58 +9022,69 @@ msgid_plural ""
 "Uploading <strong>{0} objects</strong> to <strong>1 changeset</strong> using "
 "<strong>1 request</strong>"
 msgstr[0] ""
-msgstr[1] ""
+"ការ​ផ្ទុក​ឡើង <strong>វត្ថុ {0}</strong> ទៅកាន់ <strong>សំណុំ​ផ្លាស់ប្ដូរ "
+"1</strong> ដោយ​ប្រើ <strong>សំណើ 1</strong>"
 
 msgid ""
 "Uploading <strong>{0} objects</strong> to <strong>1 changeset</strong> using "
 "<strong>{1} requests</strong>"
 msgstr ""
+"ការ​ផ្ទុក​ឡើង <strong>វត្ថុ {0}</strong> ទៅកាន់ <strong>សំណុំ​ផ្លាស់ប្ដូរ "
+"1</strong> ដោយ​ប្រើ <strong>សំណើ {1}</strong>"
 
 msgid "advanced configuration"
-msgstr ""
+msgstr "ការ​កំណត់​រចនាសម្ព័ន្ធ​កម្រិត​ខ្ពស់"
 
 msgid ""
 "{0} objects exceed the max. allowed {1} objects in a changeset on the server "
 "''{2}''. Please <a href=\"urn:advanced-configuration\">configure</a> how to "
 "proceed with <strong>multiple changesets</strong>"
 msgstr ""
+"{0} វត្ថុ​គឺ​លើស​ចំនួន​អតិបរមា។ អនុញ្ញាត​តែ​វត្ថុ {1} "
+"ប៉ុណ្ណោះ​ក្នុង​មួយ​សំណុំ​ផ្លាស់ប្ដូរ​នៅ​លើ​ម៉ាស៊ីន​មេ ''{2}'' ។ សូម​មើល <a "
+"href=\"urn:advanced-configuration\">configure</a> របៀប​ធ្វើ​ជាមួយ "
+"<strong>សំណុំ​ផ្លាស់ប្ដូរ​ច្រើន</strong>"
 
 msgid ""
 "Uploading <strong>{0} objects</strong> to <strong>multiple "
 "changesets</strong> using <strong>{1} requests</strong>"
 msgstr ""
+"ការ​ផ្ទុក​ឡើង <strong>វត្ថុ {0}</strong> ទៅកាន់ "
+"<strong>សំណុំ​ផ្លាស់ប្ដូរ​ច្រើន</strong> ដោយ​ប្រើ <strong>សំណើ {1}</strong>"
 
 msgid "Uploading data for layer ''{0}''"
-msgstr ""
+msgstr "កំពុង​ផ្ទុក​ទិន្នន័យ​ឡើង​សម្រាប់​ស្រទាប់ ''{0}''"
 
 msgid "Continue uploading"
-msgstr ""
+msgstr "បន្ត​ផ្ទុក​ឡើង"
 
 msgid "Click to continue uploading to additional new changesets"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បន្ត​​ការ​ផ្ទុក​ឡើង​ទៅកាន់​សំណុំ​ផ្លាស់ប្ដូរ​ថ្មី​បន្ថែម"
 
 msgid "Go back to Upload Dialog"
-msgstr ""
+msgstr "ត្រឡប់​ទៅ​ប្រអប់​ផ្ទុក​ឡើង"
 
 msgid "Click to return to the Upload Dialog"
-msgstr ""
+msgstr "ចុច​ដើម្បី​ត្រឡប់​ទៅ​ប្រអប់​ផ្ទុក​ឡើង"
 
 msgid "Abort"
-msgstr ""
+msgstr "បោះបង់"
 
 msgid "Click to abort uploading"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បោះបង់​ការ​ផ្ទុក​ឡើង"
 
 msgid ""
 "The server reported that the current changeset was closed.<br>This is most "
 "likely because the changesets size exceeded the max. size<br>of {0} objects "
 "on the server ''{1}''."
 msgstr ""
+"ម៉ាស៊ីន​មេ​បាន​រាយការណ៍​ថា "
+"សំណុំ​ផ្លាស់ប្ដូរ​បច្ចុប្បន្ន​ត្រូវ​បាន​បិទ។<br>វា​គឺ​ដោយសារតែ​ទំហំ​សំណុំ​ផ្ល"
+"ាស់ប្ដូរ​បាន​លើស​ចំនួន​អតិបរមា<br>នៃ {0} វត្ថុ​នៅ​លើ​ម៉ាស៊ីន​មេ ''{1}'' ។"
 
 msgid "There is {0} object left to upload."
 msgid_plural "There are {0} objects left to upload."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "នៅសល់​វត្ថុ {0} ដែល​ត្រូវ​ផ្ទុក​ឡើង។"
 
 msgid ""
 "Click ''<strong>{0}</strong>'' to continue uploading to additional new "
@@ -8595,133 +9092,150 @@ msgid ""
 "dialog.<br>Click ''<strong>{2}</strong>'' to abort uploading and return to "
 "map editing.<br>"
 msgstr ""
+"ចុច ''<strong>{0}</strong>'' "
+"ដើម្បី​បន្ត​ការ​ផ្ទុក​ឡើង​ទៅកាន់​សំណុំ​ផ្លាស់ប្ដូរ​ថ្មី​បន្ថែម។<br>ចុច "
+"''<strong>{1}</strong>'' ដើម្បី​ត្រឡប់​ទៅ​ប្រអប់​ផ្ទុក​ឡើង។<br>ចុច "
+"''<strong>{2}</strong>'' ដើម្បី​បោះបង់​ការ​ផ្ទុក​ឡើង "
+"រួច​ត្រឡប់​ទៅ​ការ​កែសម្រួល​ផែនទី​វិញ។<br>"
 
 msgid "Changeset is full"
-msgstr ""
+msgstr "សំណុំ​ផ្លាស់ប្ដូរ​គឺ​ពេញ"
 
 msgid "Node ''{0}'' is already deleted. Skipping object in upload."
-msgstr ""
+msgstr "តំណ ''{0}'' គឺ​បាន​លុប​រួចហើយ។ រំលង​វត្ថុ​នៅ​ពេល​ផ្ទុក​ឡើង។"
 
 msgid "Way ''{0}'' is already deleted. Skipping object in upload."
-msgstr ""
+msgstr "ផ្លូវ ''{0}'' គឺ​បាន​លុប​រួចហើយ។ រំលង​វត្ថុ​នៅ​ពេល​ផ្ទុក​ឡើង។"
 
 msgid "Relation ''{0}'' is already deleted. Skipping object in upload."
-msgstr ""
+msgstr "ទំនាក់ទំនង ''{0}'' គឺ​បាន​លុប​រួចហើយ។ រំលង​វត្ថុ​នៅ​ពេល​ផ្ទុក​ឡើង។"
 
 msgid "Object ''{0}'' is already deleted. Skipping object in upload."
-msgstr ""
+msgstr "វត្ថុ ''{0}'' គឺ​បាន​លុប​រួចហើយ។ រំលង​វត្ថុ​នៅ​ពេល​ផ្ទុក​ឡើង។"
 
 msgid "Uploading {0} object..."
 msgid_plural "Uploading {0} objects..."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កំពុង​ផ្ទុក​ឡើង​វត្ថុ {0}..."
 
 msgid ""
 "Ignoring caught exception because upload is canceled. Exception is: {0}"
 msgstr ""
+"មិន​អើពើ​ការ​ចាប់​ករណី​លើកលែង ព្រោះ​ការ​ផ្ទុក​ឡើង​ត្រូវ​បាន​បោះបង់។ "
+"ករណី​លើកលែង​គឺ៖ {0}"
 
 msgid "Upload successful!"
-msgstr ""
+msgstr "បាន​ផ្ទុក​ឡើង​ដោយ​ជោគជ័យ!"
 
 msgid ""
 "<html>Mark modified objects <strong>from the current selection</strong> to "
 "be uploaded to the server.</html>"
 msgstr ""
+"<html>សម្គាល់​វត្ថុ​ដែល​បាន​កែ <strong>ពី​ជម្រើស​បច្ចុប្បន្ន</strong> "
+"ថា​ត្រូវ​ផ្ទុក​ឡើង​ទៅ​ម៉ាស៊ីន​មេ។</html>"
 
 msgid ""
 "<html>Mark <strong>locally deleted objects</strong> to be deleted on the "
 "server.</html>"
 msgstr ""
+"<html>សម្គាល់ <strong>វត្ថុ​ដែល​បាន​លុប​មូលដ្ឋាន</strong> "
+"ថា​ត្រូវ​លុប​ពី​ម៉ាស៊ីន​មេ។</html>"
 
 msgid "Select objects to upload"
-msgstr ""
+msgstr "ជ្រើស​វត្ថុ​ដើម្បី​ផ្ទុក​ឡើង"
 
 msgid "Cancel uploading"
-msgstr ""
+msgstr "បោះបង់​ការ​ផ្ទុក​ឡើង"
 
 msgid "Unexpected value for key ''{0}'' in preferences, got ''{1}''"
 msgstr ""
+"តម្លៃ​មិន​រំពឹង​ទុក​សម្រាប់​ពាក្យ​គន្លឹះ ''{0}'' នៅ​ក្នុង​ចំណូលចិត្ត "
+"បាន​ទទួល ''{1}''"
 
 msgid "Please select the upload strategy:"
-msgstr ""
+msgstr "សូម​ជ្រើស​វិធីសាស្ត្រ​ផ្ទុក​ឡើង៖"
 
 msgid "Upload data in one request"
-msgstr ""
+msgstr "ផ្ទុក​ទិន្នន័យ​នៅ​ក្នុង​សំណើ​មួយ"
 
 msgid "Upload data in chunks of objects. Chunk size: "
-msgstr ""
+msgstr "ផ្ទុក​ទិន្នន័យ​ឡើង​នៅ​ក្នុង​កំណាត់​វត្ថុ។ ទំហំ​កំណាត់៖ "
 
 msgid "Upload each object individually"
-msgstr ""
+msgstr "ផ្ទុក​ឡើង​វត្ថុ​នីមួយៗ​ដាច់​ដោយឡែក"
 
 msgid ""
 "<html>There are <strong>multiple changesets</strong> necessary in order to "
 "upload {0} objects. Which strategy do you want to use?</html>"
 msgstr ""
+"<html>មាន <strong>សំណុំ​ផ្លាស់ប្ដូរ​ច្រើន</strong> "
+"ដែល​ចាំបាច់​ត្រូវ​ផ្ទុក​ឡើង​វត្ថុ {0} ។ "
+"តើ​អ្នក​ចង់​ប្រើ​វិធី​សាស្ត្រ​ណា?</html>"
 
 msgid "Fill up one changeset and return to the Upload Dialog"
-msgstr ""
+msgstr "បំពេញ​សំណុំ​ផ្លាស់ប្ដូរ​មួយ រួច​ត្រឡប់​ទៅ​ប្រអប់​ផ្ទុក​ឡើង"
 
 msgid "Open and use as many new changesets as necessary"
-msgstr ""
+msgstr "បើក និង​ប្រើ​សំណុំ​ផ្លាស់ប្ដូរ​ច្រើន​បើ​ចាំបាច់"
 
 msgid "Upload in one request not possible (too many objects to upload)"
 msgstr ""
+"ការ​ផ្ទុក​ឡើង​ក្នុង​សំណើ​មួយ​គឺ​មិន​អាច​ទេ (មាន​វត្ថុ​ផ្ទុក​ឡើង​ច្រើន​ពេក)"
 
 msgid ""
 "<html>Cannot upload {0} objects in one request because the<br>max. changeset "
 "size {1} on server ''{2}'' is exceeded.</html>"
 msgstr ""
+"<html>មិន​អាច​ផ្ទុក​ឡើង​វត្ថុ {0} នៅ​ក្នុង​សំណើ​មួយ "
+"ព្រោះ<br>ទំហំ​សំណុំ​ផ្លាស់ប្ដូរ {1} អតិបរមា​នៅ​លើ​ម៉ាស៊ីន​មេ ''{2}'' "
+"គឺ​បាន​លើស។</html>"
 
 msgid "(1 request)"
-msgstr ""
+msgstr "(សំណើ 1)"
 
 msgid "(# requests unknown)"
-msgstr ""
+msgstr "(មិន​ស្គាល់​សំណើ #)"
 
 msgid "({0} request)"
 msgid_plural "({0} requests)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "(សំណើ {0})"
 
 msgid "Illegal chunk size <= 0. Please enter an integer > 1"
-msgstr ""
+msgstr "ទំហំ​កំណាត់​មិន​ត្រឹមត្រូវ <= 0 ។ សូម​បញ្ចូល​ចំនួនគត់ > 1"
 
 msgid "Chunk size {0} exceeds max. changeset size {1} for server ''{2}''"
 msgstr ""
+"ទំហំ​កំណាត់ {0} លើស​ពី​ទំហំ​សំណុំ​ផ្លាស់ប្ដូរ {1} អតិបរមា​សម្រាប់​ម៉ាស៊ីន​មេ "
+"''{2}''"
 
 msgid "Please enter an integer > 1"
-msgstr ""
+msgstr "សូម​បញ្ចូល​ចំនួនគត់ > 1"
 
 msgid "Value ''{0}'' is not a number. Please enter an integer > 1"
-msgstr ""
+msgstr "តម្លៃ ''{0}'' មិនមែន​ជា​ចំនួន។ សូម​បញ្ចូល​ចំនួនគត់ > 1"
 
 msgid "Objects to add:"
-msgstr ""
+msgstr "វត្ថុ​ដែល​ត្រូវ​បន្ថែម៖"
 
 msgid "Objects to modify:"
-msgstr ""
+msgstr "វត្ថុ​ដែល​ត្រូវ​កែ៖"
 
 msgid "Objects to delete:"
-msgstr ""
+msgstr "វត្ថុ​ដែល​ត្រូវ​លុប៖"
 
 msgid "{0} object to add:"
 msgid_plural "{0} objects to add:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "វត្ថុ {0} ដែល​ត្រូវ​បន្ថែម៖"
 
 msgid "{0} object to modify:"
 msgid_plural "{0} objects to modify:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "វត្ថុ {0} ដែល​ត្រូវ​កែ៖"
 
 msgid "{0} object to delete:"
 msgid_plural "{0} objects to delete:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "វត្ថុ {0} ដែល​ត្រូវ​លុប៖"
 
 msgid "Customize Color"
-msgstr ""
+msgstr "ប្ដូរ​ពណ៌​តាម​តម្រូវការ"
 
 msgid "Default"
 msgstr "លំនាំ​ដើម"
@@ -8737,282 +9251,292 @@ msgstr "បរិយាយ៖ {0}"
 
 msgid "{0} track"
 msgid_plural "{0} tracks"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ដាន {0}"
 
 msgid "Description"
-msgstr ""
+msgstr "សេចក្ដី​ពណ៌នា"
 
 msgid "Timespan"
-msgstr ""
+msgstr "ចំណែក​ពេល"
 
 msgid "Length"
-msgstr ""
+msgstr "ប្រវែង"
 
 msgid "Length: {0}"
-msgstr ""
+msgstr "ប្រវែង៖ {0}"
 
 msgid "{0} route, "
 msgid_plural "{0} routes, "
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} ផ្លូវ, "
 
 msgid "{0} waypoint"
 msgid_plural "{0} waypoints"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} waypoint"
 
 msgid "{0} track, "
 msgid_plural "{0} tracks, "
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} ដាន, "
 
 msgid "Save GPX file"
-msgstr ""
+msgstr "រក្សាទុក​ឯកសារ GPX"
 
 msgid "Imagery fade"
-msgstr ""
+msgstr "រូបភាព​ថយ​ពណ៌"
 
 msgid "ERROR"
-msgstr ""
+msgstr "កំហុស"
 
 msgid "Next marker"
-msgstr ""
+msgstr "អ្នក​ធ្វើ​បន្ទាប់"
 
 msgid "Jump to next marker"
-msgstr ""
+msgstr "ទៅកាន់​អ្នក​ធ្វើ​បន្ទាប់"
 
 msgid "Previous marker"
-msgstr ""
+msgstr "អ្នក​ធ្វើ​ពីមុន"
 
 msgid "Jump to previous marker"
-msgstr ""
+msgstr "ទៅកាន់​អ្នក​ធ្វើ​ពីមុន"
 
 msgid "All projections are supported"
-msgstr ""
+msgstr "បាន​គាំទ្រ​ចំណោល​ទាំងអស់"
 
 msgid ""
 "The layer {0} does not support the new projection {1}.\n"
 "{2}\n"
 "Change the projection again or remove the layer."
 msgstr ""
+"ស្រទាប់ {0} មិន​គាំទ្រ​ចំណោល {1} ។\n"
+"{2}\n"
+"ប្ដូរ​ចំណោល​ម្ដងទៀត ឬ​លុប​ស្រទាប់​ចេញ។"
 
 msgid "Save Layer"
-msgstr ""
+msgstr "រក្សាទុក​ស្រទាប់"
+
+msgid "Note"
+msgstr "ចំណាំ"
 
 msgid "Notes layer"
-msgstr ""
+msgstr "ចំណាំ​ស្រទាប់"
 
 msgid "Total notes:"
-msgstr ""
+msgstr "ចំណាំ​សរុប៖"
 
 msgid "Changes need uploading?"
-msgstr ""
+msgstr "ការ​ផ្លាស់ប្ដូរ​ដែល​ត្រូវ​ផ្ទុក​ឡើង?"
 
 msgid "Data Layer {0}"
-msgstr ""
+msgstr "ស្រទាប់​ទិន្នន័យ {0}"
 
 msgid "outside downloaded area"
-msgstr ""
+msgstr "នៅ​ក្រៅ​តំបន់​ទាញ​យក"
 
 msgid "Merging layers"
-msgstr ""
+msgstr "បញ្ចូល​ស្រទាប់​ចូលគ្នា"
 
 msgid "{0} deleted"
 msgid_plural "{0} deleted"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "បាន​លុប {0}"
 
 msgid "{0} consists of:"
-msgstr ""
+msgstr "{0} មាន៖"
 
 msgid "unset"
-msgstr ""
+msgstr "មិន​កំណត់"
 
 msgid "API version: {0}"
-msgstr ""
+msgstr "កំណែ API ៖ {0}"
 
 msgid "Upload is discouraged"
-msgstr ""
+msgstr "មិន​គួរ​ផ្ទុក​ឡើង"
 
 msgid "Convert to GPX layer"
-msgstr ""
+msgstr "បម្លែង​ទៅ​ស្រទាប់ GPX"
 
 msgid "Converted from: {0}"
-msgstr ""
+msgstr "បាន​បម្លែង​ពី៖ {0}"
 
 msgid "Dataset consistency test"
-msgstr ""
+msgstr "ការ​សាកល្បង​សំណុំ​ទិន្នន័យ​មិន​ផ្លាស់ប្ដូរ"
 
 msgid "No problems found"
-msgstr ""
+msgstr "រក​មិន​ឃើញ​បញ្ហា"
 
 msgid "Following problems found:"
-msgstr ""
+msgstr "បាន​រក​ឃើញ​បញ្ហា​ដូច​ខាងក្រោម៖"
 
 msgid "Empty document"
-msgstr ""
+msgstr "ឯកសារ​ទទេ"
 
 msgid "Save anyway"
-msgstr ""
+msgstr "យ៉ាងណា​ក៏​រក្សាទុក"
 
 msgid "The document contains no data."
-msgstr ""
+msgstr "ឯកសារ​មិន​មាន​ទិន្នន័យ។"
 
 msgid "Conflicts"
 msgstr "ជំលោះ"
 
 msgid "Reject Conflicts and Save"
-msgstr ""
+msgstr "បដិសេធ​ការ​ប៉ះទង្គិច រួច​រក្សាទុក"
 
 msgid ""
 "There are unresolved conflicts. Conflicts will not be saved and handled as "
 "if you rejected all. Continue?"
 msgstr ""
+"មាន​ការ​ប៉ះទង្គិច​ដែល​មិន​បាន​ដោះស្រាយ។ "
+"ការ​ប៉ះទង្គិច​និង​មិន​ត្រូវ​បាន​រក្សាទុក និង​ដោះស្រាយ​ឡើយ "
+"បើ​អ្នក​បដិសេធ​ទាំងអស់។ បន្ត?"
 
 msgid "Save OSM file"
-msgstr ""
+msgstr "រក្សាទុក​ឯកសារ OSM"
 
 msgid ""
 "{0} is not a valid TMS argument. Please check this server URL:\n"
 "{1}"
 msgstr ""
+"{0} មិនមែន​ជា​អាគុយម៉ង់ TMS ត្រឹមត្រូវ។ សូម​ពិនិត្យ URL ម៉ាស៊ីន​មេ៖\n"
+"{1}"
 
 msgid ""
 "TMS layers do not support the projection {0}.\n"
 "{1}\n"
 "Change the projection or remove the layer."
 msgstr ""
+"ស្រទាប់ TMS មិន​គាំទ្រ​ចំណោល {0} ។\n"
+"{1}\n"
+"ប្ដូរ​ចំណោល ឬ​លុប​ស្រទាប់​ចេញ។"
 
 msgid "Auto Zoom"
-msgstr ""
+msgstr "ពង្រីក​បង្រួម​ស្វ័យប្រវត្តិ"
 
 msgid "Auto load tiles"
-msgstr ""
+msgstr "ផ្ទុក​ក្រឡា​ស្វ័យប្រវត្តិ"
 
 msgid "Show Errors"
-msgstr ""
+msgstr "បង្ហាញ​កំហុស"
 
 msgid "Load Tile"
-msgstr ""
+msgstr "ផ្ទុក​ក្រឡា"
 
 msgid "Show Tile Info"
-msgstr ""
+msgstr "បង្ហាញ​ព័ត៌មាន​ក្រឡា"
 
 msgid "Load All Tiles"
-msgstr ""
+msgstr "ផ្ទុក​ក្រឡា​ទាំងអស់"
 
 msgid "Load All Error Tiles"
-msgstr ""
+msgstr "ផ្ទុក​ក្រឡា​មាន​កំហុស​ទាំងអស់"
 
 msgid "Increase zoom"
-msgstr ""
+msgstr "បង្កើន​ការ​ពង្រីក"
 
 msgid "Decrease zoom"
-msgstr ""
+msgstr "បន្ថយ​ការ​ពង្រីក"
 
 msgid "Snap to tile size"
-msgstr ""
+msgstr "ខ្ទាស់​ទៅ​ទំហំ​ក្រឡា"
 
 msgid "Flush Tile Cache"
-msgstr ""
+msgstr "ឃ្លាំង​ក្រឡា​រាបស្មើ"
 
 msgid "zoom in to load any tiles"
-msgstr ""
+msgstr "ពង្រីក​ដើម្បី​ផ្ទុក​ក្រឡា"
 
 msgid "zoom in to load more tiles"
-msgstr ""
+msgstr "ពង្រីក​ដើម្បី​ផ្ទុក​ក្រឡា​ច្រើន​ទៀត"
 
 msgid "increase zoom level to see more detail"
-msgstr ""
+msgstr "បង្កើន​កម្រិត​ពង្រីក​ដើម្បី​មើល​ព័ត៌មាន​លម្អិត​បន្ថែម"
 
 msgid "No tiles at this zoom level"
-msgstr ""
+msgstr "មិន​មាន​ក្រឡា​នៅ​កម្រិត​ពង្រីក​នេះ​ទេ"
 
 msgid "Current zoom: {0}"
-msgstr ""
+msgstr "ការ​ពង្រីក​បច្ចុប្បន្ន៖ {0}"
 
 msgid "Display zoom: {0}"
-msgstr ""
+msgstr "ការ​ពង្រីក​បង្ហាញ៖ {0}"
 
 msgid "Pixel scale: {0}"
-msgstr ""
+msgstr "មាត្រដ្ឋាន​ភីកសែល៖ {0}"
 
 msgid "Best zoom: {0}"
-msgstr ""
+msgstr "ការ​ពង្រីក​ល្អ​បំផុត៖ {0}"
 
 msgid "TMS layer ({0}), downloading in zoom {1}"
-msgstr ""
+msgstr "TMS ស្រទាប់ ({0}), ទាញ​យក​ការ​ពង្រីក {1}"
 
 msgid "EPSG:4326 and Mercator projection are supported"
-msgstr ""
+msgstr "បាន​គាំទ្រ​ចំណោល EPSG:4326 និង Mercator"
 
 msgid "Validation errors"
-msgstr ""
+msgstr "កំហុស​សុពលកម្ម"
 
 msgid "No validation errors"
-msgstr ""
+msgstr "មិន​មាន​កំហុស​សុពលកម្ម"
 
 msgid "Blank Layer"
-msgstr ""
+msgstr "ស្រទាប់​ទទេ"
 
 msgid "Downloaded {0}/{1} tiles"
-msgstr ""
+msgstr "បាន​ទាញ​យក {0}/{1} ក្រឡា"
 
 msgid "WMS layer ({0}), automatically downloading in zoom {1}"
-msgstr ""
+msgstr "ស្រទាប់ WMS ({0}), ការ​ទាញ​យក​ស្វ័យប្រវត្តិ​នៅ​ក្នុង​ការ​ពង្រីក {1}"
 
 msgid "WMS layer ({0}), downloading in zoom {1}"
-msgstr ""
+msgstr "ស្រទាប់ WMS ({0}), ទាញ​យក​នៅ​ក្នុង​ការ​ពង្រីក {1}"
 
 msgid "Download visible tiles"
-msgstr ""
+msgstr "ទាញ​យក​ក្រឡា​មើល​ឃើញ"
 
 msgid ""
 "The requested area is too big. Please zoom in a little, or change resolution"
 msgstr ""
+"តំបន់​ស្នើ​សុំ​គឺ​ធំ​ពេក។ សូម​ពង្រីក​នៅ​ក្នុង​ចំណងជើង ឬ​ប្ដូរ​គុណភាព​បង្ហាញ"
 
 msgid "Change resolution"
-msgstr ""
+msgstr "ប្ដូរ​គុណភាព​បង្ហាញ"
 
 msgid "Reload erroneous tiles"
-msgstr ""
+msgstr "ផ្ទុក​ក្រឡា​ដែល​ច្រឡំ​ឡើងវិញ"
 
 msgid "Alpha channel"
-msgstr ""
+msgstr "ឆានែល​អាល់ហ្វា"
 
 msgid "Automatically change resolution"
-msgstr ""
+msgstr "ប្ដូរ​គុណភាព​បង្ហាញ​ដោយ​ស្វ័យប្រវត្តិ"
 
 msgid "Set WMS Bookmark"
-msgstr ""
+msgstr "កំណត់​ចំណាំ WMS"
 
 msgid "Automatic downloading"
-msgstr ""
+msgstr "ទាញ​យក​ស្វ័យប្រវត្តិ"
 
 msgid "Zoom to native resolution"
-msgstr ""
+msgstr "ពង្រីក​ទៅ​គុណភាព​បង្ហាញ​ដើម"
 
 msgid "Supported projections are: {0}"
-msgstr ""
+msgstr "ចំណោល​ដែល​គាំទ្រ​គឺ៖ {0}"
 
 msgid "Unsupported WMS file version; found {0}, expected {1}"
-msgstr ""
+msgstr "មិន​គាំទ្រ​កំណែ​ឯកសារ WMS; បាន​រកឃើញ {0}, រំពឹង​ទុក {1}"
 
 msgid "Save WMS file"
-msgstr ""
+msgstr "រក្សាទុក​ឯកសារ WMS"
 
 msgid "Correlate to GPX"
-msgstr ""
+msgstr "ទាក់ទង​នឹង GPX"
 
 msgid "GPX Files (*.gpx *.gpx.gz)"
-msgstr ""
+msgstr "ឯកសារ GPX (*.gpx *.gpx.gz)"
 
 msgid "File {0} is loaded yet under the name \"{1}\""
-msgstr ""
+msgstr "ឯកសារ {0} ត្រូវ​បាន​ផ្ទុក​នៅ​ក្រោម​ឈ្មោះ \"{1}\""
 
 msgid "Error while parsing {0}"
-msgstr ""
+msgstr "មាន​កំហុស​ពេល​ញែក {0}"
 
 msgid "Could not read \"{0}\""
 msgstr "មិនអាចអាន \"{0}\""
@@ -9022,462 +9546,506 @@ msgid ""
 "time.<br>Display that photo here.<br>And then, simply capture the time you "
 "read on the photo and select a timezone<hr></html>"
 msgstr ""
+"<html>ថតរូប​ឧបករណ៍​ទទួល​ជីភីអេស​របស់​អ្នក "
+"ពេល​វា​បង្ហាញ​ពេលវេលា។<br>បង្ហាញ​រូបថត​នៅ​ទីនេះ។<br>បន្ទាប់មក​ចាប់​យក​ពេលវេលា"
+"​ដែល​អ្នក​បាន​អាន​នៅ​លើ​រូបថត រួច​ជ្រើស​តំបន់​ពេលវេលា<hr></html>"
 
 msgid "Photo time (from exif):"
-msgstr ""
+msgstr "ពេលវេលា​រូបថត (ពី exif)៖"
 
 msgid "Gps time (read from the above photo): "
-msgstr ""
+msgstr "ពេលវេលា​ជីភីអេស (អាន​ពី​រូបថត​ខាងលើ)៖ "
 
 msgid "I am in the timezone of: "
-msgstr ""
+msgstr "ខ្ញុំ​នៅ​ក្នុង​តំបន់​ពេលវេលា​នៃ៖ "
 
 msgid "No date"
-msgstr ""
+msgstr "គ្មាន​កាលបរិច្ឆេទ"
 
 msgid "Open another photo"
-msgstr ""
+msgstr "បើក​រូបថត​ផ្សេងទៀត"
 
 msgid "Synchronize time from a photo of the GPS receiver"
-msgstr ""
+msgstr "ធ្វើ​សមកាលកម្ម​ពេលវេលា​ពី​រូបថត​ឧបករណ៍​ទទួល​ជីភីអេស"
 
 msgid ""
 "Error while parsing the date.\n"
 "Please use the requested format"
 msgstr ""
+"កំហុស​ពេល​ញែក​កាលបរិច្ឆេទ។\n"
+"សូម​ប្រើ​ទ្រង់ទ្រាយ​ដែល​បាន​ស្នើ"
 
 msgid "Invalid date"
-msgstr ""
+msgstr "កាលបរិច្ឆេទ​មិន​ត្រឹម​ត្រូវ"
 
 msgid "<No GPX track loaded yet>"
-msgstr ""
+msgstr "<មិន​មាន​ដាន GPX ត្រូវ​បាន​ផ្ទុក>"
 
 msgid "GPX track: "
-msgstr ""
+msgstr "ដាន GPX ៖ "
 
 msgid "Open another GPX trace"
-msgstr ""
+msgstr "បើក​ដាន GPX ផ្សេងទៀត"
 
 msgid ""
 "<html>Use photo of an accurate clock,<br>e.g. GPS receiver display</html>"
 msgstr ""
+"<html>ប្រើ​រូបថត​នៃ​នាឡិកា​សុក្រឹត<br>ឧ. "
+"ការ​បង្ហាញ​របស់​ឧបករណ៍​ជីភីអេស</html>"
 
 msgid "Auto-Guess"
-msgstr ""
+msgstr "ស្មាន​ស្វ័យប្រវត្តិ"
 
 msgid "Matches first photo with first gpx point"
-msgstr ""
+msgstr "ផ្គូផ្គង​រូបថត​ទីមួយ​ជាមួយ​ចំណុច gpx ទីមួយ"
 
 msgid "Manual adjust"
-msgstr ""
+msgstr "លៃ​តម្រូវ​ដោយ​ដៃ"
 
 msgid "Override position for: "
-msgstr ""
+msgstr "បដិសេធ​ទីតាំង​សម្រាប់៖ "
 
 msgid "Images with geo location in exif data ({0}/{1})"
-msgstr ""
+msgstr "រូបភាព​ដែល​មាន​ទីតាំង​ភូមិសាស្ត្រ​នៅ​ក្នុង​ទិន្នន័យ exif ({0}/{1})"
 
 msgid "Images that are already tagged ({0}/{1})"
-msgstr ""
+msgstr "រូបភាព​ដែល​មាន​ស្លាក​រួចហើយ ({0}/{1})"
 
 msgid "Show Thumbnail images on the map"
-msgstr ""
+msgstr "បង្ហាញ​រូបភាព​តូច​នៅ​លើ​ផែនទី"
 
 msgid "Timezone: "
-msgstr ""
+msgstr "តំបន់​ពេលវេលា៖ "
 
 msgid "Offset:"
-msgstr ""
+msgstr "​អុហ្វសិត៖"
 
 msgid "Correlate images with GPX track"
-msgstr ""
+msgstr "រូបភាព​ទាក់ទង​ជាមួយ​ដាន GPX"
 
 msgid "Correlate"
-msgstr ""
+msgstr "ទាក់ទង"
 
 msgid "Invalid timezone"
-msgstr ""
+msgstr "តំបន់​ពេលវេលា​មិន​ត្រឹមត្រូវ"
 
 msgid "Invalid offset"
-msgstr ""
+msgstr "អុហ្វសិត​មិន​ត្រឹមត្រូវ"
 
 msgid "Try Again"
-msgstr ""
+msgstr "ព្យាយាម​ម្តងទៀត"
 
 msgid "No images could be matched!"
-msgstr ""
+msgstr "មិន​មាន​រូបភាព​ដែល​អាច​ផ្គូផ្គង!"
 
 msgid "No gpx selected"
-msgstr ""
+msgstr "មិន​បាន​ជ្រើស gpx"
 
 msgid "<html>Matched <b>{0}</b> of <b>{1}</b> photo to GPX track.</html>"
 msgid_plural ""
 "<html>Matched <b>{0}</b> of <b>{1}</b> photos to GPX track.</html>"
 msgstr[0] ""
-msgstr[1] ""
+"<html>បាន​ផ្គូផ្គង​រូបថត <b>{0}</b> នៃ <b>{1}</b> ជាមួយ​ដាន GPX ។</html>"
 
 msgid "Timezone: {0}"
-msgstr ""
+msgstr "តំបន់​ពេលវេលា៖ {0}"
 
 msgid "Minutes: {0}"
-msgstr ""
+msgstr "នាទី៖ {0}"
 
 msgid "Seconds: {0}"
-msgstr ""
+msgstr "វិនាទី៖ {0}"
 
 msgid "(Time difference of {0} day)"
 msgid_plural "Time difference of {0} days"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "(ពេលវេលា​ខុសគ្នា​នៃ {0} ថ្ងៃ)"
 
 msgid ""
 "An error occurred while trying to match the photos to the GPX track. You can "
 "adjust the sliders to manually match the photos."
 msgstr ""
+"មាន​កំហុស​កើតឡើង​ពេល​ព្យាយាម​ផ្គូផ្គង​រូបថត​ជាមួយ​ដាន GPX ។ "
+"អ្នក​អាច​លៃ​តម្រូវ​គ្រាប់​រំកិល​ដើម្បី​ផ្គូផ្គង​រូបថត​ដោយ​ដៃ​បាន។"
 
 msgid "Matching photos to track failed"
-msgstr ""
+msgstr "ការ​ផ្គូផ្គង​រូបថត​ជាមួយ​ដាន​បាន​បរាជ័យ"
 
 msgid "Adjust timezone and offset"
-msgstr ""
+msgstr "លៃ​តម្រូវ​តំបន់​ពេលវេលា និង​អុហ្វសិត"
 
 msgid "The selected photos do not contain time information."
-msgstr ""
+msgstr "រូបថត​ដែល​បាន​ជ្រើស​មិន​មាន​ព័ត៌មាន​ពេលវេលា។"
 
 msgid "Photos do not contain time information"
-msgstr ""
+msgstr "រូបថត​មិន​មាន​ព័ត៌មាន​ពេលវេលា"
 
 msgid ""
 "The selected GPX track does not contain timestamps. Please select another "
 "one."
-msgstr ""
+msgstr "ដាន GPX ដែល​បាន​ជ្រើស​មិន​មាន​ត្រា​ពេលវេលា។ សូម​ជ្រើស​ដាន​ផ្សេង។"
 
 msgid "GPX Track has no time information"
-msgstr ""
+msgstr "ដាន GPX មិន​មាន​ព័ត៌មាន​ពេលវេលា"
 
 msgid "You should select a GPX track"
-msgstr ""
+msgstr "អ្នក​គួរតែ​ជ្រើស​ដាន GPX"
 
 msgid "No selected GPX track"
-msgstr ""
+msgstr "មិន​បាន​ជ្រើស​ដាន GPX"
 
 msgid ""
 "Error while parsing timezone.\n"
 "Expected format: {0}"
 msgstr ""
+"មាន​កំហុស​ពេល​ញែក​តំបន់​ពេលវេលា។\n"
+"ទ្រង់ទ្រាយ​រំពឹង​ទុក៖ {0}"
 
 msgid ""
 "Error while parsing offset.\n"
 "Expected format: {0}"
 msgstr ""
+"មាន​កំហុស​ពេល​ញែក​អុហ្វសិត។\n"
+"ទ្រង់ទ្រាយ​រំពឹង​ទុក៖ {0}"
 
 msgid "Extracting GPS locations from EXIF"
-msgstr ""
+msgstr "កំពុង​ស្រង់​ទីតាំង​ជីភីអេស​ពី EXIF"
 
 msgid "Starting directory scan"
-msgstr ""
+msgstr "ចាប់ផ្ដើម​វិភាគ​ថត"
 
 msgid "Read photos..."
-msgstr ""
+msgstr "អាន​រូបថត..."
 
 msgid "Reading {0}..."
-msgstr ""
+msgstr "កំពុង​អាន {0}..."
 
 msgid "Unable to get canonical path for directory {0}\n"
-msgstr ""
+msgstr "មិន​អាច​ទៅ​យក​ផ្លូវ​ដែល​បាន​កំណត់​សម្រាប់​ថត {0}\n"
 
 msgid "Scanning directory {0}"
-msgstr ""
+msgstr "ការ​វិភាគ​ថត {0}"
 
 msgid "Error while getting files from directory {0}\n"
-msgstr ""
+msgstr "មាន​កំហុស​ពេល​យក​ឯកសារ​ពី​ថត {0}\n"
 
 msgid "One of the selected files was null"
-msgstr ""
+msgstr "មាន​ឯកសារ​មួយ​ដែល​ជ្រើស​គឺ​ទទេ"
 
 msgid "Geotagged Images"
-msgstr ""
+msgstr "រូបភាព​ដែល​បាន​ដាក់​ស្លាក​ភូមិសាស្ត្រ"
 
 msgid "{0} image loaded."
 msgid_plural "{0} images loaded."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "បាន​ផ្ទុក​រូបភាព {0} ។"
 
 msgid "{0} was found to be GPS tagged."
 msgid_plural "{0} were found to be GPS tagged."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "បាន​រក​ឃើញ {0} ដើម្បី​ដាក់​ស្លាក​ជីភីអេស។"
 
 msgid "Delete image file from disk"
-msgstr ""
+msgstr "លុប​ឯកសារ​រូបភាព​ពី​ថាស"
 
 msgid ""
 "<html><h3>Delete the file {0} from disk?<p>The image file will be "
 "permanently lost!</h3></html>"
 msgstr ""
+"<html><h3>លុប​ឯកសារ {0} "
+"ពី​ថាស?<p>ឯកសារ​រូបភាព​នឹង​ត្រូវ​បាន​បាត់​ជា​រៀង​រហូត!</h3></html>"
 
 msgid "Image file could not be deleted."
-msgstr ""
+msgstr "មិន​អាច​លុប​ឯកសារ​រូបភាព។"
 
 msgid "No image"
-msgstr ""
+msgstr "មិន​មាន​រូបភាព"
 
 msgid "Loading {0}"
-msgstr ""
+msgstr "ការ​ផ្ទុក {0}"
 
 msgid "Error on file {0}"
-msgstr ""
+msgstr "កំហុស​នៅ​លើ​ឯកសារ {0}"
 
 msgid "Display geotagged images"
-msgstr ""
+msgstr "បង្ហាញ​រូបភាព​ដែល​បាន​ដាក់​ស្លាក​ភូមិសាស្ត្រ"
 
 msgid "Previous"
-msgstr ""
+msgstr "ពីមុន"
 
 msgid "Show previous Image"
-msgstr ""
+msgstr "បង្ហាញ​រូបភាព​ពីមុន"
 
 msgid "Geoimage: {0}"
-msgstr ""
+msgstr "រូបភាព​ភូមិសាស្ត្រ៖ {0}"
 
 msgid "Remove photo from layer"
-msgstr ""
+msgstr "លុប​រូបភាព​ពី​ស្រទាប់"
 
 msgid "Delete File from disk"
-msgstr ""
+msgstr "លុប​ឯកសារ​ពី​ថាស"
+
+msgid "Copy image path"
+msgstr "ចម្លង​ផ្លូវ​រូបភាព"
 
 msgid "Next"
-msgstr ""
+msgstr "បន្ទាប់"
 
 msgid "Show next Image"
-msgstr ""
+msgstr "បង្ហាញ​រូបភាព​បន្ទាប់"
 
 msgid "Show first Image"
-msgstr ""
+msgstr "បង្ហាញ​រូបភាព​ដំបូង"
 
 msgid "Show last Image"
-msgstr ""
+msgstr "បង្ហាញ​រូបភាព​ចុងក្រោយ"
 
 msgid "Center view"
-msgstr ""
+msgstr "ទិដ្ឋភាព​កណ្ដាល"
 
 msgid "Zoom best fit and 1:1"
-msgstr ""
+msgstr "ពង្រីក​សម​បំផុត និង 1:1"
 
 msgid "Move dialog to the side pane"
-msgstr ""
+msgstr "ផ្លាស់ទី​ប្រអប់​ទៅ​ផ្ទាំង​ចំហៀង"
 
 msgid ""
 "\n"
 "Altitude: {0} m"
 msgstr ""
+"\n"
+"រយៈកម្ពស់៖ {0} ម៉ែត្រ"
 
 msgid ""
 "\n"
 "{0} km/h"
 msgstr ""
+"\n"
+"{0} km/h"
 
 msgid ""
 "\n"
 "Direction {0}°"
 msgstr ""
+"\n"
+"ទិស {0}°"
 
 msgid ""
 "\n"
 "EXIF time: {0}"
 msgstr ""
+"\n"
+"ពេលវេលា EXIF ៖ {0}"
 
 msgid ""
 "\n"
 "GPS time: {0}"
 msgstr ""
+"\n"
+"ពេលវេលា​ជីភីអេស៖ {0}"
 
 msgid "JPEG images (*.jpg)"
-msgstr ""
+msgstr "រូបភាព JPEG (*.jpg)"
 
 msgid "Choose visible tracks"
-msgstr ""
+msgstr "ជ្រើស​ដាន​ដែល​មើលឃើញ"
 
 msgid "Select by date"
-msgstr ""
+msgstr "ជ្រើស​តាម​កាលបរិច្ឆេទ"
 
 msgid ""
 "<html>Select all tracks that you want to be displayed. You can drag select a "
 "range of tracks or use CTRL+Click to select specific ones. The map is "
 "updated live in the background. Open the URLs by double clicking them.</html>"
 msgstr ""
+"<html>ជ្រើស​ដាន​ទាំងអស់​ដែល​អ្នក​ចង់​បង្ហាញ។ អ្នក​អាច​ជ្រើស​ជួរ​នៃ​ដាន "
+"ឬ​ប្រើ CTRL+Click ដើម្បី​ជ្រើស​ដាន​ជាក់លាក់។ "
+"ផែនទី​ត្រូវ​បាន​ធ្វើ​បច្ចុប្បន្នភាព​នៅ​ផ្ទៃ​ខាងក្រោយ។ បើក URLs "
+"ដោយ​ចុច​ទ្វេដង​លើ​វា។</html>"
 
 msgid "Set track visibility for {0}"
-msgstr ""
+msgstr "កំណត់​ដាន​ឲ្យ​មើលឃើញ​សម្រាប់ {0}"
 
 msgid "Show all"
-msgstr ""
+msgstr "បង្ហាញ​ទាំងអស់"
 
 msgid "Show selected only"
-msgstr ""
+msgstr "បង្ហាញ​តែ​បាន​ជ្រើស​ប៉ុណ្ណោះ"
 
 msgid "Convert to data layer"
-msgstr ""
+msgstr "បម្លែង​ទៅ​ស្រទាប់​ទិន្នន័យ"
 
 msgid ""
 "<html>Upload of unprocessed GPS data as map data is considered "
 "harmful.<br>If you want to upload traces, look here:</html>"
 msgstr ""
+"<html>ផ្ទុក​ឡើង​នូវ​ទិន្នន័យ​ជីភីអេស​ដែល​មិន​ដំណើរការ "
+"ថា​ជា​ទិន្នន័យ​ផែនទី​ហាមឃាត់<br>បើ​អ្នក​ចង់​ផ្ទុក​ដាន​ឡើង "
+"សូម​មើល​ទីនេះ៖</html>"
 
 msgid "Customize track drawing"
-msgstr ""
+msgstr "ប្ដូរ​គំនូរ​ដាន​តាម​តម្រូវការ"
 
 msgid "From"
-msgstr ""
+msgstr "ពី"
 
 msgid "To"
-msgstr ""
+msgstr "ជួន​ចំពោះ"
 
 msgid "No timestamp"
-msgstr ""
+msgstr "មិន​មាន​ត្រា​ពេលវេលា"
 
 msgid "Select to download OSM data."
-msgstr ""
+msgstr "ជ្រើស​ដើម្បី​ទាញ​យក​ទិន្នន័យ OSM ។"
 
 msgid "Select to download GPS traces."
-msgstr ""
+msgstr "ជ្រើស​ដើម្បី​ទាញ​យក​ដាន​ជីភីអេស។"
 
 msgid "Download everything within:"
-msgstr ""
+msgstr "ទាញ​យក​អ្វី​គ្រប់​យ៉ាង​នៅ​ក្នុង៖"
 
 msgid "meters"
-msgstr ""
+msgstr "ម៉ែត្រ"
 
 msgid "Maximum area per request:"
-msgstr ""
+msgstr "ក្រឡាផ្ទៃ​អតិបរមា​ក្នុង​មួយ​សំណើ៖"
 
 msgid "sq km"
-msgstr ""
+msgstr "គីឡូម៉ែត្រ​ការ៉េ"
 
 msgid "Download near:"
-msgstr ""
+msgstr "ទាញ​យក​ក្បែរ៖"
 
 msgid "track only"
-msgstr ""
+msgstr "តែ​ដាន​ប៉ុណ្ណោះ"
 
 msgid "waypoints only"
-msgstr ""
+msgstr "តែ waypoints ប៉ុណ្ណោះ"
 
 msgid "track and waypoints"
-msgstr ""
+msgstr "ដាន និង waypoints"
 
 msgid "Click to download"
-msgstr ""
+msgstr "ចុច​ដើម្បី​ទាញ​យក"
 
 msgid "Click to cancel"
-msgstr ""
+msgstr "ចុច​ដើម្បី​បោះបង់"
 
 msgid "Download from OSM along this track"
-msgstr ""
+msgstr "ទាញ​យក​ពី OSM ជាមួយ​ដាន​នេះ"
 
 msgid "Calculating Download Area"
-msgstr ""
+msgstr "គណនា​ក្រឡាផ្ទៃ​ទាញ​យក"
 
 msgid "Precache imagery tiles along this track"
-msgstr ""
+msgstr "ទុក​ក្នុង​ឃ្លាំង​ជាមុន​នូវ​ក្រឡា​រូបភាព​ជាមួយ​ដាន​នេះ"
 
 msgid "Precaching WMS"
-msgstr ""
+msgstr "ទុក WMS ក្នុង​ឃ្លាំង​ជាមុន"
 
 msgid "Please select the imagery layer."
-msgstr ""
+msgstr "សូម​ជ្រើស​ស្រទាប់​រូបភាព។"
 
 msgid "Select imagery layer"
-msgstr ""
+msgstr "ជ្រើស​ស្រទាប់​រូបភាព"
 
 msgid "There are no imagery layers."
-msgstr ""
+msgstr "មិន​មាន​ស្រទាប់​រូបភាព។"
 
 msgid "No imagery layers"
-msgstr ""
+msgstr "មិន​មាន​ស្រទាប់​រូបភាព"
 
 msgid "Velocity, km/h"
-msgstr ""
+msgstr "ល្បឿន, km/h"
 
 msgid "HDOP, m"
-msgstr ""
+msgstr "HDOP, m"
 
 msgid "Time"
-msgstr ""
+msgstr "ពេលវេលា"
 
 msgid "Direction"
-msgstr ""
+msgstr "​ទិស"
 
 msgid "gps point"
-msgstr ""
+msgstr "ចំណុច​ជីភីអេស"
 
 msgid "Import Audio"
-msgstr ""
+msgstr "នាំចូល​សំឡេង"
 
 msgid ""
 "<html>The data in the GPX layer ''{0}'' has been downloaded from the "
 "server.<br>Because its way points do not include a timestamp we cannot "
 "correlate them with audio data.</html>"
 msgstr ""
+"<html>ទិន្នន័យ​នៅ​ក្នុង​ស្រទាប់ GPX ''{0}'' "
+"ត្រូវ​បាន​ទាញ​យក​ពី​ម៉ាស៊ីន​មេ។<br>ព្រោះ way points "
+"របស់​វា​មិន​រួមបញ្ចូល​ត្រា​ពេលវេលា "
+"ដែល​យើង​មិន​អាច​ទាក់ទង​ដោយ​ប្រើ​ទិន្នន័យ​សំឡេង​បាន។</html>"
 
 msgid "Import not possible"
-msgstr ""
+msgstr "មិន​អាច​នាំចូល​បាន"
 
 msgid "Wave Audio files (*.wav)"
-msgstr ""
+msgstr "ឯកសារ​សំឡេង Wave (*.wav)"
 
 msgid "Audio markers from {0}"
-msgstr ""
+msgstr "កម្មវិធី​បង្កើត​សំឡេង​ពី {0}"
 
 msgid "No GPX track available in layer to associate audio with."
-msgstr ""
+msgstr "មិន​មាន​ដាន GPX នៅ​ក្នុង​ស្រទាប់​ដើម្បី​ទាក់ទង​សំឡេង​ជាមួយ​ទេ។"
 
 msgid ""
 "Some waypoints with timestamps from before the start of the track or after "
 "the end were omitted or moved to the start."
 msgstr ""
+"waypoints មួយ​ចំនួន​ដែល​មាន​ត្រា​ពេលវេលា​មុន​ចំណុច​ចាប់ផ្ដើម​ដាន "
+"ឬ​បន្ទាប់ពី​ចំណុច​ចុង​នឹង​ត្រូវ​បាន​លុប ឬ​ផ្លាស់ទី​ទៅ​ចំណុច​ចាប់ផ្ដើម។"
 
 msgid ""
 "Some waypoints which were too far from the track to sensibly estimate their "
 "time were omitted."
 msgstr ""
+"waypoints "
+"មួយ​ចំនួន​គឺ​នៅ​ឆ្ងាយ​ពី​ដាន​ពេក​ដែល​ការ​វាយតម្លៃ​ពេលវេលា​របស់​វា​ត្រូវ​បាន​ល"
+"ុប។"
 
 msgid "Import images"
-msgstr ""
+msgstr "នាំចូល​រូបភាព"
 
 msgid ""
 "<html>The data in the GPX layer ''{0}'' has been downloaded from the "
 "server.<br>Because its way points do not include a timestamp we cannot "
 "correlate them with images.</html>"
 msgstr ""
+"<html>ទិន្នន័យ​នៅ​ក្នុង​ស្រទាប់ GPX ''{0}'' "
+"ត្រូវ​បាន​ទាញ​យក​ពី​ម៉ាស៊ីន​មេ។<br>ព្រោះ way points "
+"របស់​វា​មិន​រួមបញ្ចូល​ត្រា​ពេលវេលា "
+"ដែល​យើង​មិន​អាច​ទាក់ទង​ពួកវា​ដោយ​ប្រើ​រូបភាព</html>"
 
 msgid "Markers From Named Points"
-msgstr ""
+msgstr "កម្មវិធី​ចំណាំ​ពី​ចំណុច​ដែល​បាន​ដាក់ឈ្មោះ"
 
 msgid "Named Trackpoints from {0}"
-msgstr ""
+msgstr "ចំណុច​ដាន​ដែល​បាន​ដាក់ឈ្មោះ​ពី {0}"
 
 msgid "gps marker"
-msgstr ""
+msgstr "កម្មវិធី​ចំណាំ​ជីភីអេស"
 
 msgid "marker"
 msgid_plural "markers"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "កម្មវិធី​ចំណាំ"
 
 msgid "{0} consists of {1} marker"
 msgid_plural "{0} consists of {1} markers"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} មាន​កម្មវិធី​ចំណាំ {1}"
 
 msgid "No existing audio markers in this layer to offset from."
 msgstr ""
+"មិន​មាន​កម្មវិធី​ចំណាំ​អូឌីយ៉ូ​នៅ​ក្នុង​ស្រទាប់​នេះ​ដើម្បី​កំណត់​អុហ្វសិត​ពី។"
 
 msgid "Show Text/Icons"
-msgstr ""
+msgstr "បង្ហាញ​អត្ថបទ/រូបតំណាង"
 
 msgid "Toggle visible state of the marker text and icons."
-msgstr ""
+msgstr "បិទ/បើក​ភាព​មើលឃើញ​នៃ​អត្ថបទ និង​រូបតំណាង​កម្មវិធី​ចំណាំ។"
 
 msgid "Synchronize Audio"
 msgstr ""
@@ -12626,6 +13194,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12806,7 +13377,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12818,7 +13389,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13778,9 +14349,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -15016,6 +15584,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15838,6 +16410,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15895,6 +16470,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17339,6 +17926,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17944,6 +18534,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19814,9 +20410,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -20200,9 +20793,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -20215,7 +20805,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20887,6 +21477,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21021,6 +21618,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21266,6 +21866,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21623,6 +22226,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21641,6 +22247,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21677,6 +22289,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21715,6 +22330,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21736,9 +22354,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21773,6 +22399,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22967,6 +23596,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25984,7 +26619,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26645,6 +27282,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26684,6 +27324,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27174,7 +27820,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ko.po b/i18n/po/ko.po
index 96e90fb..2782c04 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-09-26 15:59+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: 2014-12-10 04:57+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:07+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ko\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3712,6 +3712,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3918,19 +3921,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4465,10 +4469,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4723,6 +4752,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "사용자 이름"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6063,6 +6107,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "오브젝트 형식:"
 
@@ -7045,9 +7095,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7837,9 +7884,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "사용자 이름"
-
 msgid "Password"
 msgstr "비밀 번호"
 
@@ -8516,6 +8560,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "layer 저장"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8962,6 +9009,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12342,6 +12392,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12522,7 +12575,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12534,7 +12587,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13494,9 +13547,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14732,6 +14782,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15554,6 +15608,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15611,6 +15668,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17055,6 +17124,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17660,6 +17732,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19530,9 +19608,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19916,9 +19991,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19931,7 +20003,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20603,6 +20675,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20737,6 +20816,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20982,6 +21064,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21339,6 +21424,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21357,6 +21445,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21393,6 +21487,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21431,6 +21528,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21452,9 +21552,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21489,6 +21597,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22683,6 +22794,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25700,7 +25817,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26361,6 +26480,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26400,6 +26522,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26890,7 +27018,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ky.po b/i18n/po/ky.po
index 06324fb..bbc2413 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2012-12-18 02:36+0000\n"
 "Last-Translator: chyngyz <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: 2014-12-10 04:57+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:06+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
 msgstr ""
@@ -3723,6 +3723,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3929,19 +3932,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4477,10 +4481,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4735,6 +4764,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6075,6 +6119,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7057,9 +7107,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7841,9 +7888,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8523,6 +8567,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8969,6 +9016,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12349,6 +12399,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12529,7 +12582,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12541,7 +12594,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13501,9 +13554,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14739,6 +14789,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15561,6 +15615,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15618,6 +15675,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17062,6 +17131,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17667,6 +17739,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19537,9 +19615,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19923,9 +19998,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19938,7 +20010,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20610,6 +20682,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20744,6 +20823,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20989,6 +21071,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21346,6 +21431,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21364,6 +21452,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21400,6 +21494,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21438,6 +21535,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21459,9 +21559,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21496,6 +21604,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22690,6 +22801,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25707,7 +25824,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26368,6 +26487,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26407,6 +26529,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26897,7 +27025,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/lo.po b/i18n/po/lo.po
index 2a21260..29634a4 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:58+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:08+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/lt.po b/i18n/po/lt.po
index 8793eab..64aa740 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-06-17 02:41+0000\n"
 "Last-Translator: Mantas Kriaučiūnas <mantas at akl.lt>\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: 2014-12-10 04:59+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:09+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: lt\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3762,6 +3762,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3968,19 +3971,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
-msgstr "<tuščias>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rolė {0} nežinoma"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Rast tuščia rolė"
+msgid "<empty>"
+msgstr "<tuščias>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4518,10 +4522,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/KELIAS/IKI/JOSM/APLANKO/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4776,6 +4805,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Vartotojo Vardas"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6116,6 +6160,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Rikiuoti"
+
 msgid "Object type:"
 msgstr "Objekto tipas:"
 
@@ -7100,9 +7150,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr "Rikiuoti"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7886,9 +7933,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Vartotojo Vardas"
-
 msgid "Password"
 msgstr "Slaptažodis"
 
@@ -8573,6 +8617,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Išsaugoti sluoksnį"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9022,6 +9069,9 @@ msgstr "Pašalinti nuotrauką iš sluoksnio"
 msgid "Delete File from disk"
 msgstr "Pašalinti failą iš disko"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Kitas"
 
@@ -12415,6 +12465,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Paruošti OSM duomenis..."
 
@@ -12595,7 +12648,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12607,7 +12660,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13567,9 +13620,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr "Netinkamas bz2 failas."
-
 msgid "ms"
 msgstr "ms"
 
@@ -14807,6 +14857,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Monetos"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15629,6 +15683,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -15686,6 +15743,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr "Greičio matuoklis"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17130,6 +17199,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr "Ugniavietė"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17735,6 +17807,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19605,9 +19683,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19991,9 +20066,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -20006,7 +20078,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20678,6 +20750,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20812,6 +20891,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21057,6 +21139,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21414,6 +21499,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21432,6 +21520,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21468,6 +21562,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21506,6 +21603,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21527,9 +21627,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21564,6 +21672,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22760,6 +22871,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Gatvės Pavadinimas:"
 
@@ -25777,7 +25894,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26438,6 +26557,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26477,6 +26599,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26967,7 +27095,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/lv.po b/i18n/po/lv.po
index ee7341f..d8bf06d 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:58+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:09+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: lv\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3735,6 +3735,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3941,19 +3944,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4488,10 +4492,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4746,6 +4775,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6086,6 +6130,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Objekta tips"
 
@@ -7068,9 +7118,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7852,9 +7899,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8534,6 +8578,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Saglabāt slāni"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8980,6 +9027,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12364,6 +12414,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12544,7 +12597,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12556,7 +12609,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13516,9 +13569,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14754,6 +14804,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15576,6 +15630,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15633,6 +15690,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17077,6 +17146,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17682,6 +17754,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19552,9 +19630,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19938,9 +20013,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19953,7 +20025,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20625,6 +20697,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20759,6 +20838,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21004,6 +21086,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21361,6 +21446,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21379,6 +21467,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21415,6 +21509,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21453,6 +21550,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21474,9 +21574,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21511,6 +21619,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22705,6 +22816,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25722,7 +25839,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26383,6 +26502,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26422,6 +26544,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26912,7 +27040,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/mk.po b/i18n/po/mk.po
index 2ee0ce1..bc8b656 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:59+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:10+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: mk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3727,6 +3727,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3933,19 +3936,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4481,10 +4485,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4739,6 +4768,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6079,6 +6123,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7061,9 +7111,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7845,9 +7892,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8527,6 +8571,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8973,6 +9020,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12354,6 +12404,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12534,7 +12587,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12546,7 +12599,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13506,9 +13559,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14744,6 +14794,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15566,6 +15620,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15623,6 +15680,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17067,6 +17136,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17672,6 +17744,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19542,9 +19620,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19928,9 +20003,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19943,7 +20015,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20615,6 +20687,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20749,6 +20828,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20994,6 +21076,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21351,6 +21436,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21369,6 +21457,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21405,6 +21499,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21443,6 +21540,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21464,9 +21564,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21501,6 +21609,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22695,6 +22806,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25712,7 +25829,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26373,6 +26492,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26412,6 +26534,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26902,7 +27030,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ms.po b/i18n/po/ms.po
index 235290d..1a6d220 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:00+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:11+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ms\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/nb.po b/i18n/po/nb.po
index b67ae43..06e1659 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-03-19 14:25+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: 2014-12-10 05:03+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:13+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: nb\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3761,6 +3761,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3969,19 +3972,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4522,10 +4526,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/STI/TIL/JOSM/MAPPE/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4780,6 +4809,21 @@ msgstr "Laget er ikke i lista."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Brukernavn"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6148,6 +6192,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Sorter"
+
 msgid "Object type:"
 msgstr "Objekttype:"
 
@@ -7130,9 +7180,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr "Sorter"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7935,9 +7982,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Brukernavn"
-
 msgid "Password"
 msgstr "Passord"
 
@@ -8617,6 +8661,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Lagre lag"
 
+msgid "Note"
+msgstr "Kommentar"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9075,6 +9122,9 @@ msgstr "Fjern foto fra lag"
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Neste"
 
@@ -12506,6 +12556,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Klargjør OSM-data …"
 
@@ -12687,7 +12740,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12699,7 +12752,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13665,9 +13718,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr "Ugyldig bzip2-fil"
-
 msgid "ms"
 msgstr ""
 
@@ -14925,6 +14975,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Mynter"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektronisk lommebok eller betalingskort"
 
@@ -15747,6 +15801,9 @@ msgstr "Kryssende sykkelvei"
 msgid "Cross on horseback"
 msgstr "Kryssende ridevei"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Full stopp"
 
@@ -15804,6 +15861,18 @@ msgstr "Annet navn"
 msgid "Speed Camera"
 msgstr "Fotoboks"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17248,6 +17317,9 @@ msgstr "Piknik-sted"
 msgid "Fireplace"
 msgstr "Bålplass"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17853,6 +17925,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sport"
 
@@ -19723,9 +19801,6 @@ msgstr "leker"
 msgid "vouchers"
 msgstr "kuponger"
 
-msgid "Note"
-msgstr "Kommentar"
-
 msgid "Geography"
 msgstr "Geografi"
 
@@ -20109,9 +20184,6 @@ msgstr ""
 msgid "House number"
 msgstr "Husnummer"
 
-msgid "House name"
-msgstr "Husnavn"
-
 msgid "Street name"
 msgstr "Gatenavn"
 
@@ -20124,8 +20196,8 @@ msgstr "By/sted"
 msgid "Country code"
 msgstr "Landskode"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Husnavn"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20796,6 +20868,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20930,6 +21009,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21175,6 +21257,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21532,6 +21617,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21550,6 +21638,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21586,6 +21680,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21624,6 +21721,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21645,9 +21745,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21682,6 +21790,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22878,6 +22989,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25930,7 +26047,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26591,6 +26710,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26630,6 +26752,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27124,7 +27252,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/nds.po b/i18n/po/nds.po
index 6f4c6c6..3ec777b 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:01+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:12+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3723,6 +3723,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3929,19 +3932,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4477,10 +4481,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4735,6 +4764,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6075,6 +6119,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7057,9 +7107,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7841,9 +7888,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8523,6 +8567,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8969,6 +9016,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12349,6 +12399,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12529,7 +12582,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12541,7 +12594,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13501,9 +13554,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14739,6 +14789,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15561,6 +15615,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15618,6 +15675,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17062,6 +17131,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17667,6 +17739,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19537,9 +19615,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19923,9 +19998,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19938,7 +20010,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20610,6 +20682,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20744,6 +20823,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20989,6 +21071,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21346,6 +21431,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21364,6 +21452,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21400,6 +21494,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21438,6 +21535,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21459,9 +21559,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21496,6 +21604,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22690,6 +22801,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25707,7 +25824,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26368,6 +26487,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26407,6 +26529,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26897,7 +27025,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/nl.po b/i18n/po/nl.po
index 504a840..f630c7d 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-06-10 11:21+0000\n"
 "Last-Translator: Jan Cnops <jan.cnops at scarlet.be>\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: 2014-12-10 04:43+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:46+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: nl\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4128,6 +4128,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4345,20 +4348,21 @@ msgstr "Relatietype is onbekend"
 msgid "Relation is empty"
 msgstr "Lege relatie"
 
-msgid "<empty>"
-msgstr "<leeg>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rol {0} onbekend"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Leden zonder rol gevonden"
+msgid "<empty>"
+msgstr "<leeg>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Lid voor rol ''{0}'' komt niet overeen ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Lid van relatie voor rol {0} is van het verkeerde type"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Rol {0} ontbreekt"
@@ -4909,11 +4913,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "opties ter beschikking gesteld als systeemeigenschappen"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PAD/NAAR/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Wijzig de map voor alle gebruikersinstellingen"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5182,6 +5211,21 @@ msgstr "Laag niet in lijst."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "De laag ''{0}'' moet in de lijst beschikbare lagen staan"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Gebruikersnaam"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Klik om de huidige bewerking te annuleren."
 
@@ -6668,6 +6712,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Sorteren"
+
 msgid "Object type:"
 msgstr "Objecttype:"
 
@@ -7774,9 +7824,6 @@ msgstr "Selecteer objecten voor de geselecteerde leden van de relatie"
 msgid "Sort the relation members"
 msgstr "De leden van de relatie sorteren"
 
-msgid "Sort"
-msgstr "Sorteren"
-
 msgid "Relation Editor: Sort"
 msgstr "Relatie bewerken: Sorteren"
 
@@ -8662,9 +8709,6 @@ msgstr "Voer persoonlijke gegevens in voor de host"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Voer persoonlijke gegevens in voor HTTP proxy"
 
-msgid "Username"
-msgstr "Gebruikersnaam"
-
 msgid "Password"
 msgstr "Wachtwoord"
 
@@ -9469,6 +9513,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Laag opslaan"
 
+msgid "Note"
+msgstr "Opmerking"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9942,6 +9989,9 @@ msgstr "Verwijder foto uit laag"
 msgid "Delete File from disk"
 msgstr "Wis bestand van de schijf"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Volgende"
 
@@ -13760,6 +13810,9 @@ msgstr "Ontbrekend vereist attribuut ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Ongeldige long-waarde voor attribuut ''{0}''. Kreeg ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Gegevens van OSM voorbereiden..."
 
@@ -13948,8 +14001,8 @@ msgstr "Lees protocolversie"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "Kan geen server voor afstandsbediening starten op poort {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Afstandsbediening::Accepteren van verbindingen op poort {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "Afstandsbediening::Server gestopt."
@@ -13960,7 +14013,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -15146,9 +15199,6 @@ msgstr ""
 "<html><p> Sorry, het is niet mogelijk om tags uit de buffer te plakken. Het "
 "bevat geen JOSM-object of geschikte tekst. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Ongeldig bz2-bestand."
-
 msgid "ms"
 msgstr "ms"
 
@@ -16533,6 +16583,10 @@ msgstr "tennis"
 msgid "Coins"
 msgstr "Munten"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Chipknip"
 
@@ -17368,6 +17422,9 @@ msgstr "Op de fiets oversteken"
 msgid "Cross on horseback"
 msgstr "Als ruiter oversteken"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17425,6 +17482,18 @@ msgstr "Tweede naam"
 msgid "Speed Camera"
 msgstr "Snelheidscamera"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -18870,6 +18939,9 @@ msgstr "Picknickplaats"
 msgid "Fireplace"
 msgstr "Vuurplaats"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Openbare barbecue"
 
@@ -19475,6 +19547,12 @@ msgstr "afzuiging"
 msgid "Count"
 msgstr "Aantal"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sporten"
 
@@ -21347,9 +21425,6 @@ msgstr "speelgoed"
 msgid "vouchers"
 msgstr "tegoedbonnen"
 
-msgid "Note"
-msgstr "Opmerking"
-
 msgid "Geography"
 msgstr "Geografie"
 
@@ -21733,9 +21808,6 @@ msgstr "Afkorting algemene naam"
 msgid "House number"
 msgstr "Huisnummer"
 
-msgid "House name"
-msgstr "Huisnaam"
-
 msgid "Street name"
 msgstr "Straatnaam"
 
@@ -21748,8 +21820,8 @@ msgstr "Naam stad"
 msgid "Country code"
 msgstr "Landcode"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Huisnaam"
 
 msgid "Subdistrict"
 msgstr ""
@@ -22420,6 +22492,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -22554,6 +22633,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -22799,6 +22881,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -23156,6 +23241,9 @@ msgstr "{0} zonder {1} of {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} op verdacht object"
 
@@ -23174,6 +23262,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} is vervallen"
 
@@ -23210,6 +23304,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23248,6 +23345,9 @@ msgstr "Overlappende identieke natuurlijke gebieden"
 msgid "Overlapping Identical Landuses"
 msgstr "Overlappende identieke Landuses"
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "afgekorte straatnaam"
 
@@ -23269,9 +23369,17 @@ msgstr "type tijdelijke verkeersweg"
 msgid "street name contains ss"
 msgstr "straatnaam bevat ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "numerieke toets"
 
@@ -23311,6 +23419,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr "{0} moet een numerieke waarde zijn"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relatie zonder type"
 
@@ -24648,6 +24759,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Straatnaam:"
 
@@ -27922,8 +28039,10 @@ msgstr "Foto''s aanpassen"
 msgid "Move and position photos"
 msgstr "Foto''s verplaatsen en positioneren"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "Klik+sleep foto of shift+klik om foto te positioneren."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr "Laad enkele foto''s."
@@ -28600,6 +28719,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstrueer polygonen van relatie {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Open de wiki-pagina voor relatie"
 
@@ -28639,6 +28761,12 @@ msgstr "Node zonder de rollen ''label'' of ''admin_centre'' gevonden"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Weg zonder de rollen ''inner'' of ''outer'' gevonden"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Draai de wijzigingenset volledig terug"
 
@@ -29173,8 +29301,8 @@ msgstr "voeg toe aan de bestaande relatie associatedStreet"
 msgid "create an associatedStreet relation"
 msgstr "maak een relatie associatedStreet"
 
-msgid "delete outline way"
-msgstr "verwijder contour weg"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Straatnaam: "
diff --git a/i18n/po/nn.po b/i18n/po/nn.po
index 46380ac..3a2238f 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:02+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:13+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: nn\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/oc.po b/i18n/po/oc.po
index 8671343..4d4c3f8 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:04+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:14+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3731,6 +3731,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3937,19 +3940,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4485,10 +4489,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4743,6 +4772,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nom d'utilizaire"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6083,6 +6127,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Triar"
+
 msgid "Object type:"
 msgstr "Tipe d’objècte :"
 
@@ -7065,9 +7115,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr "Triar"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7849,9 +7896,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Nom d'utilizaire"
-
 msgid "Password"
 msgstr "Senhal"
 
@@ -8531,6 +8575,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Salvar lo calc"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8977,6 +9024,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Seguent"
 
@@ -12361,6 +12411,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12541,7 +12594,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12553,7 +12606,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13513,9 +13566,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14751,6 +14801,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15573,6 +15627,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15630,6 +15687,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17074,6 +17143,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17679,6 +17751,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19549,9 +19627,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19935,9 +20010,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19950,7 +20022,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20622,6 +20694,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20756,6 +20835,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21001,6 +21083,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21358,6 +21443,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21376,6 +21464,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21412,6 +21506,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21450,6 +21547,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21471,9 +21571,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21508,6 +21616,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22702,6 +22813,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25719,7 +25836,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26380,6 +26499,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26419,6 +26541,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26909,7 +27037,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/pa.po b/i18n/po/pa.po
index 8aca5c4..eb2eb63 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:04+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:15+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: pa\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/pl.po b/i18n/po/pl.po
index 65bb0db..e97de5d 100644
--- a/i18n/po/pl.po
+++ b/i18n/po/pl.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-11-16 06:21+0000\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-25 22:52+0000\n"
 "Last-Translator: Daniel Koć <daniel at xn--ko-wla.pl>\n"
 "Language-Team: Polish <josm-lang-pl at googlegroups.com>\n"
 "MIME-Version: 1.0\n"
@@ -16,8 +16,8 @@ msgstr ""
 "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: 2014-12-10 05:06+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:16+0000\n"
+"X-Generator: Launchpad (build 17286)\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"
@@ -4084,6 +4084,9 @@ msgstr "Tagi internetowe"
 msgid "Checks for errors in internet-related tags."
 msgstr "Sprawdza błędy w tagach związanych z Internetem"
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4224,7 +4227,7 @@ msgid "Unexpected token in weekday range:"
 msgstr "Nieoczekiwany token w zakresie dni tygodnia:"
 
 msgid "Unexpected token in month range:"
-msgstr ""
+msgstr "Nieoczekiwany token w zakresie miesięcy:"
 
 msgid "Unexpected token in year range:"
 msgstr "Nieoczekiwany token w zakresie lat:"
@@ -4272,7 +4275,7 @@ msgstr ""
 "Sprawdzanie czy węzły na liniach energetycznych mają tagi power=tower/pole."
 
 msgid "Missing power tower/pole within power line"
-msgstr "Brakuje tagów power=tower/pole na linii energetycznej."
+msgstr "Brakuje tagów power=tower/pole na linii energetycznej"
 
 msgid "Role verification problem"
 msgstr "Problem z weryfikacją roli"
@@ -4293,20 +4296,21 @@ msgstr "Nieustalony rodzaj relacji"
 msgid "Relation is empty"
 msgstr "Pusta relacja"
 
-msgid "<empty>"
-msgstr "<pusta>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Nieznana rola {0}"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Pusta rola"
+msgid "<empty>"
+msgstr "<pusta>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Członek dla roli ''{0}'' nie pasuje ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Zły typ członka o roli {0}"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Brakująca rola {0}"
@@ -4854,11 +4858,36 @@ msgstr "Wyłącz dostęp do danego zasobu (ów), oddzielone przecinkiem"
 msgid "options provided as Java system properties"
 msgstr "opcja dostarczano jako ustawienia systemowe Javy"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/SCIEŻKA/DO/KATALOGU/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Zmienia katalog ustawień wszystkich użytkowników."
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5132,6 +5161,21 @@ msgstr "warstwa nie jest na liście."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Warstwa ''{0}'' musi być na liście warstw"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nazwa użytkownika"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Kliknij aby przerwać trwającą operację"
 
@@ -6562,6 +6606,12 @@ msgstr "Otwórz ponownie"
 msgid "Reopen note with message:"
 msgstr "Otwórz ponownie uwagę z komunikatem:"
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Sortuj"
+
 msgid "Object type:"
 msgstr "Typ obiektu:"
 
@@ -7628,9 +7678,6 @@ msgstr "Zaznacz obiekty dla zaznaczonych członków relacji"
 msgid "Sort the relation members"
 msgstr "Sortuj elementy relacji"
 
-msgid "Sort"
-msgstr "Sortuj"
-
 msgid "Relation Editor: Sort"
 msgstr "Edytor relacji: Sortowanie"
 
@@ -8477,9 +8524,6 @@ msgstr "Wprowadź referencje dla hosta"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Wprowadź referencje dla proxy HTTP"
 
-msgid "Username"
-msgstr "Nazwa użytkownika"
-
 msgid "Password"
 msgstr "Hasło"
 
@@ -9276,6 +9320,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Zapisz warstwę"
 
+msgid "Note"
+msgstr "Uwagi"
+
 msgid "Notes layer"
 msgstr "Warstwa uwag"
 
@@ -9751,6 +9798,9 @@ msgstr "Usuń zdjęcie z warstwy"
 msgid "Delete File from disk"
 msgstr "Usuń plik z dysku"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Następny"
 
@@ -13360,6 +13410,9 @@ msgstr "Brakuje wymaganego atrybutu ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Przygotowywanie danych OSM..."
 
@@ -13548,7 +13601,7 @@ msgstr "Odczytaj wersję protokołu"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -13560,7 +13613,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -14603,9 +14656,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr "Nieprawidłowy plik bz2."
-
 msgid "ms"
 msgstr ""
 
@@ -15551,10 +15601,10 @@ msgid "Voltage in Volts (V)"
 msgstr "Napięcie w Voltach (V)"
 
 msgid "Frequency in Hertz (Hz)"
-msgstr "Częstotliwość w Hertzach (Hz)"
+msgstr "Częstotliwość w Hercach (Hz)"
 
 msgid "16.67"
-msgstr ""
+msgstr "16.67"
 
 msgid "16.7"
 msgstr "16.7"
@@ -15860,6 +15910,10 @@ msgstr "tenis"
 msgid "Coins"
 msgstr "na monety"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "na karty chipowe"
 
@@ -16087,42 +16141,42 @@ msgid "110000;20000"
 msgstr "110000;20000"
 
 msgid "Branch operator"
-msgstr ""
+msgstr "Drugorzędny operator"
 
 msgid "Amount of Cables"
 msgstr "Liczba kabli"
 
 msgid "Amount of circuits"
-msgstr ""
+msgstr "Liczba obwodów"
 
 msgid "Location"
 msgstr "Położenie"
 
 msgctxt "power"
 msgid "outdoor"
-msgstr ""
+msgstr "na zewnątrz"
 
 msgctxt "power"
 msgid "indoor"
-msgstr ""
+msgstr "wewnątrz"
 
 msgctxt "power"
 msgid "underground"
-msgstr ""
+msgstr "pod ziemią"
 
 msgctxt "power"
 msgid "platform"
-msgstr ""
+msgstr "platforma (morska)"
 
 msgctxt "power"
 msgid "kiosk"
-msgstr ""
+msgstr "kiosk"
 
 msgid "Start date"
 msgstr "Data uruchomienia"
 
 msgid "Output forms of energy:"
-msgstr ""
+msgstr "Produkowany typ energii:"
 
 msgid "biogas"
 msgstr "biogaz"
@@ -16682,6 +16736,9 @@ msgstr "Przejazd na rowerze"
 msgid "Cross on horseback"
 msgstr "Przejazd na koniu"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Znak stop"
 
@@ -16739,6 +16796,18 @@ msgstr "Druga nazwa"
 msgid "Speed Camera"
 msgstr "Fotoradar"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Winda"
 
@@ -18183,6 +18252,9 @@ msgstr "Miejsce na piknik"
 msgid "Fireplace"
 msgstr "Miejsce na ognisko"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Publiczny gril"
 
@@ -18788,6 +18860,12 @@ msgstr "ssanie"
 msgid "Count"
 msgstr "Liczba"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Sport"
 
@@ -19613,13 +19691,13 @@ msgid "pivot_pier"
 msgstr ""
 
 msgid "Bridge outline"
-msgstr ""
+msgstr "Obrys mostu"
 
 msgid "Power Plant"
 msgstr "Elektrownia"
 
 msgid "Output forms of energy (optional):"
-msgstr ""
+msgstr "Wychodzące typy energii (opcjonalne):"
 
 msgid "Power Generator"
 msgstr "Generator elektryczny"
@@ -19628,7 +19706,7 @@ msgid "Biofuel Power Generator"
 msgstr ""
 
 msgid "Generator Type"
-msgstr ""
+msgstr "Typ generatora"
 
 msgid "gas_turbine"
 msgstr ""
@@ -19866,22 +19944,22 @@ msgid "Wind Turbine"
 msgstr ""
 
 msgid "Power Substation"
-msgstr "Podstacja elektryczna"
+msgstr "Podstacja energetyczna"
 
 msgid "Type of substation"
-msgstr ""
+msgstr "Typ podstacji"
 
 msgctxt "power"
 msgid "transmission"
-msgstr ""
+msgstr "Transmisja"
 
 msgctxt "power"
 msgid "distribution"
-msgstr ""
+msgstr "Dystrybucja"
 
 msgctxt "power"
 msgid "minor_distribution"
-msgstr ""
+msgstr "Dystrybucja do odbiorców"
 
 msgctxt "power"
 msgid "converter"
@@ -19897,57 +19975,57 @@ msgstr ""
 
 msgctxt "power"
 msgid "traction"
-msgstr ""
+msgstr "Trakcyjna"
 
 msgctxt "power"
 msgid "industrial"
-msgstr ""
+msgstr "Przemysłowa"
 
 msgid "Power rating (kVA/MVA)"
-msgstr ""
+msgstr "Moc (kVA/MVA)"
 
 msgid "2700 kVA"
-msgstr ""
+msgstr "2700 kVA"
 
 msgid "12500 kVA"
-msgstr ""
+msgstr "12500 kVA"
 
 msgid "15 MVA"
-msgstr ""
+msgstr "15 MVA"
 
 msgid "50 MVA"
-msgstr ""
+msgstr "50 MVA"
 
 msgid "100 MVA"
-msgstr ""
+msgstr "100 MVA"
 
 msgid "Gas insulated"
-msgstr ""
+msgstr "Izolowana gazem"
 
 msgid "Power Transformer"
-msgstr "Stacja transformatorowa"
+msgstr "Transformator"
 
 msgid "Type of transformer"
 msgstr "Typ transformatora"
 
 msgctxt "power"
 msgid "generator"
-msgstr ""
+msgstr "Generator"
 
 msgctxt "power"
 msgid "auto"
-msgstr ""
+msgstr "Autotranformator"
 
 msgctxt "power"
 msgid "phase_angle_regulator"
-msgstr ""
+msgstr "Regulacja kąta przesunięcia fazowego"
 
 msgctxt "power"
 msgid "yes"
-msgstr ""
+msgstr "Tak"
 
 msgid "Phases"
-msgstr ""
+msgstr "Fazy"
 
 msgid "Power Switchgear"
 msgstr "Rozdzielnia"
@@ -19956,21 +20034,23 @@ msgid ""
 "(Please only use this tag if more detailed mapping using busbars and bays is "
 "impossible!)"
 msgstr ""
+"(Proszę używać tego tagu tylko wtedy, gdy dokładniejsze zmapowanie jest "
+"niemożliwe!)"
 
 msgid "Power Busbar"
-msgstr "Szyna prądowa"
+msgstr "Szyna zbiorcza"
 
 msgid "Power Bay"
-msgstr ""
+msgstr "Pole liniowe"
 
 msgid "Power Switch"
-msgstr ""
+msgstr "Łącznik"
 
 msgid "Power Converter"
 msgstr "Konwerter napięcia (HVDC)"
 
 msgid "Type of converter"
-msgstr ""
+msgstr "Typ konwertera"
 
 msgctxt "power"
 msgid "lcc"
@@ -19994,7 +20074,7 @@ msgid "bipole"
 msgstr ""
 
 msgid "Power rating (MVA)"
-msgstr ""
+msgstr "Moc (MVA)"
 
 msgid "Power Compensator"
 msgstr ""
@@ -20035,53 +20115,53 @@ msgid "series_capacitor"
 msgstr ""
 
 msgid "Power rating (kvar/Mvar)"
-msgstr ""
+msgstr "Moc (kvar/Mvar)"
 
 msgid "500 kvar"
-msgstr ""
+msgstr "500 kvar"
 
 msgid "1 Mvar"
-msgstr ""
+msgstr "1 Mvar"
 
 msgid "5 Mvar"
-msgstr ""
+msgstr "5 Mvar"
 
 msgid "Cable Distribution Cabinet"
-msgstr "Rozdzielcza skrzynka elektryczna"
+msgstr "Złącze kablowe"
 
 msgid "Power Tower"
 msgstr "Słup wysokiego napięcia"
 
 msgid "Type of construction"
-msgstr ""
+msgstr "Typ konstrukcji"
 
 msgid "lattice"
-msgstr ""
+msgstr "kratownicowa"
 
 msgid "tubular"
-msgstr ""
+msgstr "rurowa"
 
 msgid "solid "
-msgstr ""
+msgstr "lita "
 
 msgid "steel"
-msgstr ""
+msgstr "stal"
 
 msgctxt "color"
 msgid "red/white"
-msgstr ""
+msgstr "czerwono/biały"
 
 msgctxt "power"
 msgid "suspension"
-msgstr ""
+msgstr "przelotowy"
 
 msgctxt "power"
 msgid "anchor"
-msgstr ""
+msgstr "narożny"
 
 msgctxt "power"
 msgid "termination"
-msgstr ""
+msgstr "krańcowy"
 
 msgctxt "power"
 msgid "branch"
@@ -20115,15 +20195,15 @@ msgid "cross"
 msgstr ""
 
 msgid "Tower design"
-msgstr ""
+msgstr "Kształt słupa"
 
 msgctxt "power"
 msgid "one-level"
-msgstr ""
+msgstr "jednopoziomowy"
 
 msgctxt "power"
 msgid "two-level"
-msgstr ""
+msgstr "dwupoziomowy"
 
 msgctxt "power"
 msgid "donau"
@@ -20131,15 +20211,15 @@ msgstr ""
 
 msgctxt "power"
 msgid "three-level"
-msgstr ""
+msgstr "trzypoziomowy"
 
 msgctxt "power"
 msgid "barrel"
-msgstr ""
+msgstr "trzypoziomowy (beczka)"
 
 msgctxt "power"
 msgid "asymmetric"
-msgstr ""
+msgstr "asymetryczny"
 
 msgctxt "power"
 msgid "triangle"
@@ -20155,11 +20235,11 @@ msgstr ""
 
 msgctxt "power"
 msgid "four-level"
-msgstr ""
+msgstr "czteropoziomowy"
 
 msgctxt "power"
 msgid "six-level"
-msgstr ""
+msgstr "sześciopoziomowy"
 
 msgctxt "power"
 msgid "nine-level"
@@ -20211,25 +20291,25 @@ msgstr ""
 
 msgctxt "power"
 msgid "monopolar"
-msgstr ""
+msgstr "Jednoprzewodowy"
 
 msgid "Triple tower"
-msgstr ""
+msgstr "Potrójny"
 
 msgid "Incomplete tower"
-msgstr ""
+msgstr "Niekompletny"
 
 msgid "Pole"
 msgstr "Słup"
 
 msgid "Pole with Transformer"
-msgstr ""
+msgstr "Słup z transformatorem"
 
 msgid "Pole Attributes:"
-msgstr ""
+msgstr "Atrybuty słupa:"
 
 msgid "Transformer Attributes:"
-msgstr ""
+msgstr "Atrybuty transformatora:"
 
 msgid "Power Line"
 msgstr "Linia elektryczna"
@@ -20275,22 +20355,22 @@ msgid "eightfold"
 msgstr "ośmioprzewodowe"
 
 msgid "Used for data communications"
-msgstr ""
+msgstr "Używane do przesyłania danych"
 
 msgid "Power Cable"
 msgstr "Kable elektryczne"
 
 msgctxt "power cable"
 msgid "underground"
-msgstr ""
+msgstr "pod ziemią"
 
 msgctxt "power cable"
 msgid "underwater"
-msgstr ""
+msgstr "pod wodą"
 
 msgctxt "power cable"
 msgid "overground"
-msgstr ""
+msgstr "po ziemi"
 
 msgid "Historic Places"
 msgstr "Miejsca historyczne"
@@ -20461,7 +20541,7 @@ msgid "Video Games"
 msgstr "Gry wideo"
 
 msgid "Music"
-msgstr ""
+msgstr "Muzyczny"
 
 msgid "Cash"
 msgstr "Gotówka"
@@ -20572,7 +20652,7 @@ msgid "Travel Agency"
 msgstr "Biuro podróży"
 
 msgid "Musical Instrument"
-msgstr "Sklep muzyczny"
+msgstr "Instrumenty muzyczne"
 
 msgid "Toys"
 msgstr "Sklep z zabawkami"
@@ -20593,7 +20673,7 @@ msgid "Pet"
 msgstr "Zwierzęta domowe"
 
 msgid "Funeral Directors"
-msgstr ""
+msgstr "Dom pogrzebowy"
 
 msgid "Vending Machine"
 msgstr "Automat sprzedający"
@@ -20658,9 +20738,6 @@ msgstr "zabawki"
 msgid "vouchers"
 msgstr "vouchery/bony"
 
-msgid "Note"
-msgstr "Uwagi"
-
 msgid "Geography"
 msgstr "Geografia"
 
@@ -20695,7 +20772,7 @@ msgid "National Park"
 msgstr "Park narodowy"
 
 msgid "Protected Area"
-msgstr ""
+msgstr "Obszar chroniony"
 
 msgid "Protected Class"
 msgstr ""
@@ -21044,9 +21121,6 @@ msgstr "Najpopularniejsze odmiany nazwy"
 msgid "House number"
 msgstr "Numer domu"
 
-msgid "House name"
-msgstr "Nazwa domu"
-
 msgid "Street name"
 msgstr "Nazwa ulicy"
 
@@ -21059,8 +21133,8 @@ msgstr "Nazwa miejscowości"
 msgid "Country code"
 msgstr "Kod kraju"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Nazwa domu"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21732,6 +21806,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21866,6 +21947,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -22111,6 +22195,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -22468,6 +22555,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -22486,9 +22576,15 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
-msgid "{0}={1} is deprecated"
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
 msgstr ""
 
+msgid "{0}={1} is deprecated"
+msgstr "{0}={1} jest przestarzały"
+
 msgid "{0} is deprecated"
 msgstr "{0} jest przestarzały"
 
@@ -22522,6 +22618,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -22560,6 +22659,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -22581,9 +22683,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -22618,6 +22728,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -23821,6 +23934,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nazwa ulicy:"
 
@@ -26860,7 +26979,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -27521,6 +27642,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Odbuduj wielokąt na podstawie relacji {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -27560,6 +27684,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Wycofaj zestaw zmian w całości"
 
@@ -28053,7 +28183,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/pt.po b/i18n/po/pt.po
index f4b1ee9..e481fa3 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-12-01 00:01+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: 2014-12-10 05:06+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:17+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: pt\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4084,6 +4084,9 @@ msgstr "Etiquetas de páginas da internet"
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -4300,20 +4303,21 @@ msgstr "O tipo de relação é desconhecido"
 msgid "Relation is empty"
 msgstr "A relação está vazia"
 
-msgid "<empty>"
-msgstr "<vazio>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Função {0} desconhecida"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Encontrada função vazia"
+msgid "<empty>"
+msgstr "<vazio>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Membro de tipo errado para a função {0}"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Falta a função {0}"
@@ -4882,11 +4886,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "opções fornecidas como propriedades de sistema Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/CAMINHO/PARA/PASTA/DO/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Alterar a pasta das definições de todos os utilizadores"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5152,6 +5181,21 @@ msgstr "A camada não existe na lista."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "A camada ''{0}'' tem de existir na lista de camadas"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nome de utilizador"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Clique para cancelar a operação em curso"
 
@@ -6598,6 +6642,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Ordenar"
+
 msgid "Object type:"
 msgstr "Tipo de objeto:"
 
@@ -7694,9 +7744,6 @@ msgstr "Selecionar objetos para os membros selecionados da relação"
 msgid "Sort the relation members"
 msgstr "Ordenar os membros da relação"
 
-msgid "Sort"
-msgstr "Ordenar"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor de Relações: Ordenar"
 
@@ -8585,9 +8632,6 @@ msgstr "Introduza as credenciais para o servidor"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Introduza as credenciais para o proxy HTTP"
 
-msgid "Username"
-msgstr "Nome de utilizador"
-
 msgid "Password"
 msgstr "Palavra-passe"
 
@@ -9366,6 +9410,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Gravar Camada"
 
+msgid "Note"
+msgstr "Observação a outros editores"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9844,6 +9891,9 @@ msgstr "Remover fotografia da camada"
 msgid "Delete File from disk"
 msgstr "Eliminar ficheiro do disco"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Seguinte"
 
@@ -13643,6 +13693,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "O valor longo do atributo ''{0}'' está errado . Atualmente é ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "A preparar dados OSM..."
 
@@ -13830,8 +13883,8 @@ msgstr "Ler a versão do protocolo"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "ControloRemoto::Aceitando ligações na porta {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr ""
 
 msgid "RemoteControl::Server stopped."
 msgstr "ControloRemoto::Servidor parado."
@@ -13842,7 +13895,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -15006,9 +15059,6 @@ msgstr ""
 "<html><p> Desculpe, mas não é possível colar etiquetas da memória porque não "
 "contém nenhum elemento do JOSM ou texto adequado. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Ficheiro bzip2 não válido."
-
 msgid "ms"
 msgstr ""
 
@@ -16414,6 +16464,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Moedas"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Bilhetes Eletrónicos (cartões recarregáveis ou não)"
 
@@ -17244,6 +17298,9 @@ msgstr "Atravessamento permitido com bicicleta"
 msgid "Cross on horseback"
 msgstr "Atravessamento permitido a cavalo"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop"
 
@@ -17301,6 +17358,18 @@ msgstr "Nome alternativo"
 msgid "Speed Camera"
 msgstr "Radar de Controlo de Velocidade"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -18747,6 +18816,9 @@ msgstr "Parque de Merendas / Piqueniques"
 msgid "Fireplace"
 msgstr "Lareira/Fogueira"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Grelhador Público"
 
@@ -19352,6 +19424,12 @@ msgstr "sucção"
 msgid "Count"
 msgstr "Nº de bocas"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Desportos"
 
@@ -21222,9 +21300,6 @@ msgstr "brinquedos"
 msgid "vouchers"
 msgstr "vales"
 
-msgid "Note"
-msgstr "Observação a outros editores"
-
 msgid "Geography"
 msgstr "Geografia"
 
@@ -21609,9 +21684,6 @@ msgstr ""
 msgid "House number"
 msgstr "Número de porta"
 
-msgid "House name"
-msgstr "Nome da casa"
-
 msgid "Street name"
 msgstr "Nome da rua"
 
@@ -21624,8 +21696,8 @@ msgstr "Nome da localidade"
 msgid "Country code"
 msgstr "Código do país"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Nome da casa"
 
 msgid "Subdistrict"
 msgstr ""
@@ -22296,6 +22368,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -22430,6 +22509,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -22675,6 +22757,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -23032,6 +23117,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -23050,6 +23138,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -23086,6 +23180,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23124,6 +23221,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "nome abreviado da rua"
 
@@ -23145,9 +23245,17 @@ msgstr "tipo de estrada temporária (etiqueta road)"
 msgid "street name contains ss"
 msgstr "nome da rua contém ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -23182,6 +23290,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relação sem a etiqueta \"type\" (tipo de relação)"
 
@@ -24520,6 +24631,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nome da Rua:"
 
@@ -27760,7 +27877,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -28438,6 +28557,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruir linhas fechadas da relação {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Abrir página wiki da relação"
 
@@ -28480,6 +28602,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Linha sem a função ''inner'' (dentro) ou ''outer'' (fora)"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Reverter completamente o conjunto de alterações"
 
@@ -29020,8 +29148,8 @@ msgstr "adicionar à relação de ''estrada associada'' existente"
 msgid "create an associatedStreet relation"
 msgstr "criar uma relação de ''estrada associada''"
 
-msgid "delete outline way"
-msgstr "eliminar linha de contorno inicial"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nome da rua: "
diff --git a/i18n/po/pt_BR.po b/i18n/po/pt_BR.po
index dbf5e4f..703709c 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: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-11-27 17:23+0000\n"
-"Last-Translator: brunomelniic <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-14 05:22+0000\n"
+"Last-Translator: Felipe L. <felipe.idj at hotmail.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: 2014-12-10 05:18+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:35+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: pt_BR\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4091,6 +4091,9 @@ msgstr "Tags da internet"
 msgid "Checks for errors in internet-related tags."
 msgstr "Verifica se há erros nas tags relacionados à internet."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4310,20 +4313,21 @@ msgstr "Tipo de relação é desconhecida"
 msgid "Relation is empty"
 msgstr "Relação está vazio"
 
-msgid "<empty>"
-msgstr "<vazio>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Função {0} desconhecida"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Função vazia encontrada"
+msgid "<empty>"
+msgstr "<vazio>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Membro para a função ''{0}'' não corresponde a ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Membro da função {0} do tipo errado"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Regra {0} faltando"
@@ -4874,11 +4878,36 @@ msgstr "Desative o acesso ao recurso especificado(s), separados por vírgula"
 msgid "options provided as Java system properties"
 msgstr "opções providas como propriedades do sistema Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/TRILHA/PARA/PASTA/DO/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Alterar o diretório para todas as configurações de usuário"
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5155,6 +5184,21 @@ msgstr "camada não está na lista."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Camada ''{0}'' precisa estar na lista de camadas"
 
+msgid "Default (open, closed, new)"
+msgstr "Padrão (aberto, fechado, novo)"
+
+msgid "Username"
+msgstr "Nome do Usuário"
+
+msgid "Created date"
+msgstr "Data de criação"
+
+msgid "Last change date"
+msgstr "Data da última alteração"
+
+msgid "Select note sorting method"
+msgstr "Selecionar método de classificação de nota"
+
 msgid "Click to cancel the current operation"
 msgstr "Clique para cancelar a operação atual"
 
@@ -5347,10 +5391,11 @@ msgid "Conflict foreground: keep all tags"
 msgstr "Conflito de primeiro plano: manter todas as tags"
 
 msgid "Conflict background: sum all numeric tags"
-msgstr ""
+msgstr "Conflito em imagem de fundo: soma de todas as etiquetas numéricas"
 
 msgid "Conflict foreground: sum all numeric tags"
 msgstr ""
+"Conflito em imagem de primero plano: soma de todas as etiquetas numéricas"
 
 msgid "Conflict background: keep member"
 msgstr "Conflito de fundo: mantar membro"
@@ -6630,6 +6675,12 @@ msgstr "Reabrir"
 msgid "Reopen note with message:"
 msgstr "Reabrir Nota com mensagem:"
 
+msgid "Sort notes"
+msgstr "Classificar notas"
+
+msgid "Sort"
+msgstr "Classificar"
+
 msgid "Object type:"
 msgstr "Tipo de objeto:"
 
@@ -7726,9 +7777,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Classificar a relação de membros"
 
-msgid "Sort"
-msgstr "Classificar"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor de relação: Classificar"
 
@@ -8600,9 +8648,6 @@ msgstr "Entre as credenciais para o host"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Informe as credenciais do proxy HTTP"
 
-msgid "Username"
-msgstr "Nome do Usuário"
-
 msgid "Password"
 msgstr "Senha"
 
@@ -9396,6 +9441,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Salvar Camada"
 
+msgid "Note"
+msgstr "Nota"
+
 msgid "Notes layer"
 msgstr "Ccamada de notas"
 
@@ -9872,6 +9920,9 @@ msgstr "Remover foto da camada"
 msgid "Delete File from disk"
 msgstr "Apagar arquivo do disco"
 
+msgid "Copy image path"
+msgstr "Copiar caminho da imagem"
+
 msgid "Next"
 msgstr "Próximo"
 
@@ -13663,6 +13714,9 @@ msgstr "Faltando atributo necessário ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Valor long ilegal para o atributo ''{0}''. Recuperado ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Preparando dados OSM..."
 
@@ -13851,8 +13905,8 @@ msgstr "Versão do protocolo de leitura"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr "Não é possível iniciar o servidor remotecontrol na porta {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "RemoteControl::Aceitando conexões na porta {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr "ControleRemoto::Aceitando conexões em {0}:{1}"
 
 msgid "RemoteControl::Server stopped."
 msgstr "RemoteControl::Servidor parou."
@@ -13864,8 +13918,8 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Não é possível inicializar Servidor de Controle Remoto HTTPS"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "RemoteControl::Aceitando conexões seguras na porta {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr "ControleRemoto::Aceitando conexões seguras em {0}:{1}"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "RemoteControl::Servidor (https) parou."
@@ -15060,9 +15114,6 @@ msgstr ""
 "<html><p> Desculpe, é impossível colar etiquetas do buffer. Ele não contém "
 "qualquer objeto JOSM ou texto adequado. </ p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Arquivo bz2 inválido."
-
 msgid "ms"
 msgstr "ms"
 
@@ -15650,6 +15701,8 @@ msgid ""
 "Provides Java Native Access (JNA) library. Not meant to be installed "
 "directly by users, but rather as a dependency for other plugins."
 msgstr ""
+"Fornece acesso nativo a biblioteca Java (JNA) . Não deveria ser instalado "
+"diretamente pelos usuários, mas sim como uma dependência para outros plugins."
 
 msgid ""
 "Provides Java Topology Suite (JTS) library and related utilities. Not meant "
@@ -16435,6 +16488,10 @@ msgstr "tênis"
 msgid "Coins"
 msgstr "Moedas"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Notas"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Carteiras Eletrônicas e Cartões pré-pagos"
 
@@ -17256,7 +17313,7 @@ msgid "tiger"
 msgstr "tigre"
 
 msgid "Button operated"
-msgstr ""
+msgstr "Botão acionado"
 
 msgid "Sound signals"
 msgstr "Sinais sonoros"
@@ -17270,6 +17327,9 @@ msgstr "Travessia de bicicleta"
 msgid "Cross on horseback"
 msgstr "Travessia à cavalo"
 
+msgid "Optional values for specific countries"
+msgstr "Valores opcionais para países específicos"
+
 msgid "Stop"
 msgstr "Pare"
 
@@ -17327,6 +17387,18 @@ msgstr "Segundo nome"
 msgid "Speed Camera"
 msgstr "Radar de Velocidade"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Elevador"
 
@@ -18782,6 +18854,9 @@ msgstr "Campo de Picnic"
 msgid "Fireplace"
 msgstr "Lareira"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Public Grill"
 
@@ -19387,6 +19462,12 @@ msgstr "sucção"
 msgid "Count"
 msgstr "Contaer"
 
+msgid "Advertising Column"
+msgstr "Coluna de publicidade"
+
+msgid "Billboard"
+msgstr "Letreiro"
+
 msgid "Sports"
 msgstr "Esportes"
 
@@ -20008,7 +20089,7 @@ msgid "Tide Level"
 msgstr "Nível da maré"
 
 msgid "Groundwater"
-msgstr ""
+msgstr "Águas subterrâneas"
 
 msgid "Traffic"
 msgstr "Tráfego"
@@ -21259,9 +21340,6 @@ msgstr "brinquedos"
 msgid "vouchers"
 msgstr "vales"
 
-msgid "Note"
-msgstr "Nota"
-
 msgid "Geography"
 msgstr "Geografia"
 
@@ -21659,9 +21737,6 @@ msgstr "Abreviatura comum do nome"
 msgid "House number"
 msgstr "Número da casa"
 
-msgid "House name"
-msgstr "Nome da casa"
-
 msgid "Street name"
 msgstr "Nome do rua"
 
@@ -21674,8 +21749,8 @@ msgstr "Cidade"
 msgid "Country code"
 msgstr "Código do país"
 
-msgid "Optional values for specific countries"
-msgstr "Valores opcionais para países específicos"
+msgid "House name"
+msgstr "Nome da casa"
 
 msgid "Subdistrict"
 msgstr "Subdistrito"
@@ -22346,6 +22421,13 @@ msgstr "VoGIS: DGM (Terrain model)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Surface model)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -22395,13 +22477,13 @@ msgid "Estonia Ortho (Maaamet)"
 msgstr "Estónia Ortho (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Estônia Hillshade (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Estônia Cadastre (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Estônia Forestry (Maaamet)"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -22482,6 +22564,9 @@ msgstr "OpenStreetMap (Sorbian Language)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22536,7 +22621,7 @@ msgid "NRW-Atlas: Topographische Karte 1:10000"
 msgstr "NRW-Atlas: Topographische Karte 1:10000"
 
 msgid "Metropole Ruhr: Luftbilder (10 cm)"
-msgstr ""
+msgstr "Metropole Ruhr: Luftbilder (10 cm)"
 
 msgid "Drone Imagery (Haiti)"
 msgstr "Drone Imagery (Haiti)"
@@ -22730,6 +22815,9 @@ msgstr "GRAFCAN Express - Ilhas Canárias"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Stadt Uster Orthophoto 2008 10cm"
 
@@ -22800,7 +22888,7 @@ msgid "OSM US TIGER 2012 Roads Overlay"
 msgstr "OSM US TIGER 2012 Roads Overlay"
 
 msgid "New & Misaligned TIGER Roads (TIGER 2014)"
-msgstr ""
+msgstr "New & Misaligned TIGER Roads (TIGER 2014)"
 
 msgid "MassGIS L3 Parcels"
 msgstr "MassGIS L3 Parcels"
@@ -23087,6 +23175,9 @@ msgstr "{0} sem {1} ou {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} sem {1}, {2} ou {3}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr "{0} no objeto suspeito"
 
@@ -23105,6 +23196,12 @@ msgstr "esporte sem característica física"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} deve ser no nó onde {1} e {2} se cruzam"
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} está obsoleto"
 
@@ -23149,6 +23246,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "{0} deve ser substituido por {1}"
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23189,6 +23289,9 @@ msgstr "Sobreposição de áreas naturais idênticas"
 msgid "Overlapping Identical Landuses"
 msgstr "Sobrepoição de Landuses idênticos"
 
+msgid "{0} must be connected to a way"
+msgstr "{0} precisa se conectado em uma via"
+
 msgid "abbreviated street name"
 msgstr "nome da rua abreviado"
 
@@ -23210,9 +23313,17 @@ msgstr "tipo de estrada temporária"
 msgid "street name contains ss"
 msgstr "nome da ruas contem ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr "{0} com múltiplos valores"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr "chave númerica"
 
@@ -23249,6 +23360,9 @@ msgstr "inclinação incomum; usar percentagens/graus ou para acima/abaixo"
 msgid "{0} must be a numeric value"
 msgstr "{0} precisa ser um valor numérico"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "relações sem tipo"
 
@@ -24592,6 +24706,12 @@ msgstr "Unir nós com os vizinhos"
 msgid "merge nodes"
 msgstr "unir nós"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Nome da Rua:"
 
@@ -27850,8 +27970,10 @@ msgstr "Ajustar fotos"
 msgid "Move and position photos"
 msgstr "Mover e posicionar fotos"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "Clique+arrastar foto ou Shift+clique para posicionar a foto."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr "Por favor, carrega algumas fotos."
@@ -28528,6 +28650,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Reconstruir polígonos da relação {0}"
 
+msgid "Reconstruct route"
+msgstr "Reconstruir rota"
+
 msgid "Open relation wiki page"
 msgstr "Abrir página wiki da relação"
 
@@ -28567,6 +28692,12 @@ msgstr "Nó sem função ''label'' ou ''admin_centre'' encontrado"
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Via sem função ''interior'' ou ''exterior'' encontrada"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr "Nó sem função ''parar'' ou '' plataforma '' encontrado"
+
+msgid "Way platform without ''platform'' role found"
+msgstr "Plataforma sem função ''plataforma'' encontrada"
+
 msgid "Revert changeset fully"
 msgstr "Reverter todo o Conjunto de Mudanças"
 
@@ -29097,8 +29228,8 @@ msgstr "adicionar à relação de rua associada existente"
 msgid "create an associatedStreet relation"
 msgstr "criar uma relação associatedStreet"
 
-msgid "delete outline way"
-msgstr "excluir esquema do caminho"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Nome da rua: "
diff --git a/i18n/po/rm.po b/i18n/po/rm.po
index e641a34..a966052 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:07+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:18+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ro.po b/i18n/po/ro.po
index 6ddc667..f8473dc 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2012-10-03 22:38+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: 2014-12-10 05:08+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:18+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "X-Poedit-Country: ROMANIA\n"
 "Language: ro\n"
 "X-Poedit-Language: Romanian\n"
@@ -3741,6 +3741,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3947,19 +3950,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4495,10 +4499,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4753,6 +4782,21 @@ msgstr "stratul nu este în listă."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Nume utilizator"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6097,6 +6141,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Tip obiect:"
 
@@ -7079,9 +7129,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7863,9 +7910,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Nume utilizator"
-
 msgid "Password"
 msgstr "Parolă"
 
@@ -8545,6 +8589,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Salvează Strat"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8993,6 +9040,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12378,6 +12428,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12558,7 +12611,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12570,7 +12623,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13530,9 +13583,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14768,6 +14818,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15590,6 +15644,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15647,6 +15704,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17091,6 +17160,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17696,6 +17768,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19566,9 +19644,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19952,9 +20027,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19967,7 +20039,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20639,6 +20711,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20773,6 +20852,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21018,6 +21100,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21375,6 +21460,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21393,6 +21481,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21429,6 +21523,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21467,6 +21564,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21488,9 +21588,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21525,6 +21633,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22719,6 +22830,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25736,7 +25853,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26397,6 +26516,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26436,6 +26558,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26926,7 +27054,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ru.po b/i18n/po/ru.po
index 98814d6..f9f13d6 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: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-08 17:07+0000\n"
-"Last-Translator: Nkolay Parukhin <parukhin at gmail.com>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-27 19:27+0000\n"
+"Last-Translator: Aleksey Kabanov <Unknown>\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: 2014-12-10 05:08+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:19+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ru_RU\n"
 
 msgid "Use Basic Authentication"
@@ -4136,6 +4136,9 @@ msgstr "Интернет-теги"
 msgid "Checks for errors in internet-related tags."
 msgstr "Проверка на ошибки в тегах, связанных с Интернетом."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr " Не удалось преобразовать URL в ASCII: {0}"
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4358,20 +4361,23 @@ msgstr "Неизвестный тип отношения"
 msgid "Relation is empty"
 msgstr "Пустое отношение"
 
-msgid "<empty>"
-msgstr "<пусто>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr "Участник роли не соответствует выражению {0} в шаблоне {1}"
 
-msgid "Role {0} unknown"
-msgstr "Неизвестная роль {0}"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
+"Тип участника роли {0} не соответствует списку допустимых типов {1} в "
+"шаблоне {2}"
 
-msgid "Empty role found"
-msgstr "Обнаружена пустая роль"
+msgid "<empty>"
+msgstr "<пусто>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Участник для роли ''{0}'' не соответствует ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr "Роль {0} неизвестна в шаблонах {1}"
 
-msgid "Member for role {0} of wrong type"
-msgstr "Неверный тип участника роли {0}"
+msgid "Empty role type found when expecting one of {0}"
+msgstr "Пустой тип роли, хотя ожидался один из {0}"
 
 msgid "Role {0} missing"
 msgstr "Отсутствует роль {0}"
@@ -4903,7 +4909,7 @@ msgid "Changes preferences according to the XML file"
 msgstr "Загрузить настройки из XML-файла"
 
 msgid "Set preference key to value"
-msgstr "Установите в настройках значение ключа"
+msgstr "Установить в настройках значение ключа"
 
 msgid "Set the language"
 msgstr "Указать язык"
@@ -4920,11 +4926,39 @@ msgstr "Отключить доступ к указанным ресурсам (
 msgid "options provided as Java system properties"
 msgstr "системные настройки Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr "/PATH/TO/JOSM/PREF    "
 
-msgid "Change the folder for all user settings"
-msgstr "Сменить папку для всех настроек пользователя"
+msgid "Set the preferences directory"
+msgstr "Указать каталог настроек"
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr "/PATH/TO/JOSM/USERDATA"
+
+msgid "Set the user data directory"
+msgstr "Указать каталог данных пользователя"
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr "/PATH/TO/JOSM/CACHE   "
+
+msgid "Set the cache directory"
+msgstr "Указать каталог кэша"
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr "/PATH/TO/JOSM/HOMEDIR "
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+"Переместить все 3 каталога в homedir. Каталог кэша будет в homedir/cache"
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
+"-Djosm.home имеет более низкий приоритет, т.е. специфические настройки "
+"заменят собой общие"
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5205,6 +5239,21 @@ msgstr "слоя нет в списке."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Слой ''{0}'' должен быть в списке слоёв"
 
+msgid "Default (open, closed, new)"
+msgstr "По умолчанию (открытые, закрытые, новые)"
+
+msgid "Username"
+msgstr "Имя пользователя"
+
+msgid "Created date"
+msgstr "Дата создания"
+
+msgid "Last change date"
+msgstr "Дата последнего изменения"
+
+msgid "Select note sorting method"
+msgstr "Выберите метод сортировки заметок"
+
 msgid "Click to cancel the current operation"
 msgstr "Нажмите, чтобы отменить текущую операцию"
 
@@ -6690,6 +6739,12 @@ msgstr "Переоткрыть"
 msgid "Reopen note with message:"
 msgstr "Переоткрыть заметку с сообщением:"
 
+msgid "Sort notes"
+msgstr "Сортировать заметки"
+
+msgid "Sort"
+msgstr "Сортировать"
+
 msgid "Object type:"
 msgstr "Тип объекта:"
 
@@ -7779,9 +7834,6 @@ msgstr "Выделить объекты для выбранных участни
 msgid "Sort the relation members"
 msgstr "Сортировать участников отношений"
 
-msgid "Sort"
-msgstr "Сортировать"
-
 msgid "Relation Editor: Sort"
 msgstr "Редактор отношений: сортировать"
 
@@ -8107,7 +8159,7 @@ msgid "Select to download GPS traces in the selected download area."
 msgstr "Пометьте, чтобы скачать с сервера ТРЕКИ GPS для выбранной области."
 
 msgid "Notes"
-msgstr "Банкноты"
+msgstr "Заметки"
 
 msgid "Select to download notes in the selected download area."
 msgstr "Выберите для скачивания заметок в выделенной области скачивания"
@@ -8665,9 +8717,6 @@ msgstr "Введите учётные данные для хоста"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Введите учётные данные для прокси HTTP"
 
-msgid "Username"
-msgstr "Имя пользователя"
-
 msgid "Password"
 msgstr "Пароль"
 
@@ -9507,6 +9556,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Сохранить слой"
 
+msgid "Note"
+msgstr "Примечание"
+
 msgid "Notes layer"
 msgstr "Слой заметок"
 
@@ -9987,6 +10039,9 @@ msgstr "Удалить фото из слоя"
 msgid "Delete File from disk"
 msgstr "Удалить файл с диска"
 
+msgid "Copy image path"
+msgstr "Копировать путь к изображению"
+
 msgid "Next"
 msgstr "Следующее"
 
@@ -13758,6 +13813,9 @@ msgstr "Отсутствует нужный атрибут ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Неверная длина значения атрибута ''{0}''. Получено ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr "{0} байт прочитано"
+
 msgid "Prepare OSM data..."
 msgstr "Подготовка данных..."
 
@@ -13951,8 +14009,8 @@ msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 "Не удалось запустить сервер дистанционного управления на порту {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Удалённое управление::Приём подключений на порт {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr "Удалённое управление::Принимается соединение на {0}:{1}"
 
 msgid "RemoteControl::Server stopped."
 msgstr "Удалённое управление::Сервер остановлен."
@@ -13964,8 +14022,8 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Не удалось инициализировать HTTPS-сервер удалённого управления"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "Удалённое управление::приём защищённых подключений на порту {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr "Удалённое управление::Принимается защищённое соединение на {0}:{1}"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Удалённое управление::сервер (https) остановлен."
@@ -15186,9 +15244,6 @@ msgstr ""
 "<html><p> Невозможно вставить теги из буфера обмена. Он не содержит объектов "
 "JOSM или подходящего текста. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "bz2 файл содержит ошибки"
-
 msgid "ms"
 msgstr "мс"
 
@@ -16559,6 +16614,10 @@ msgstr "теннис"
 msgid "Coins"
 msgstr "Монеты"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Банкноты"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Электронные средства оплаты"
 
@@ -17394,6 +17453,9 @@ msgstr "Разрешён переезд на велосипеде"
 msgid "Cross on horseback"
 msgstr "Разрешён переезд на лошади"
 
+msgid "Optional values for specific countries"
+msgstr "Необязательные значения для отдельных стран"
+
 msgid "Stop"
 msgstr "Стоп"
 
@@ -17451,6 +17513,20 @@ msgstr "Второе название"
 msgid "Speed Camera"
 msgstr "Камера-скоростемер"
 
+msgid "Traffic Mirror"
+msgstr "Дорожное зеркало"
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr "Именованный перекрёсток"
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+"Используется в некоторых странах для именованных перекрёстков, названия "
+"которых служат для локальной ориентации."
+
 msgid "Elevator"
 msgstr "Лифт"
 
@@ -18902,6 +18978,9 @@ msgstr "Место для пикника"
 msgid "Fireplace"
 msgstr "Очаг"
 
+msgid "Picnic Table"
+msgstr "Стол для пикника"
+
 msgid "Public Grill"
 msgstr "Публичный мангал"
 
@@ -19507,6 +19586,12 @@ msgstr "всасывание"
 msgid "Count"
 msgstr "Количество"
 
+msgid "Advertising Column"
+msgstr "Рекламная тумба"
+
+msgid "Billboard"
+msgstr "Рекламный щит"
+
 msgid "Sports"
 msgstr "Спорт"
 
@@ -20128,7 +20213,7 @@ msgid "Tide Level"
 msgstr "Уровнем прилива"
 
 msgid "Groundwater"
-msgstr ""
+msgstr "Подземные воды"
 
 msgid "Traffic"
 msgstr "Дорожным движением"
@@ -21379,9 +21464,6 @@ msgstr "игрушки"
 msgid "vouchers"
 msgstr "ваучеры"
 
-msgid "Note"
-msgstr "Примечание"
-
 msgid "Geography"
 msgstr "География"
 
@@ -21778,9 +21860,6 @@ msgstr "Аббревиатура"
 msgid "House number"
 msgstr "Номер дома"
 
-msgid "House name"
-msgstr "Название дома"
-
 msgid "Street name"
 msgstr "Улица"
 
@@ -21793,8 +21872,8 @@ msgstr "Город"
 msgid "Country code"
 msgstr "Код страны"
 
-msgid "Optional values for specific countries"
-msgstr "Необязательные значения для отдельных стран"
+msgid "House name"
+msgstr "Название дома"
 
 msgid "Subdistrict"
 msgstr "Подрайон"
@@ -22465,6 +22544,13 @@ msgstr "VoGIS: DGM (модель рельефа)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (модель поверхности)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE: карта городских районов"
 
@@ -22514,13 +22600,13 @@ msgid "Estonia Ortho (Maaamet)"
 msgstr "Эстония: ортофото (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Эстония: теневой рельеф (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Эстония: кадастр (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Эстония: лесные массивы (Maaamet)"
 
 msgid "Bordeaux - 2012"
 msgstr "Бордо - 2012"
@@ -22599,6 +22685,9 @@ msgstr "OpenStreetMap (лужицкий язык)"
 msgid "Hamburg (40 cm)"
 msgstr "Гамбург (40 см)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Гамбург (DK5)"
 
@@ -22845,6 +22934,9 @@ msgstr "GRAFCAN Express - Канарские острова"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Кантон Аргау 25см (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr "Кантон Аргау 25 см (AGIS 2014)"
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Город Устер: ортофото 2008 10см"
 
@@ -22915,7 +23007,7 @@ msgid "OSM US TIGER 2012 Roads Overlay"
 msgstr "OSM US TIGER 2012: оверлей дорог"
 
 msgid "New & Misaligned TIGER Roads (TIGER 2014)"
-msgstr ""
+msgstr "Новые и смещённые дороги TIGER (TIGER 2014)"
 
 msgid "MassGIS L3 Parcels"
 msgstr "MassGIS L3 Parcels"
@@ -23202,6 +23294,9 @@ msgstr "{0} без {1} или {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} без {1}, {2} или {3}"
 
+msgid "{0} together with {1}"
+msgstr "{0} вместе с {1}"
+
 msgid "{0} on suspicious object"
 msgstr "{0} на подозрительном объекте"
 
@@ -23220,6 +23315,12 @@ msgstr "тег sport без физического объекта"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} должен быть точкой пересечения {1} и {2}"
 
+msgid "alternative name without {0}"
+msgstr "альтернативное название без {0}"
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr "неполное использование {0} для линии без {1}"
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} использовать не рекомендуется"
 
@@ -23267,6 +23368,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "{0} следует заменить на {1}"
 
+msgid "{0} = {1}; remove {0}"
+msgstr "{0} = {1}; удалите {0}"
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23307,6 +23411,9 @@ msgstr "Перекрывающиеся идентичные области об
 msgid "Overlapping Identical Landuses"
 msgstr "Перекрывающиеся идентичные землепользования"
 
+msgid "{0} must be connected to a way"
+msgstr "{0} должен быть соединён с линией"
+
 msgid "abbreviated street name"
 msgstr "сокращённое обозначение улицы"
 
@@ -23328,9 +23435,19 @@ msgstr "временный тип дороги"
 msgid "street name contains ss"
 msgstr "название улицы содержит ss"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+"Значение ''{0}'' должнобыть либо ''{1}'', либо ''{2}''. Для тротуаров "
+"используйте взамен ''{3}''."
+
 msgid "{0} with multiple values"
 msgstr "{0} с несколькими значениями"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr "пустое значение в разделённом точками с запятой списке ''{0}''"
+
 msgid "numerical key"
 msgstr "числовой ключ"
 
@@ -23367,6 +23484,9 @@ msgstr "необычный уклон; используйте проценты/
 msgid "{0} must be a numeric value"
 msgstr "{0} должно быть числовым значением"
 
+msgid "{0} must be a positive integer number"
+msgstr "{0} должен быть положительным целым числом"
+
 msgid "relation without type"
 msgstr "отношение без типа"
 
@@ -24707,6 +24827,12 @@ msgstr "Объединять точки с соседними"
 msgid "merge nodes"
 msgstr "Объединять точки"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Улица:"
 
@@ -27952,8 +28078,10 @@ msgstr "Регулирование фотографии"
 msgid "Move and position photos"
 msgstr "Перемещение фотографии"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "Тащить фотографию или Shift+клик для установки позиции."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr "Позалуйста загрузите несколько фотографий."
@@ -28615,16 +28743,20 @@ msgid "Find a relation"
 msgstr "Найти отношение"
 
 msgid "Reconstruct polygon"
-msgstr "Реконструкция полигона"
+msgstr "Восстановить полигон"
 
 msgid "Multipolygon must consist only of ways"
 msgstr "Мультиполигоны должны состоять только из линий"
 
 msgid "Reconstruction of polygons can be done only from outer ways"
-msgstr "Реконструкция полигона может быть выполнена только по внешним линиям"
+msgstr ""
+"Восстановление полигона может быть выполнено только по внешним линиям"
 
 msgid "Reconstruct polygons from relation {0}"
-msgstr "Реконструкция полигона из отношения {0}"
+msgstr "Восстановить полигон из отношения {0}"
+
+msgid "Reconstruct route"
+msgstr "Восстановить маршрут"
 
 msgid "Open relation wiki page"
 msgstr "Тип отношения в вики"
@@ -28665,6 +28797,12 @@ msgstr "Найдена точка без роли ''label'' или ''admin_centr
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Найдена линия без роли ''inner'' или ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr "Обнаружена точка без роли ''stop'' или ''platform''"
+
+msgid "Way platform without ''platform'' role found"
+msgstr "Обнаружена линия платформы без роли ''platform''"
+
 msgid "Revert changeset fully"
 msgstr "Полностью откатить пакет правок"
 
@@ -28859,7 +28997,7 @@ msgid "Clear route"
 msgstr "Очистить маршрут"
 
 msgid "Reconstruct Graph"
-msgstr "Восстанавливает граф"
+msgstr "Восстановить граф"
 
 msgid "Routing Plugin Preferences"
 msgstr "Настройки модуля маршрутизации"
@@ -29188,8 +29326,8 @@ msgstr "добавить к существующему отношению associ
 msgid "create an associatedStreet relation"
 msgstr "создать отношение associatedStreet"
 
-msgid "delete outline way"
-msgstr "удалить линию контура"
+msgid "keep outline way"
+msgstr "сохранить линию внешнего контура"
 
 msgid "Street name: "
 msgstr "Название улицы: "
diff --git a/i18n/po/sk.po b/i18n/po/sk.po
index ef4b0dc..269ad81 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: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-06 22:15+0000\n"
-"Last-Translator: aceman444 <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-28 12:59+0000\n"
+"Last-Translator: Vlado <babicvm at szm.sk>\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: 2014-12-10 05:10+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:23+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: sk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -4099,6 +4099,9 @@ msgstr "Značky pre Internet"
 msgid "Checks for errors in internet-related tags."
 msgstr "Kontroluje chyby v značkách súvisiacich s Internetom."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "\"{0}\": {1}"
 
@@ -4322,20 +4325,21 @@ msgstr "Neznámy typ relácie"
 msgid "Relation is empty"
 msgstr "Relácia je prázdna"
 
-msgid "<empty>"
-msgstr "<prázdny>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Neznáma úloha \"{0}\""
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Nájdená prázdna úloha"
+msgid "<empty>"
+msgstr "<prázdny>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Člen pre úlohu \"{0}\" nesúhlasí s \"{1}\""
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "Člen pre úlohu \"{0}\" je chybného typu"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "Úloha \"{0}\" chýba"
@@ -4884,11 +4888,40 @@ msgid "options provided as Java system properties"
 msgstr ""
 "voľby poskytované ako systémové vlastnosti Java (Java system properties)"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/CESTA/K/JOSM/PRIEČINKU/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr "/CESTA/K/JOSM/NASTAVENIAM    "
+
+msgid "Set the preferences directory"
+msgstr "Nastaviť priečinok pre nastavenia"
 
-msgid "Change the folder for all user settings"
-msgstr "Zmena adresára pre všetky nastavenia používateľa"
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr "/CESTA/K/JOSM/UZIVATELSKYMDATAM"
+
+msgid "Set the user data directory"
+msgstr "Nastaviť priečinok pre používateľské dáta"
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr "/CESTA/K/JOSM/DOCASNYMDATAM   "
+
+msgid "Set the cache directory"
+msgstr "Nastaviť priečinok pre dočasné dáta"
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr "/CESTA/K/JOSM/PRIECINKU "
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+"Presunúť všetky 3 priečinky do domovského priečinku. Priečinok pre dočasné "
+"cache dáta bude \"domovský priečinok/cache\"."
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
+"-Djosm.home má nižšiu prioritu, t.j. špecifickejšie nastavenie nahradí "
+"všeobecnejšie"
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5161,6 +5194,21 @@ msgstr "Vrstva nie je v zozname."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Vrstva ''{0}'' musí byť v zozname vrstiev"
 
+msgid "Default (open, closed, new)"
+msgstr "Predvolené (otvorené, uzavreté, nové)"
+
+msgid "Username"
+msgstr "Meno používateľa"
+
+msgid "Created date"
+msgstr "Dátum vytvorenia"
+
+msgid "Last change date"
+msgstr "Dátum poslednej zmeny"
+
+msgid "Select note sorting method"
+msgstr "Zvoľte spôsob zoradenia poznámok"
+
 msgid "Click to cancel the current operation"
 msgstr "Kliknutím zrušíte aktuálnu operáciu"
 
@@ -6648,6 +6696,12 @@ msgstr "Znovu otvoriť"
 msgid "Reopen note with message:"
 msgstr "Znovu otvoriť poznámku so správou:"
 
+msgid "Sort notes"
+msgstr "Zoradiť poznámky"
+
+msgid "Sort"
+msgstr "Triediť"
+
 msgid "Object type:"
 msgstr "Typ objektu:"
 
@@ -6928,7 +6982,7 @@ msgid "ID"
 msgstr "ID"
 
 msgid "Open"
-msgstr "Otvorený"
+msgstr "Otvoriť"
 
 msgid "User"
 msgstr "Používateľ"
@@ -7738,9 +7792,6 @@ msgstr "Výber objektov pre vybrané členy relácie"
 msgid "Sort the relation members"
 msgstr "Triedenie členov relácie"
 
-msgid "Sort"
-msgstr "Triediť"
-
 msgid "Relation Editor: Sort"
 msgstr "Editor relácie: Zoradiť"
 
@@ -8609,9 +8660,6 @@ msgstr "Zadajte prihlasovacie údaje pre hostiteľa"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Vložiť prihlasovacie údaje pre HTTP proxy server"
 
-msgid "Username"
-msgstr "Meno používateľa"
-
 msgid "Password"
 msgstr "Heslo"
 
@@ -9429,6 +9477,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Uložiť vrstvu"
 
+msgid "Note"
+msgstr "Poznámka"
+
 msgid "Notes layer"
 msgstr "Vrstva poznámok"
 
@@ -9908,6 +9959,9 @@ msgstr "Odstraniť fotku z vrstvy"
 msgid "Delete File from disk"
 msgstr "Zmazať súbor z disku"
 
+msgid "Copy image path"
+msgstr "Kopírovať cestu k obrázku"
+
 msgid "Next"
 msgstr "Nasledujúci"
 
@@ -13704,6 +13758,9 @@ msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 "Neplatná dlhá hodnota pre vlastnosť \"{0}\". Obdržaná hodnota je \"{1}\""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Pripravujem OSM údaje..."
 
@@ -13896,8 +13953,8 @@ msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 "Nepodarilo sa spustiť server pre diaľkové ovládanie na porte {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "Diaľkové ovládanie::Prijímam priojenia na porte {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr "Diaľkové ovládanie::Prijímajú sa spojenia na {0}:{1}"
 
 msgid "RemoteControl::Server stopped."
 msgstr "Diaľkové ovládanie::Server zastavený."
@@ -13909,8 +13966,8 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Nepodarilo sa inicializovať HTTPS server pre diaľkové ovládanie"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "Diaľkové ovládanie::Prijímam zabezpečené spojenia na porte {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr "Diaľkové ovládanie::Prijímajú sa zabezpečené spojenia na {0}:{1}"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "Diaľkové ovládanie::Server (https) zastavený."
@@ -15131,9 +15188,6 @@ msgstr ""
 "<html><p> Prepáčte, ale nie je možné vložiť značky z vyrovnávacej pamäte. "
 "Neobsahujú žiadne objekty JOSM, alebo vhodné texty. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Poškodený bz2 súbor."
-
 msgid "ms"
 msgstr "ms"
 
@@ -16498,6 +16552,10 @@ msgstr "tenis"
 msgid "Coins"
 msgstr "Mince"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Bankovky"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektronické peňaženky a karty s kreditom"
 
@@ -17334,6 +17392,9 @@ msgstr "Priechod pre cyklistov"
 msgid "Cross on horseback"
 msgstr "Priechod pre jazdcov na koňoch"
 
+msgid "Optional values for specific countries"
+msgstr "Voliteľné hodnoty pre niektoré krajiny"
+
 msgid "Stop"
 msgstr "Značka \"Zastaviť (stop)\""
 
@@ -17391,6 +17452,18 @@ msgstr "Druhé meno"
 msgid "Speed Camera"
 msgstr "Kamera na meranie rýchlosti"
 
+msgid "Traffic Mirror"
+msgstr "Cestné zrkadlo"
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Výťah"
 
@@ -18840,6 +18913,9 @@ msgstr "Výletné miesto (piknik)"
 msgid "Fireplace"
 msgstr "Ohnisko"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Verejný gril"
 
@@ -19445,6 +19521,12 @@ msgstr "bez tlaku"
 msgid "Count"
 msgstr "Počet"
 
+msgid "Advertising Column"
+msgstr "Reklamný stĺp"
+
+msgid "Billboard"
+msgstr "Reklamný billboard"
+
 msgid "Sports"
 msgstr "Športy"
 
@@ -20066,7 +20148,7 @@ msgid "Tide Level"
 msgstr "Výška prílivu"
 
 msgid "Groundwater"
-msgstr ""
+msgstr "Podzemná voda"
 
 msgid "Traffic"
 msgstr "Premávka"
@@ -20886,7 +20968,7 @@ msgid "Pole Attributes:"
 msgstr ""
 
 msgid "Transformer Attributes:"
-msgstr ""
+msgstr "Vlastnosti transformátora:"
 
 msgid "Power Line"
 msgstr "Elektrické vedenie"
@@ -20939,7 +21021,7 @@ msgstr "Elektrický kábel"
 
 msgctxt "power cable"
 msgid "underground"
-msgstr ""
+msgstr "pod zemou"
 
 msgctxt "power cable"
 msgid "underwater"
@@ -21315,9 +21397,6 @@ msgstr "hračky"
 msgid "vouchers"
 msgstr "kupóny (poukážky)"
 
-msgid "Note"
-msgstr "Poznámka"
-
 msgid "Geography"
 msgstr "Geografia(Zemepis)"
 
@@ -21501,7 +21580,7 @@ msgid "Forest"
 msgstr "Hospodársky les"
 
 msgid "Grassland"
-msgstr "Lúka"
+msgstr "Divoká tráva/Step"
 
 msgid ""
 "Where vegetation is dominated by grasses (Poaceae) and other herbaceous (non-"
@@ -21711,9 +21790,6 @@ msgstr "Bežná skratka názvu"
 msgid "House number"
 msgstr "Číslo domu"
 
-msgid "House name"
-msgstr "Meno domu"
-
 msgid "Street name"
 msgstr "Názov ulice"
 
@@ -21726,8 +21802,8 @@ msgstr "Názov mesta"
 msgid "Country code"
 msgstr "Kód krajiny"
 
-msgid "Optional values for specific countries"
-msgstr "Voliteľné hodnoty pre niektoré krajiny"
+msgid "House name"
+msgstr "Meno domu"
 
 msgid "Subdistrict"
 msgstr "Podokres (subdistrict)"
@@ -22398,6 +22474,13 @@ msgstr "VoGIS: DGM (Terénny model)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Povrchový model)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Mapa de Setores Urbanos"
 
@@ -22447,13 +22530,13 @@ msgid "Estonia Ortho (Maaamet)"
 msgstr "Estonia Ortho (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Estónsko, tieňovanie svahov (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Estónsky kataster (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Estónsko, Lesníctvo (Maaamet)"
 
 msgid "Bordeaux - 2012"
 msgstr "Bordeaux - 2012"
@@ -22534,6 +22617,9 @@ msgstr "OpenStreetMap (Sorbian Language)"
 msgid "Hamburg (40 cm)"
 msgstr "Hamburg (40 cm)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Hamburg (DK5)"
 
@@ -22587,7 +22673,7 @@ msgid "NRW-Atlas: Topographische Karte 1:10000"
 msgstr "NRW-Atlas: Topografická mapa 1:10000"
 
 msgid "Metropole Ruhr: Luftbilder (10 cm)"
-msgstr ""
+msgstr "Metropola Ruhr: Letecké snímky (10 cm)"
 
 msgid "Drone Imagery (Haiti)"
 msgstr "Snímky automatických lietadiel (Haiti)"
@@ -22781,6 +22867,9 @@ msgstr "GRAFCAN Express - Kanárske ostrovy"
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr "Kanton Aargau 25cm (AGIS 2011)"
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr "Kanton Aargau 25cm (AGIS 2014)"
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr "Mesto Uster Ortofoto 2008 10cm"
 
@@ -22851,7 +22940,7 @@ msgid "OSM US TIGER 2012 Roads Overlay"
 msgstr "OSM US TIGER 2012 Cesty"
 
 msgid "New & Misaligned TIGER Roads (TIGER 2014)"
-msgstr ""
+msgstr "New & Misaligned TIGER Roads (TIGER 2014)"
 
 msgid "MassGIS L3 Parcels"
 msgstr "MassGIS L3 Parcely"
@@ -22899,232 +22988,232 @@ msgid "NLS - Bartholomew Half Inch, 1897-1907"
 msgstr "NLS - Bartholomew Half Inch, 1897-1907"
 
 msgid "OS Town Plans, Aberdeen 1866-1867 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Aberdeen 1866-1867 (NLS)"
 
 msgid "OS Town Plans, Airdrie 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Airdrie 1858 (NLS)"
 
 msgid "OS Town Plans, Alexandria 1859 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Alexandria 1859 (NLS)"
 
 msgid "OS Town Plans, Alloa 1861-1862 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Alloa 1861-1862 (NLS)"
 
 msgid "OS Town Plans, Annan 1859 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Annan 1859 (NLS)"
 
 msgid "OS Town Plans, Arbroath 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Arbroath 1858 (NLS)"
 
 msgid "OS Town Plans, Ayr 1855 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Ayr 1855 (NLS)"
 
 msgid "OS Town Plans, Berwick-upon-Tweed 1852 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Berwick-upon-Tweed 1852 (NLS)"
 
 msgid "OS Town Plans, Brechin 1862 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Brechin 1862 (NLS)"
 
 msgid "OS Town Plans, Burntisland 1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Burntisland 1894 (NLS)"
 
 msgid "OS Town Plans, Campbelton 1865 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Campbelton 1865 (NLS)"
 
 msgid "OS Town Plans, Coatbridge 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Coatbridge 1858 (NLS)"
 
 msgid "OS Town Plans, Cupar 1854 (NLS)"
 msgstr "OS Plány miest, Cupar 1854 (NLS)"
 
 msgid "OS Town Plans, Cupar 1893-1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Cupar 1893-1894 (NLS)"
 
 msgid "OS Town Plans, Dalkeith 1852 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dalkeith 1852 (NLS)"
 
 msgid "OS Town Plans, Dalkeith 1893 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dalkeith 1893 (NLS)"
 
 msgid "OS Town Plans, Dumbarton 1859 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dumbarton 1859 (NLS)"
 
 msgid "OS Town Plans, Dumfries 1850 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dumfries 1850 (NLS)"
 
 msgid "OS Town Plans, Dumfries 1893 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dumfries 1893 (NLS)"
 
 msgid "OS Town Plans, Dundee 1857-1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dundee 1857-1858 (NLS)"
 
 msgid "OS Town Plans, Dundee 1870-1872 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dundee 1870-1872 (NLS)"
 
 msgid "OS Town Plans, Dunfermline 1854 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dunfermline 1854 (NLS)"
 
 msgid "OS Town Plans, Dunfermline 1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Dunfermline 1894 (NLS)"
 
 msgid "OS Town Plans, Edinburgh 1849-1851 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Edinburgh 1849-1851 (NLS)"
 
 msgid "OS Town Plans, Edinburgh 1876-1877 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Edinburgh 1876-1877 (NLS)"
 
 msgid "OS Town Plans, Edinburgh 1893-1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Edinburgh 1893-1894 (NLS)"
 
 msgid "OS Town Plans, Elgin 1868 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Elgin 1868 (NLS)"
 
 msgid "OS Town Plans, Falkirk 1858-1859 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Falkirk 1858-1859 (NLS)"
 
 msgid "OS Town Plans, Forfar 1860-1861 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Forfar 1860-1861 (NLS)"
 
 msgid "OS Town Plans, Forres 1868 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Forres 1868 (NLS)"
 
 msgid "OS Town Plans, Galashiels 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Galashiels 1858 (NLS)"
 
 msgid "OS Town Plans, Girvan 1857 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Girvan 1857 (NLS)"
 
 msgid "OS Town Plans, Glasgow 1857-1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Glasgow 1857-1858 (NLS)"
 
 msgid "OS Town Plans, Glasgow 1892-1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Glasgow 1892-1894 (NLS)"
 
 msgid "OS Town Plans, Greenock 1857 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Greenock 1857 (NLS)"
 
 msgid "OS Town Plans, Haddington 1853 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Haddington 1853 (NLS)"
 
 msgid "OS Town Plans, Haddington 1893 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Haddington 1893 (NLS)"
 
 msgid "OS Town Plans, Hamilton 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Hamilton 1858 (NLS)"
 
 msgid "OS Town Plans, Hawick 1857-1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Hawick 1857-1858 (NLS)"
 
 msgid "OS Town Plans, Inverness 1867-1868 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Inverness 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Irvine 1859 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Irvine 1859 (NLS)"
 
 msgid "OS Town Plans, Jedburgh 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Jedburgh 1858 (NLS)"
 
 msgid "OS Town Plans, Kelso 1857 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kelso 1857 (NLS)"
 
 msgid "OS Town Plans, Kilmarnock 1857-1859 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kilmarnock 1857-1859 (NLS)"
 
 msgid "OS Town Plans, Kirkcaldy 1855 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kirkcaldy 1855 (NLS)"
 
 msgid "OS Town Plans, Kirkcaldy 1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kirkcaldy 1894 (NLS)"
 
 msgid "OS Town Plans, Kirkcudbright 1850 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kirkcudbright 1850 (NLS)"
 
 msgid "OS Town Plans, Kirkcudbright 1893 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kirkcudbright 1893 (NLS)"
 
 msgid "OS Town Plans, Kirkintilloch 1859 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kirkintilloch 1859 (NLS)"
 
 msgid "OS Town Plans, Kirriemuir 1861 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Kirriemuir 1861 (NLS)"
 
 msgid "OS Town Plans, Lanark 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Lanark 1858 (NLS)"
 
 msgid "OS Town Plans, Linlithgow 1856 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Linlithgow 1856 (NLS)"
 
 msgid "OS Town Plans, Mayole 1856-1857 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Mayole 1856-1857 (NLS)"
 
 msgid "OS Town Plans, Montrose 1861-1862 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Montrose 1861-1862 (NLS)"
 
 msgid "OS Town Plans, Musselburgh 1853 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Musselburgh 1853 (NLS)"
 
 msgid "OS Town Plans, Musselburgh 1893 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Musselburgh 1893 (NLS)"
 
 msgid "OS Town Plans, Nairn 1867-1868 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Nairn 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Oban 1867-1868 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Oban 1867-1868 (NLS)"
 
 msgid "OS Town Plans, Peebles 1856 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Peebles 1856 (NLS)"
 
 msgid "OS Town Plans, Perth 1860 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Perth 1860 (NLS)"
 
 msgid "OS Town Plans, Peterhead 1868 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Peterhead 1868 (NLS)"
 
 msgid "OS Town Plans, Port Glasgow 1856-1857 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Port Glasgow 1856-1857 (NLS)"
 
 msgid "OS Town Plans, Portobello 1893-1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Portobello 1893-1894 (NLS)"
 
 msgid "OS Town Plans, Rothesay 1862-1863 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Rothesay 1862-1863 (NLS)"
 
 msgid "OS Town Plans, Selkirk 1865 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Selkirk 1865 (NLS)"
 
 msgid "OS Town Plans, St Andrews 1854 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, St Andrews 1854 (NLS)"
 
 msgid "OS Town Plans, St Andrews 1893 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, St Andrews 1893 (NLS)"
 
 msgid "OS Town Plans, Stirling 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Stirling 1858 (NLS)"
 
 msgid "OS Town Plans, Stonehaven 1864 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Stonehaven 1864 (NLS)"
 
 msgid "OS Town Plans, Stranraer 1847 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Stranraer 1847 (NLS)"
 
 msgid "OS Town Plans, Stranraer 1863-1877 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Stranraer 1863-1877 (NLS)"
 
 msgid "OS Town Plans, Stranraer 1893 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Stranraer 1893 (NLS)"
 
 msgid "OS Town Plans, Strathaven 1858 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Strathaven 1858 (NLS)"
 
 msgid "OS Town Plans, Wick 1872 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Wick 1872 (NLS)"
 
 msgid "OS Town Plans, Wigtown 1848 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Wigtown 1848 (NLS)"
 
 msgid "OS Town Plans, Wigtown 1894 (NLS)"
-msgstr ""
+msgstr "OS Plány miest, Wigtown 1894 (NLS)"
 
 msgid "Decreasing house numbers in addresses interpolation"
 msgstr "Klesajúce čísla domov v interpolácii adries"
@@ -23138,6 +23227,9 @@ msgstr "{0} bez {1} alebo {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} bez {1}, {2} alebo {3}"
 
+msgid "{0} together with {1}"
+msgstr "{0} spolu s {1}"
+
 msgid "{0} on suspicious object"
 msgstr "{0} na podozrivom objekte"
 
@@ -23156,6 +23248,12 @@ msgstr "šport bez fyzického objektu"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} by malo byť na bode kde sa pretínajú {1} a {2}"
 
+msgid "alternative name without {0}"
+msgstr "alternatívny názov bez {0}"
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr "nekompletné použitie {0} na ceste bez {1}"
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} je zastaralé"
 
@@ -23198,6 +23296,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "{0} by malo byť nahradené {1}"
 
+msgid "{0} = {1}; remove {0}"
+msgstr "{0} = {1}; odstráňte {0}"
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23206,10 +23307,10 @@ msgstr ""
 "alebo \"po oboch stranách\"."
 
 msgid "{0} on a node. Should be used on a way."
-msgstr ""
+msgstr "{0} na bode. Malo by byť použité na ceste."
 
 msgid "{0} on a node. Should be drawn as an area."
-msgstr ""
+msgstr "{0} na bode. Malo by byť zakreslené ako oblasť."
 
 msgid "{0}=* on a node. Should be used in a relation"
 msgstr "{0}=* na bode. Malo by byť použité v relácii"
@@ -23238,6 +23339,9 @@ msgstr "Prekrývajúce sa rovnaké prírodné oblasti"
 msgid "Overlapping Identical Landuses"
 msgstr "Prekrývajúce sa rovnaké využitia oblasti"
 
+msgid "{0} must be connected to a way"
+msgstr "{0} musí byť pripojené k ceste"
+
 msgid "abbreviated street name"
 msgstr "skrátený názov ulice"
 
@@ -23259,9 +23363,19 @@ msgstr "dočasný typ cesty"
 msgid "street name contains ss"
 msgstr "názov ulice obsahuje ss (Nemecko)"
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+"Hodnota \"{0}\" by mala byť \"{1}\" alebo \"{2}\". Pre chodníky použite "
+"\"{3}\"."
+
 msgid "{0} with multiple values"
 msgstr "{0} s viacerými hodnotami"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr "prázdna hodnota v bodkočiarkou oddelenom zozname \"{0}\""
+
 msgid "numerical key"
 msgstr "číselný kľúč"
 
@@ -23301,6 +23415,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr "{0} musí byť numerická hodnota"
 
+msgid "{0} must be a positive integer number"
+msgstr "{0} musí byť kladné celé číslo"
+
 msgid "relation without type"
 msgstr "relácia bez \"type\""
 
@@ -24523,6 +24640,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Názov ulice:"
 
@@ -27638,7 +27761,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -28300,6 +28425,9 @@ msgstr "Rekonštrukcia polygónov sa dá urobiť len z vonkajších ciest"
 msgid "Reconstruct polygons from relation {0}"
 msgstr "Rekonštruovať polygóny z relácie {0}"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "Otvoriť wiki stránku pre relácie"
 
@@ -28342,6 +28470,12 @@ msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 "Nájdená cesta bez role \"inner\" (vnútorná) alebo \"outer\" (vonkajšia)"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "Vrátiť celý zmenový súbor"
 
@@ -28843,8 +28977,8 @@ msgstr "pridať do existujúcej pridruženej relácie"
 msgid "create an associatedStreet relation"
 msgstr "vytvoriť pridruženú reláciu"
 
-msgid "delete outline way"
-msgstr "vymazať obrysovú cestu"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "Názov ulice: "
diff --git a/i18n/po/sl.po b/i18n/po/sl.po
index 191665c..02b8230 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-03-30 13:06+0000\n"
 "Last-Translator: Dirk Stöcker <launchpad at dstoecker.de>\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: 2014-12-10 05:11+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:24+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: sl\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3748,6 +3748,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3954,19 +3957,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4508,10 +4512,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4766,6 +4795,21 @@ msgstr "Plasti ni na seznamu."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Uporabniško ime"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6106,6 +6150,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Tip objekta:"
 
@@ -7092,9 +7142,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7880,9 +7927,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Uporabniško ime"
-
 msgid "Password"
 msgstr "Geslo"
 
@@ -8570,6 +8614,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9016,6 +9063,9 @@ msgstr "Odstrani fotografijo iz plasti"
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12410,6 +12460,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Priprava podatkov OSM..."
 
@@ -12592,7 +12645,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12604,7 +12657,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13568,9 +13621,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14806,6 +14856,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Kovanci"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15628,6 +15682,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Stop znak"
 
@@ -15685,6 +15742,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17129,6 +17198,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17734,6 +17806,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19604,9 +19682,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19990,9 +20065,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr "Ime ceste"
 
@@ -20005,7 +20077,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20677,6 +20749,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20811,6 +20890,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21056,6 +21138,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21413,6 +21498,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21431,6 +21519,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21467,6 +21561,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21505,6 +21602,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21526,9 +21626,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21563,6 +21671,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22757,6 +22868,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25776,7 +25893,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26437,6 +26556,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26476,6 +26598,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26966,7 +27094,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/sq.po b/i18n/po/sq.po
index 2a2a2c6..d3094f1 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 04:32+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 04:32+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/sr.po b/i18n/po/sr.po
index 806cc91..0e0619b 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2012-07-13 07:57+0000\n"
 "Last-Translator: Никола Смоленски <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: 2014-12-10 05:09+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:20+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: sr\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3725,6 +3725,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3931,19 +3934,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4479,10 +4483,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4737,6 +4766,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6077,6 +6121,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7059,9 +7109,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7844,9 +7891,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8526,6 +8570,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8972,6 +9019,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12352,6 +12402,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12532,7 +12585,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12544,7 +12597,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13504,9 +13557,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14742,6 +14792,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15564,6 +15618,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15621,6 +15678,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17065,6 +17134,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17670,6 +17742,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19540,9 +19618,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19926,9 +20001,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19941,7 +20013,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20613,6 +20685,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20747,6 +20826,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20992,6 +21074,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21349,6 +21434,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21367,6 +21455,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21403,6 +21497,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21441,6 +21538,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21462,9 +21562,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21499,6 +21607,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22693,6 +22804,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25710,7 +25827,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26371,6 +26490,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26410,6 +26532,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26900,7 +27028,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/sv.po b/i18n/po/sv.po
index a6a7136..7455fee 100644
--- a/i18n/po/sv.po
+++ b/i18n/po/sv.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-11-26 22:19+0000\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-12 03:38+0000\n"
 "Last-Translator: Niklas Henriksson <fringillus92 at gmail.com>\n"
 "Language-Team: Swedish <sv 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: 2014-12-10 05:13+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:26+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: sv\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -1051,6 +1051,8 @@ msgid ""
 "Orthogonalize Shape / Undo<br>Please select nodes that were moved by the "
 "previous Orthogonalize Shape action!"
 msgstr ""
+"Ortogonalisera Formen / Ångra<br>Var god välj nodet som flyttades genom den "
+"senaste ortgonaliseringsåtgården!"
 
 msgid ""
 "<html>You are using the EPSG:4326 projection which might lead<br>to "
@@ -1192,7 +1194,7 @@ msgid "Report bug"
 msgstr "Rapportera fel"
 
 msgid "Report a ticket to JOSM bugtracker"
-msgstr ""
+msgstr "Rapportera ett fel till JOSM"
 
 msgid "Restart"
 msgstr "Starta om"
@@ -1498,8 +1500,8 @@ msgstr "Frigjord nod"
 
 msgid "Dupe into {0} node"
 msgid_plural "Dupe into {0} nodes"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Lura till {0} nod"
+msgstr[1] "Lura till {0} noder"
 
 msgid "Dupe {0} node into {1} nodes"
 msgid_plural "Dupe {0} nodes into {1} nodes"
@@ -1638,13 +1640,13 @@ msgid "Nothing to upload. Get some data first."
 msgstr "Det finns inte någonting att skicka in. Skaffa lite data först."
 
 msgid "Upload note changes to server"
-msgstr ""
+msgstr "Ladda upp ändring till anteckning till servern"
 
 msgid "Upload notes"
-msgstr ""
+msgstr "Ladda upp anteckning"
 
 msgid "Uploading notes to server"
-msgstr ""
+msgstr "Laddar upp anteckning till servern"
 
 msgid "Upload selection"
 msgstr "Ladda upp val"
@@ -1801,7 +1803,7 @@ msgid "Markers from {0}"
 msgstr "Markörer från {0}"
 
 msgid "Downloading Notes"
-msgstr ""
+msgstr "Laddar ner anteckningar"
 
 msgid "Download Compressed OSM Change"
 msgstr "Ladda ner komprimerad OSM-förändring"
@@ -1925,25 +1927,25 @@ msgid "Error during download"
 msgstr "Fel vid hämtning"
 
 msgid "Add a new Note"
-msgstr ""
+msgstr "Lägg till ny anteckning"
 
 msgid "Add note mode"
-msgstr ""
+msgstr "Läge för att lägga till anteckningar"
 
 msgid "Click the location where you wish to create a new note"
-msgstr ""
+msgstr "Klicka på platsen för den nya anteckningen"
 
 msgid "Create new note"
-msgstr ""
+msgstr "Skapa en ny anteckning"
 
 msgid "Create note"
-msgstr ""
+msgstr "Skapa anteckning"
 
 msgid "Enter a detailed comment to create a note"
-msgstr ""
+msgstr "Ange en detaljerad anteckning för att skapa en ny anteckning"
 
 msgid "You must enter a comment to create a new note"
-msgstr ""
+msgstr "Du måste skriva en kommentar för att skapa en anteckning"
 
 msgid "Delete Mode"
 msgstr "Borttagningsläge"
@@ -2054,10 +2056,10 @@ msgid "Switch angle snapping mode while drawing"
 msgstr "Ändra vinkelfästningsläge medan du ritar"
 
 msgid "Dual alignment"
-msgstr ""
+msgstr "Parallel linjering"
 
 msgid "Switch dual alignment mode while extruding"
-msgstr ""
+msgstr "Parallel linjering med fördrivning"
 
 msgid "Extrude"
 msgstr "Dra ut"
@@ -2066,7 +2068,7 @@ msgid "Create areas"
 msgstr "Skapa ytor"
 
 msgid "Extrude Dual alignment"
-msgstr ""
+msgstr "Fördriv parellel linjering"
 
 msgid ""
 "Drag a way segment to make a rectangle. Ctrl-drag to move a segment along "
@@ -2078,7 +2080,7 @@ msgstr ""
 "dubbelklicka för att lägga till en nod."
 
 msgid "Dual alignment active."
-msgstr ""
+msgstr "Paralell linjering aktiv"
 
 msgid "Segment collapsed due to its direction reversing."
 msgstr ""
@@ -2088,7 +2090,7 @@ msgstr "Flytta ett segment längs dess normal och släpp sedan musknappen."
 
 msgid ""
 "Move the node along one of the segments, then release the mouse button."
-msgstr ""
+msgstr "Flytta noden längs en av segmenten, släpp sedan musknappen."
 
 msgid "Draw a rectangle of the desired size, then release the mouse button."
 msgstr "Rita en rektangel av önskad storlek, och släpp sedan musknappen."
@@ -2692,7 +2694,7 @@ msgid "objects with given changeset ID"
 msgstr "objekt med givet ändringsuppsättning-ID"
 
 msgid "objects with last modification timestamp within range"
-msgstr ""
+msgstr "objekt med senaste ändring inom"
 
 msgid "properties"
 msgstr "egenskaper"
@@ -2901,10 +2903,10 @@ msgid "Uploading modified notes"
 msgstr ""
 
 msgid "Note {0} failed: {1}"
-msgstr ""
+msgstr "Anteckingen {0} misslyckades: {1}"
 
 msgid "Notes failed to upload"
-msgstr ""
+msgstr "Anteckningar kunde inte laddas upp"
 
 msgid ""
 "The following are results of automatic validation. Try fixing these, but be "
@@ -3987,6 +3989,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4196,19 +4201,20 @@ msgstr "Relationstypen är okänd"
 msgid "Relation is empty"
 msgstr "Relationen är tom"
 
-msgid "<empty>"
-msgstr "<tom>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "Rollen {0} är okänd"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "Tom roll funnen"
+msgid "<empty>"
+msgstr "<tom>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4763,11 +4769,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "Val tillhandahållna som Java-systeminställningar"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/Sökväg/till/JOSM/mappen/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "Ändra mappen för alla användarinställningar"
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5028,6 +5059,21 @@ msgstr "lagret finns inte i listan."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "Användarnamn"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "Klicka för att avbryta den pågående åtgärden"
 
@@ -6385,6 +6431,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "Sortera"
+
 msgid "Object type:"
 msgstr "Objekttyp"
 
@@ -7383,9 +7435,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr "Sortera relationsmedlemmarna"
 
-msgid "Sort"
-msgstr "Sortera"
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -8206,9 +8255,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "Användarnamn"
-
 msgid "Password"
 msgstr "Lösenord"
 
@@ -8916,6 +8962,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Spara Lager"
 
+msgid "Note"
+msgstr "Anteckning"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9378,6 +9427,9 @@ msgstr "Ta bort foto från lagret"
 msgid "Delete File from disk"
 msgstr "Radera fil från disk"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Nästa"
 
@@ -12847,6 +12899,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "Förbereder OSM-data..."
 
@@ -13032,7 +13087,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -13044,7 +13099,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -14096,9 +14151,6 @@ msgstr ""
 "<html><p> Tyvärr, det är omöjligt att klistra in taggar från bufferten. Den "
 "innehåller inget JOSM-objekt eller lämplig text. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Ogiltig bz2-fil."
-
 msgid "ms"
 msgstr ""
 
@@ -15350,6 +15402,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Mynt"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektroniska plånböcker och betalkort"
 
@@ -16172,6 +16228,9 @@ msgstr "Korsa cyklande"
 msgid "Cross on horseback"
 msgstr "Korsa ridande"
 
+msgid "Optional values for specific countries"
+msgstr "Valfria värden för specifika länder"
+
 msgid "Stop"
 msgstr "Stopp"
 
@@ -16229,6 +16288,18 @@ msgstr "Andra namn"
 msgid "Speed Camera"
 msgstr "Hastighetskamera"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr "Hiss"
 
@@ -17675,6 +17746,9 @@ msgstr "Picknickplats"
 msgid "Fireplace"
 msgstr "Eldstad"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "Allmän grill"
 
@@ -18280,6 +18354,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "Idrott"
 
@@ -20150,9 +20230,6 @@ msgstr "leksaker"
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr "Anteckning"
-
 msgid "Geography"
 msgstr "Geografi"
 
@@ -20542,9 +20619,6 @@ msgstr "Vanlig namnförkortning"
 msgid "House number"
 msgstr "Husnummer"
 
-msgid "House name"
-msgstr "Husnamn"
-
 msgid "Street name"
 msgstr "Gatunamn"
 
@@ -20557,8 +20631,8 @@ msgstr "Stadsnamn"
 msgid "Country code"
 msgstr "Landskod"
 
-msgid "Optional values for specific countries"
-msgstr "Valfria värden för specifika länder"
+msgid "House name"
+msgstr "Husnamn"
 
 msgid "Subdistrict"
 msgstr ""
@@ -21229,6 +21303,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -21363,6 +21444,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21608,6 +21692,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21965,6 +22052,9 @@ msgstr "{0} utan {1} eller {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} utan {1}, {2} eller {3}"
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21983,6 +22073,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -22019,6 +22115,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -22057,6 +22156,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "förkortat gatunamn"
 
@@ -22078,9 +22180,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -22115,6 +22225,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr "{0} måste vara ett numeriskt värde"
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -23309,6 +23422,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "Gatunamn:"
 
@@ -26362,7 +26481,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -27023,6 +27144,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -27062,6 +27186,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27555,7 +27685,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ta.po b/i18n/po/ta.po
index cb0a408..c54db84 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2012-10-03 22:36+0000\n"
 "Last-Translator: நவீன் குமார்(கெம்ளின்) <naveenmtp 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: 2014-12-10 05:13+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:27+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "X-Poedit-Country: INDIA\n"
 "Language: ta\n"
 "X-Poedit-Language: Tamil\n"
@@ -3758,6 +3758,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3964,19 +3967,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4512,10 +4516,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4770,6 +4799,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6110,6 +6154,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7093,9 +7143,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7877,9 +7924,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8559,6 +8603,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "அடுக்கைக் காக்க்"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9007,6 +9054,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12387,6 +12437,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12567,7 +12620,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12579,7 +12632,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13539,9 +13592,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14777,6 +14827,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15599,6 +15653,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15656,6 +15713,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17100,6 +17169,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17705,6 +17777,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19575,9 +19653,6 @@ msgstr "பொம்மைகள்"
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19961,9 +20036,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19976,7 +20048,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20648,6 +20720,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20782,6 +20861,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21027,6 +21109,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21384,6 +21469,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21402,6 +21490,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21438,6 +21532,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21476,6 +21573,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21497,9 +21597,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21534,6 +21642,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22728,6 +22839,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25751,7 +25868,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26412,6 +26531,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26451,6 +26573,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26941,7 +27069,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/te.po b/i18n/po/te.po
index 56db770..c1e3d19 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:14+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:28+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: te\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/th.po b/i18n/po/th.po
index 018d3d2..b378410 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:14+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:28+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: th\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/tr.po b/i18n/po/tr.po
index 0f028cf..c8b82ce 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2014-05-16 05:31+0000\n"
 "Last-Translator: katpatuka <email at katpatuka.org>\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: 2014-12-10 05:15+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:29+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3786,6 +3786,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3993,19 +3996,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4550,10 +4554,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4808,6 +4837,21 @@ msgstr "tabaka listede yok."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "KullanıcıAdı"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6146,6 +6190,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Nesne tipi:"
 
@@ -7128,9 +7178,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7914,9 +7961,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr "KullanıcıAdı"
-
 msgid "Password"
 msgstr "şifre"
 
@@ -8596,6 +8640,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Katmanı Kaydet"
 
+msgid "Note"
+msgstr "Not"
+
 msgid "Notes layer"
 msgstr ""
 
@@ -9052,6 +9099,9 @@ msgstr "Fotoğrafı tabakadan kaldır"
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "Sonraki"
 
@@ -12455,6 +12505,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12637,7 +12690,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12649,7 +12702,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13612,9 +13665,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14854,6 +14904,10 @@ msgstr ""
 msgid "Coins"
 msgstr "Madeni Para"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "Elektronik cüzdan ve Para Değişim Kartları"
 
@@ -15676,6 +15730,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "Dur"
 
@@ -15733,6 +15790,18 @@ msgstr "ikinci isim"
 msgid "Speed Camera"
 msgstr "hız kamerası"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17177,6 +17246,9 @@ msgstr "Piknik Alanı"
 msgid "Fireplace"
 msgstr "Mangal Alanı"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17782,6 +17854,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19652,9 +19730,6 @@ msgstr "oyuncuklar"
 msgid "vouchers"
 msgstr "bilet"
 
-msgid "Note"
-msgstr "Not"
-
 msgid "Geography"
 msgstr ""
 
@@ -20038,9 +20113,6 @@ msgstr ""
 msgid "House number"
 msgstr "Ev no:"
 
-msgid "House name"
-msgstr "Ev adı"
-
 msgid "Street name"
 msgstr "Sokak adı"
 
@@ -20053,8 +20125,8 @@ msgstr "Şehir adı"
 msgid "Country code"
 msgstr "Ülke kodu"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "Ev adı"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20725,6 +20797,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20859,6 +20938,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21104,6 +21186,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21461,6 +21546,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21479,6 +21567,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21515,6 +21609,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21553,6 +21650,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21574,9 +21674,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21611,6 +21719,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22805,6 +22916,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25836,7 +25953,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26497,6 +26616,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26536,6 +26658,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -27026,7 +27154,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/ug.po b/i18n/po/ug.po
index de205fd..7e2cf9d 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:16+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:30+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: \n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/uk.po b/i18n/po/uk.po
index 1cf5262..775f591 100644
--- a/i18n/po/uk.po
+++ b/i18n/po/uk.po
@@ -7,17 +7,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-08 20:55+0000\n"
-"Last-Translator: andygol <Unknown>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-28 17:18+0000\n"
+"Last-Translator: ~Jhellico <Unknown>\n"
 "Language-Team: Ukrainian <uk 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=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: 2014-12-10 05:16+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:31+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: uk\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -187,25 +187,25 @@ msgid_plural ""
 "screen with browser windows<br>and take some time to finish."
 msgstr[0] ""
 "Ви намагаєтесь відкрити {0} вікно оглядача.<br>Це може призвести як до "
-"захаращення екрану вікнами оглядача,<br>так і зайняти певний час для того "
-"щоб всі їх відкриті."
+"захаращення екрану вікнами оглядача,<br>так і зайняти певний час для того, "
+"щоб всі їх відкрити."
 msgstr[1] ""
 "Ви намагаєтесь відкрити {0} вікна оглядача.<br>Це може призвести як до "
-"захаращення екрану вікнами оглядача,<br>так і зайняти певний час для того "
-"щоб всі їх відкриті."
+"захаращення екрану вікнами оглядача,<br>так і зайняти певний час для того, "
+"щоб всі їх відкрити."
 msgstr[2] ""
 "Ви намагаєтесь відкрити {0} вікон оглядача.<br>Це може призвести як до "
-"захаращення екрану вікнами оглядача,<br>так і зайняти певний час для того "
-"щоб всі їх відкриті."
+"захаращення екрану вікнами оглядача,<br>так і зайняти певний час для того, "
+"щоб всі їх відкрити."
 
 msgid "Continue"
 msgstr "Далі"
 
 msgid "Click to continue and to open {0} browser"
 msgid_plural "Click to continue and to open {0} browsers"
-msgstr[0] "Натисніть щоб продовжити та відкрити {0} вікно оглядача"
-msgstr[1] "Натисніть щоб продовжити та відкрити {0} вікна оглядача"
-msgstr[2] "Натисніть щоб продовжити та відкрити {0} вікон оглядача"
+msgstr[0] "Натисніть, щоб продовжити та відкрити {0} вікно оглядача"
+msgstr[1] "Натисніть, щоб продовжити та відкрити {0} вікна оглядача"
+msgstr[2] "Натисніть, щоб продовжити та відкрити {0} вікон оглядача"
 
 msgid "Cancel"
 msgstr "Скасувати"
@@ -395,14 +395,14 @@ msgid ""
 "The ways can not be combined in their current directions.  Do you want to "
 "reverse some of them?"
 msgstr ""
-"Лінії з їх поточними напрямками не можливо з’єднати. Чи бажаєте ви змінити "
+"Лінії з їх поточними напрямками неможливо з’єднати. Чи бажаєте ви змінити "
 "напрямок однієї з них на протилежний?"
 
 msgid ""
 "Could not combine ways<br>(They could not be merged into a single string of "
 "nodes)"
 msgstr ""
-"Лінії не можливо об’єднати<br>(Їх не можна перетворити у єдину послідовність "
+"Лінії неможливо об’єднати<br>(Їх не можна перетворити у єдину послідовність "
 "точок)"
 
 msgid "Combine {0} way"
@@ -448,7 +448,7 @@ msgid "Update multipolygon"
 msgstr "Оновити мультиполігон"
 
 msgid "Create multipolygon"
-msgstr "Створити мультіполігон"
+msgstr "Створити мультиполігон"
 
 msgid "No data loaded."
 msgstr "Не завантажено дані."
@@ -688,7 +688,7 @@ msgid ""
 "verify no errors have been introduced."
 msgstr ""
 "Деякі з ліній входили до складу зв’язків, що були змінені.<br>Будь ласка, "
-"перевірте чи не з’явились помилки."
+"перевірте, чи не з’явились помилки."
 
 msgid "Fix tag conflicts"
 msgstr "Виправити конфлікти теґів"
@@ -698,7 +698,7 @@ msgstr "Розділити лінію на частки"
 
 msgid "Sorry. Cannot handle multipolygon relations with multiple outer ways."
 msgstr ""
-"На жаль. Не можу обробити зв’язок-мультиполігон у якого кілька зовнішніх "
+"На жаль. Не можу обробити зв’язок-мультиполігон, у якого кілька зовнішніх "
 "ліній."
 
 msgid ""
@@ -711,7 +711,7 @@ msgid ""
 "Sorry. Cannot handle way that is both inner and outer in multipolygon "
 "relations."
 msgstr ""
-"На жаль. Не можу обробити лінію яка є одночасно внутрішньою та зовнішньою у "
+"На жаль. Не можу обробити лінію, яка є одночасно внутрішньою та зовнішньою у "
 "зв’язках-мультиполігонах."
 
 msgid ""
@@ -792,7 +792,7 @@ msgid "Rectified Image..."
 msgstr "Ректифіковане зображення…"
 
 msgid "Download Rectified Images From Various Services"
-msgstr "Заватажити ректифіковане зображення з різноманітних сервісів"
+msgstr "Завантажити ректифіковане зображення з різноманітних сервісів"
 
 msgid "Imagery: {0}"
 msgstr "Фон: {0}"
@@ -816,8 +816,8 @@ msgid ""
 "Couldn''t match the entered link or id to the selected service. Please try "
 "again."
 msgstr ""
-"Неможливо зіставити введене посилання із вибраним  сервісом. Будь ласка, "
-"спробуйте знов."
+"Неможливо зіставити введене посилання або ідентифікатор із вибраним "
+"сервісом. Будь ласка, спробуйте знов."
 
 msgid "No valid WMS URL or id"
 msgstr "Відсутні вірні WMS URL або ідентифікатор"
@@ -841,13 +841,13 @@ msgid ""
 "want to continue?"
 msgstr ""
 "Ви намагаєтесь об’єднати дані між шарами ''{0}'' та ''{1}''.<br /><br />Ці "
-"шари мають різні правила, щодо надсилання даних і їх не треба "
-"об’єднувати.<br />Їх об’єднання призведе до застосування обмежувального "
-"правила (надсилання небажане) до шару ''{1}''.<br /><br /><b>Це не бажаний "
-"шлях об’єднання цих даних</b>.<br />Замість цього вам потрібно виконати "
-"злиття даних для кожного окремого об’єкта, використовуючи інструмент "
-"''<i>Об’єднати виділене</i>''.<br /><br />Ви дійсно бажаєте продовжити "
-"процес об’єднання даних?"
+"шари мають різні правила щодо надсилання даних і їх не треба об’єднувати.<br "
+"/>Їх об’єднання призведе до застосування обмежувального правила (надсилання "
+"небажане) до шару ''{1}''.<br /><br /><b>Це небажаний шлях об’єднання цих "
+"даних</b>.<br />Замість цього вам потрібно виконати злиття даних для кожного "
+"окремого об’єкта, використовуючи інструмент ''<i>Об’єднати "
+"виділене</i>''.<br /><br />Ви дійсно бажаєте продовжити процес об’єднання "
+"даних?"
 
 msgid "Ignore this hint and merge anyway"
 msgstr "Не зважати на попередження і продовжити"
@@ -874,8 +874,8 @@ msgstr "Натисніть, щоб скасувати об’єднання то
 msgid ""
 "Cannot merge nodes: Would have to delete way {0} which is still used by {1}"
 msgstr ""
-"Неможливо об’єднати точки: Можливо треба вилучити лінію {0}, яка пов’язана з "
-"{1}"
+"Неможливо об’єднати точки: Можливо, треба вилучити лінію {0}, яка пов’язана "
+"з {1}"
 
 msgid "Merge {0} node"
 msgid_plural "Merge {0} nodes"
@@ -899,7 +899,7 @@ msgid ""
 "one</b>.<br /><br />Are you sure you want to continue?"
 msgstr ""
 "Ви намагаєтесь об’єднати більше ніж 1 об’єкт між шарами ''{0}'' та "
-"''{1}''.<br /><br /><b>Це не бажаний шлях об’єднання цих даних</b>.<br "
+"''{1}''.<br /><br /><b>Це небажаний шлях об’єднання цих даних</b>.<br "
 "/>Замість цього вам потрібно виконати злиття даних для кожного "
 "<b>окремого</b> об’єкта.<br /><br />Ви дійсно бажаєте продовжити процес "
 "об’єднання даних?"
@@ -994,8 +994,7 @@ msgstr "не існує"
 
 msgid "<html>Cannot open directory ''{0}''.<br>Please select a file.</html>"
 msgstr ""
-"<html>Неможливо відкрити каталог ''{0}''.<br>Будь ласка, виберіть "
-"файл.</html>"
+"<html>Неможливо відкрити теку ''{0}''.<br>Будь ласка, виберіть файл.</html>"
 
 msgid "Open file"
 msgstr "Відкрити файл"
@@ -1083,7 +1082,7 @@ msgid ""
 "Orthogonalize Shape / Undo<br>Please select nodes that were moved by the "
 "previous Orthogonalize Shape action!"
 msgstr ""
-"Ортогоналізація форми / Відміна<br>Будь ласка, виділіть точки які були "
+"Ортогоналізація форми / Відміна<br>Будь ласка, виділіть точки, які були "
 "переміщені під час початкової ортогоналізації!"
 
 msgid ""
@@ -1093,7 +1092,7 @@ msgid ""
 msgstr ""
 "<html>Ви використовуєте проекцію EPSG:4326, що може призвести<br>до "
 "небажаних результатів при позиціонуванні прямокутних форм.<br>Змініть "
-"проекцію щоб позбутись цього попередження.<br>Чи бажаєте ви "
+"проекцію, щоб позбутись цього попередження.<br>Чи бажаєте ви "
 "продовжити?</html>"
 
 msgid "Selection must consist only of ways and nodes."
@@ -1134,7 +1133,7 @@ msgid ""
 "objects?"
 msgstr ""
 "Скопійовані дані містять неповні об’єкти. Під час вставки вони будуть "
-"знехтувані.Бажаєте продовжити вставку без неповних об’єктів?"
+"знехтувані. Бажаєте продовжити вставку без неповних об’єктів?"
 
 msgid "Paste Tags"
 msgstr "Вставити теґи"
@@ -1224,7 +1223,7 @@ msgid "Also rename the file"
 msgstr "Також змінити назву файлу"
 
 msgid "Could not rename file ''{0}''"
-msgstr "Не можливо перейменувати файл \"{0}\""
+msgstr "Неможливо перейменувати файл \"{0}\""
 
 msgid "Report bug"
 msgstr "Звіт про збій програми"
@@ -1313,7 +1312,7 @@ msgstr "Помилка вводу-виводу"
 
 msgid "<html>Could not load session file ''{0}''.<br>Error is:<br>{1}</html>"
 msgstr ""
-"<html>Не можливо завантажити  файл сеансу ''{0}''.<br>Помилка:<br>{1}</html>"
+"<html>Неможливо завантажити файл сеансу ''{0}''.<br>Помилка:<br>{1}</html>"
 
 msgid "Save Session As..."
 msgstr "Зберегти сеанс як…"
@@ -1332,7 +1331,7 @@ msgstr "Зберегти сеанс"
 
 msgid "<html>Could not save session file ''{0}''.<br>Error is:<br>{1}</html>"
 msgstr ""
-"<html>Не можливо зберегти файл сеансу ''{0}''.<br>Помилка:<br>{1}</html>"
+"<html>Неможливо зберегти файл сеансу ''{0}''.<br>Помилка:<br>{1}</html>"
 
 msgid "Save Session"
 msgstr "Зберегти сеанс"
@@ -1344,7 +1343,7 @@ msgid "Layers"
 msgstr "Шари"
 
 msgid "No exporter for this layer"
-msgstr "Для цього шару інструмент експорту  — відсутній"
+msgstr "Для цього шару інструмент експорту відсутній"
 
 msgid "Show Status Report"
 msgstr "Показати звіт про стан"
@@ -1422,9 +1421,9 @@ msgstr "Виділені точки не є частиною однієї лін
 
 msgid "The selected node is not in the middle of any way."
 msgid_plural "The selected nodes are not in the middle of any way."
-msgstr[0] "Виділена точка не знаходиться в середині будь-якої лінії."
-msgstr[1] "Виділені точки не знаходиться в середині будь-якої лінії."
-msgstr[2] "Виділені точки не знаходиться в середині будь-якої лінії."
+msgstr[0] "Виділена точка не знаходиться всередині будь-якої лінії."
+msgstr[1] "Виділені точки не знаходяться всередині будь-якої лінії."
+msgstr[2] "Виділені точки не знаходяться всередині будь-якої лінії."
 
 msgid ""
 "There is more than one way using the node you selected. Please select the "
@@ -1449,7 +1448,7 @@ msgid ""
 "The way cannot be split at the selected nodes. (Hint: Select nodes in the "
 "middle of the way.)"
 msgstr ""
-"Лінію неможливо розділити у виділених точках. (Виділіть точки в середині "
+"Лінію неможливо розділити у виділених точках. (Виділіть точки всередині "
 "лінії)."
 
 msgid ""
@@ -1562,8 +1561,8 @@ msgid ""
 "downloaded.<br>This can cause problems because other objects (that you do "
 "not see) might use them.<br>Do you really want to unglue?"
 msgstr ""
-"Ви намагаєтесь роз’єднати точки по за межами завантаженої ділянки.<br>Це "
-"може викликати проблеми, тому що інші об’єкти (яких не видно) можуть їх "
+"Ви намагаєтесь роз’єднати точки поза межами завантаженої ділянки.<br>Це може "
+"викликати проблеми, тому що інші об’єкти (яких не видно) можуть їх "
 "використовувати.<br>Ви дійсно бажаєте роз’єднати?"
 
 msgid ""
@@ -1673,7 +1672,7 @@ msgstr ""
 "Ви намагаєтесь надіслати дані з шару ''{0}''.<br /><br />Надсилання даних "
 "цього шару <b>настійливо не рекомендується</b>. Якщо бажаєте продовжити,<br "
 "/>вам можливо доведеться відмінити ваші зміни, або зміни інших учасників.<br "
-"/><br />ВИ дійсно бажаєте продовжити?"
+"/><br />Ви дійсно бажаєте продовжити?"
 
 msgid "Ignore this hint and upload anyway"
 msgstr "Ігнорувати це попередження та надіслати у будь-якому разі"
@@ -1901,7 +1900,7 @@ msgid "({0}/{1}) Loading parents of node {2}"
 msgstr "({0}/{1}) Завантаження батьків точки {2}"
 
 msgid "({0}/{1}) Loading parents of way {2}"
-msgstr "({0}/{1}) Завантаження батьків лінії  {2}"
+msgstr "({0}/{1}) Завантаження батьків лінії {2}"
 
 msgid "({0}/{1}) Loading parents of relation {2}"
 msgstr "({0}/{1}) Завантаження батьків зв’язку {2}"
@@ -1994,7 +1993,7 @@ msgid "Create note"
 msgstr "Створити нотатку"
 
 msgid "Enter a detailed comment to create a note"
-msgstr "Додайте докладний окментар для стоврення нотатки"
+msgstr "Додайте докладний коментар для створення нотатки"
 
 msgid "You must enter a comment to create a new note"
 msgstr "Потрібно додати коментар для створення нотатки"
@@ -2080,7 +2079,7 @@ msgid "draw angle snap"
 msgstr "Креслити з прив’язкою до кута"
 
 msgid "draw angle snap highlight"
-msgstr "підсвічувати кута прив’язки"
+msgstr "підсвічувати кут прив’язки"
 
 msgid "Toggle snapping by {0}"
 msgstr "Переключити прив’язку до {0}"
@@ -2130,8 +2129,8 @@ msgid ""
 "node."
 msgstr ""
 "Потягніть відрізок лінії, щоб зробити прямокутник. Щоб витягнути відрізок "
-"вздовж його перпендикуляру натисніть Ctrl і потягніть. Для створення нового "
-"прямокутника тягніть затиснувши Alt, подвійне клацання додає нову точку."
+"вздовж його перпендикуляру, натисніть Ctrl і потягніть. Для створення нового "
+"прямокутника тягніть, затиснувши Alt, подвійне клацання додає нову точку."
 
 msgid "Dual alignment active."
 msgstr "Подвійне вирівнювання активне."
@@ -2187,7 +2186,7 @@ msgid ""
 "Click to delete the highlighted node. Release Alt to move existing nodes or "
 "hold Ctrl to add new nodes."
 msgstr ""
-"Клацніть щоб вилучити підсвічену точку. Відпустіть Alt для переміщення "
+"Клацніть, щоб вилучити підсвічену точку. Відпустіть Alt для переміщення "
 "існуючих точок або тримайте Ctrl для додавання нових точок."
 
 msgid ""
@@ -2207,7 +2206,7 @@ msgstr[1] "Додати нову точку до {0} ліній"
 msgstr[2] "Додати нову точку до {0} ліній"
 
 msgid "Cannot delete node that is referenced by multiple objects"
-msgstr "Неможливо вилучити точку пов’язану із багатьма об’єктами"
+msgstr "Неможливо вилучити точку, пов’язану з кількома об’єктами"
 
 msgid "Cannot delete node that has tags"
 msgstr "Неможливо вилучити точку, що має теґи"
@@ -2306,9 +2305,9 @@ msgid ""
 "Move objects by dragging; Shift to add to selection (Ctrl to toggle); Shift-"
 "Ctrl to rotate selected; Alt-Ctrl to scale selected; or change selection"
 msgstr ""
-"Пересувайте об’єкти перетягуючи їх; використовуйте Shift, щоб додати до "
-"об’єкт до виділених (Ctrl для виключення із обраного); Shift-Ctrl — дозволяє "
-"обертати об’єкти; Alt-Ctrl — для масштабуваня; або виділіть інше"
+"Пересувайте об’єкти, перетягуючи їх; використовуйте Shift, щоб додати об’єкт "
+"до виділених (Ctrl для виключення із обраного); Shift-Ctrl — дозволяє "
+"обертати об’єкти; Alt-Ctrl — для масштабування; або виділіть інше"
 
 msgid "Add and move a virtual new node to way"
 msgid_plural "Add and move a virtual new node to {0} ways"
@@ -2569,28 +2568,28 @@ msgid ""
 "<b>version:</b>... - objects with given version (0 objects without an "
 "assigned version)"
 msgstr ""
-"<b>version:</b>… - об’єкти зі вказаною версією(0 - об’єкти без версії)"
+"<b>version:</b>… - об’єкти зі вказаною версією (0 - об’єкти без версії)"
 
 msgid ""
 "<b>changeset:</b>... - objects with given changeset ID (0 objects without an "
 "assigned changeset)"
 msgstr ""
-"<b>changeset:</b>… - об’єкти із набору змін з ID (0 об’єкти, які ще не "
-"відправлені на сервер)"
+"<b>changeset:</b>… - об’єкти із набору змін з вказаним ID (0 - об’єкти, які "
+"ще не відправлені на сервер)"
 
 msgid ""
 "<b>nodes:</b>... - objects with given number of nodes (<b>nodes:</b>count, "
 "<b>nodes:</b>min-max, <b>nodes:</b>min- or <b>nodes:</b>-max)"
 msgstr ""
 "<b>nodes:</b>… - об’єкти з заданою кількістю точок (<b>nodes:</b>число, "
-"<b>nodes:</b>мін-макс, <b>nodes:</b>мин- або <b>nodes:</b>-макс)"
+"<b>nodes:</b>мін-макс, <b>nodes:</b>мін- або <b>nodes:</b>-макс)"
 
 msgid ""
 "<b>tags:</b>... - objects with given number of tags (<b>tags:</b>count, "
 "<b>tags:</b>min-max, <b>tags:</b>min- or <b>tags:</b>-max)"
 msgstr ""
-"<b>tags:</b>… - об’єкти із вказаною кількістю теґів  (<b>nodes:</b>число, "
-"<b>nodes:</b>мін-макс, <b>nodes:</b>мин- або <b>nodes:</b>-макс)"
+"<b>tags:</b>… - об’єкти із вказаною кількістю теґів (<b>nodes:</b>число, "
+"<b>nodes:</b>мін-макс, <b>nodes:</b>мін- або <b>nodes:</b>-макс)"
 
 msgid "<b>role:</b>... - objects with given role in a relation"
 msgstr "<b>role:</b>… - об’єкти із вказаною роллю в зв’язку"
@@ -2631,30 +2630,30 @@ msgstr "<b>closed</b> — усі замкнені лінії (точка не в
 msgid ""
 "<b>child <i>expr</i></b> - all children of objects matching the expression"
 msgstr ""
-"<b>child <i>вираз</i></b> — усі нащадки, об’єктів що відповідають виразу"
+"<b>child <i>вираз</i></b> — усі нащадки об’єктів, що відповідають виразу"
 
 msgid ""
 "<b>parent <i>expr</i></b> - all parents of objects matching the expression"
 msgstr ""
-"<b>parent <i>вираз</i></b> — усі батьки, об’єктів що відповідають виразу"
+"<b>parent <i>вираз</i></b> — усі батьки об’єктів, що відповідають виразу"
 
 msgid ""
 "<b>(all)indownloadedarea</b> - objects (and all its way nodes / relation "
 "members) in downloaded area"
 msgstr ""
-"<b>(all)indownloadedarea</b> - об’єкти (та всі точки точки ліній/члени "
-"зв’язків) у завантаженій ділянці"
+"<b>(all)indownloadedarea</b> - об’єкти (та всі точки ліній/члени зв’язків) у "
+"завантаженій ділянці"
 
 msgid ""
 "<b>(all)inview</b> - objects (and all its way nodes / relation members) in "
 "current view"
 msgstr ""
-"<b>(all)inview</b> - об’єкти (та всі точки точки ліній/члени зв’язків) у "
-"поточному виді"
+"<b>(all)inview</b> - об’єкти (та всі точки ліній/члени зв’язків) у поточному "
+"виді"
 
 msgid "Use <b>|</b> or <b>OR</b> to combine with logical or"
 msgstr ""
-"Використовуйте <b>|</b> або <b>OR</b> щоб об’єднати вираження логічним «або»"
+"Використовуйте <b>|</b> або <b>OR</b>, щоб об’єднати вирази логічним «або»"
 
 msgid "Use <b>\"</b> to quote operators (e.g. if key contains <b>:</b>)"
 msgstr ""
@@ -2665,7 +2664,7 @@ msgid ""
 "Within quoted strings the <b>\"</b> and <b>\\</b> characters need to be "
 "escaped by a preceding <b>\\</b> (e.g. <b>\\\"</b> and <b>\\\\</b>)."
 msgstr ""
-"В середині рядків в лапках, перед символами <b>\"</b> та <b>\\</b> треба "
+"Всередині рядків в лапках, перед символами <b>\"</b> та <b>\\</b> треба "
 "ставити додатковий зворотній слеш (ось так: <b>\\\"</b> и <b>\\\\</b>)."
 
 msgid "Use <b>(</b> and <b>)</b> to group expressions"
@@ -2705,10 +2704,10 @@ msgid "''value'' in any key"
 msgstr "''value'' у будь-якому ключі"
 
 msgid "matches if ''key'' exists"
-msgstr "збігається якщо ''key'' існує"
+msgstr "збігається, якщо ''key'' існує"
 
 msgid "matches if ''key'' is greater than ''value'' (analogously, less than)"
-msgstr "виконується, якщо  ''key'' більше ''value'' (аналогічно, якщо менге)"
+msgstr "виконується, якщо ''key'' більше ''value'' (аналогічно, якщо менше)"
 
 msgid "combinators"
 msgstr "комбінатори"
@@ -2731,7 +2730,7 @@ msgid ""
 "<b>\\\\</b>)."
 msgstr ""
 "для цитування операторів.<br>У рядках цитування <b>\"</b> та <b>\\</b> "
-"символи повинні бути екрановані  за допомогою <b>\\</b> (прикл. <b>\\\"</b> "
+"символи повинні бути екрановані за допомогою <b>\\</b> (прикл. <b>\\\"</b> "
 "та <b>\\\\</b>)."
 
 msgid "objects"
@@ -2762,7 +2761,7 @@ msgid "objects with given version"
 msgstr "об’єкти із вказаною версією"
 
 msgid "objects with given changeset ID"
-msgstr "об’єкти із набору змін з ID"
+msgstr "об’єкти із набору змін з вказаним ID"
 
 msgid "objects with last modification timestamp within range"
 msgstr "об’єкти із часом останньої модифікації із діапазону"
@@ -2771,7 +2770,7 @@ msgid "properties"
 msgstr "властивості"
 
 msgid "objects with at least 20 nodes"
-msgstr "об’єкти з що найменше 20-ма точками"
+msgstr "об’єкти з щонайменше 20-ма точками"
 
 msgid "objects having 5 to 10 tags"
 msgstr "об’єкти, що мають від 5 до 10 теґів"
@@ -2819,14 +2818,14 @@ msgid "objects in current view"
 msgstr "об’єкти у поточному виді"
 
 msgid "objects (and all its way nodes / relation members) in current view"
-msgstr "об’єкти (та всі їх  лінії, точки/члени зв’язків) у поточному виді"
+msgstr "об’єкти (та всі їх лінії, точки/члени зв’язків) у поточному виді"
 
 msgid "objects in downloaded area"
 msgstr "об’єкти у завантаженій ділянці"
 
 msgid "objects (and all its way nodes / relation members) in downloaded area"
 msgstr ""
-"об’єкти (та всі їх  лінії, точки/члени зв’язків) у завантаженій ділянці"
+"об’єкти (та всі їх лінії, точки/члени зв’язків) у завантаженій ділянці"
 
 msgid "No match found for ''{0}''"
 msgstr "Не знайдено збігів для ''{0}''"
@@ -2905,7 +2904,7 @@ msgid "Range of numbers expected"
 msgstr "Очікується діапазон чисел"
 
 msgid "Unexpected token. Expected {0}, found {1}"
-msgstr "епередбачений елемент. Очікувалось {0}, знайдено {1}"
+msgstr "Непередбачений елемент. Очікувалось {0}, знайдено {1}"
 
 msgid "Unexpected token: {0}"
 msgstr "Непередбачена конструкція: {0}"
@@ -2953,8 +2952,8 @@ msgid ""
 "cannot upload them. Please edit the relations and remove the cyclic "
 "dependency.</html>"
 msgstr ""
-"<html>{0} зв’язки створили циклічну залежність, так як вони посилаються друг "
-"на друга.<br>JOSM не може надіслати їх на сервер. Будь ласка, виправте "
+"<html>{0} зв’язки створили циклічну залежність, оскільки вони посилаються "
+"один на одного.<br>JOSM не може надіслати їх на сервер. Будь ласка, виправте "
 "зв’язки, вилучивши циклічні посилання.</html>"
 
 msgid "Relation ..."
@@ -3005,7 +3004,7 @@ msgid "Informational warnings, expect many false entries."
 msgstr "Інформаційні попередження, можливо багато помилкових записів."
 
 msgid "Suspicious data found. Upload anyway?"
-msgstr "Знайдено підозрілі дані, Все одно завантажувати?"
+msgstr "Знайдено підозрілі дані. Все одно завантажувати?"
 
 msgid "Continue upload"
 msgstr "Продовжити надсилання"
@@ -3150,7 +3149,7 @@ msgid ""
 "because you don''t see the real object.<br>Do you really want to delete?"
 msgstr ""
 "Ви збираєтеся вилучити неповні об’єкти.<br> Це може призвести до проблем, "
-"так як ви не бачите реального об’єкта.<br>Ви дійсно бажаєте вилучити?"
+"оскільки ви не бачите реального об’єкта.<br>Ви дійсно бажаєте вилучити?"
 
 msgid ""
 "You are about to delete {0} relation: {1}<br/>This step is rarely necessary "
@@ -3162,15 +3161,15 @@ msgid_plural ""
 "really want to delete?"
 msgstr[0] ""
 "Ви збираєтесь вилучити {0} зв’язок: {1}<br/>Потреба в цьому виникає дуже "
-"рідко, але скасувати вилучення після завантаження даних на сервер  може бути "
+"рідко, але скасувати вилучення після завантаження даних на сервер може бути "
 "не легко.<br/>Ви дійсно бажаєте вилучити зв’язок?"
 msgstr[1] ""
 "Ви збираєтесь вилучити {0} зв’язки: {1}<br/>Потреба в цьому виникає дуже "
-"рідко, але скасувати вилучення після завантаження даних на сервер  може бути "
+"рідко, але скасувати вилучення після завантаження даних на сервер може бути "
 "не легко.<br/>Ви дійсно бажаєте вилучити зв’язки?"
 msgstr[2] ""
 "Ви збираєтесь вилучити {0} зв’язків: {1}<br/>Потреба в цьому виникає дуже "
-"рідко, але скасувати вилучення після завантаження даних на сервер  може бути "
+"рідко, але скасувати вилучення після завантаження даних на сервер може бути "
 "не легко.<br/>Ви дійсно бажаєте вилучити зв’язки?"
 
 msgid "Delete relation?"
@@ -3223,7 +3222,7 @@ msgid ""
 "conflict cannot be added.</html>"
 msgstr ""
 "<html>Шар ''{0}'' вже містить конфлікт для об’єкта<br>''{1}''.<br>Цей "
-"конфлікт не можливо додати.</html>"
+"конфлікт неможливо додати.</html>"
 
 msgid "Double conflict"
 msgstr "Подвійний конфлікт"
@@ -3239,7 +3238,7 @@ msgstr "Додати конфлікт для ''{0}''"
 
 msgid ""
 "Cannot undo command ''{0}'' because layer ''{1}'' is not present any more"
-msgstr "Неможливо відмінити команду ''{0}'', так як відсутній шар ''{1}''"
+msgstr "Неможливо відмінити команду ''{0}'', оскільки відсутній шар ''{1}''"
 
 msgid "Resolve conflicts in coordinates in {0}"
 msgstr "Розв’язати конфлікт в позиції {0}"
@@ -3254,7 +3253,7 @@ msgid "Set the ''modified'' flag for node {0}"
 msgstr "Встановити прапор ''modified'' для точки {0}"
 
 msgid "Set the ''modified'' flag for way {0}"
-msgstr "Встановити прапор ''modified'' для линії {0}"
+msgstr "Встановити прапор ''modified'' для лінії {0}"
 
 msgid "Set the ''modified'' flag for relation {0}"
 msgstr "Встановити прапор ''modified'' для зв’язку {0}"
@@ -3276,9 +3275,9 @@ msgstr[2] "Розв’язати {0} конфліктів теґів у ліні
 
 msgid "Resolve {0} tag conflict in relation {1}"
 msgid_plural "Resolve {0} tag conflicts in relation {1}"
-msgstr[0] "Розв’язати {0} конфлікт теґів  зв’язку {1}"
-msgstr[1] "Розв’язати {0} конфлікти теґів  зв’язку {1}"
-msgstr[2] "Розв’язати {0} конфліктів теґів  зв’язку {1}"
+msgstr[0] "Розв’язати {0} конфлікт теґів у зв’язку {1}"
+msgstr[1] "Розв’язати {0} конфлікти теґів у зв’язку {1}"
+msgstr[2] "Розв’язати {0} конфліктів теґів у зв’язку {1}"
 
 msgid "Resolve version conflict for node {0}"
 msgstr "Розв’язати конфлікт версій для точки {0}"
@@ -3313,11 +3312,11 @@ msgstr[0] ""
 "теґу?</html>"
 msgstr[1] ""
 "<html>Ви збираєтесь змінити напрямок лінії ''{0}'',<br/> яка за смисловим "
-"значенням теґів має відповідний напрямок.<br/>{1}Ви дійсно бажаєте змінити "
+"значенням теґів має відповідний напрямок.<br/>{1} Ви дійсно бажаєте змінити "
 "напрямок лінії та також її напрямок, визначений смисловими значеннями?</html>"
 msgstr[2] ""
 "<html>Ви збираєтесь змінити напрямок лінії ''{0}'',<br/> яка за смисловим "
-"значенням теґів має відповідний напрямок.<br/>{1}Ви дійсно бажаєте змінити "
+"значенням теґів має відповідний напрямок.<br/>{1} Ви дійсно бажаєте змінити "
 "напрямок лінії та також її напрямок, визначений смисловими значеннями?</html>"
 
 msgid "Reverse directional way."
@@ -3358,7 +3357,7 @@ msgid "Do not apply changes"
 msgstr "Не застосовувати зміни"
 
 msgid "Please select which changes you want to apply."
-msgstr "Будь ласка, оберіть які зміни ви бажаєте застосувати."
+msgstr "Будь ласка, оберіть, які зміни ви бажаєте застосувати."
 
 msgid "Tags of "
 msgstr "Теґи "
@@ -3370,10 +3369,10 @@ msgid "Automatic tag correction"
 msgstr "Автоматичне виправлення теґів"
 
 msgid "Unable to create directory {0}, autosave will be disabled"
-msgstr "Не можливо створити теку {0}, автозбереження буде відключене"
+msgstr "Неможливо створити теку {0}, автозбереження буде відключене"
 
 msgid "Unable to create file {0}, other filename will be used"
-msgstr "Не можливо створити файл {0}, буде використане інше ім’я для файлу"
+msgstr "Неможливо створити файл {0}, буде використане інше ім’я для файлу"
 
 msgid "IOError while creating file, autosave will be skipped: {0}"
 msgstr ""
@@ -3381,7 +3380,7 @@ msgstr ""
 "{0}"
 
 msgid "Unable to delete old backup file {0}"
-msgstr "Не можливо вилучити старий резервний файл {0}"
+msgstr "Неможливо вилучити старий резервний файл {0}"
 
 msgid "Your work has been saved automatically."
 msgstr "Вашу роботу було збережено автоматично"
@@ -3413,8 +3412,8 @@ msgid ""
 "function manually and retry importing."
 msgstr ""
 "<html>Файл налаштувань намагається додати налаштування у <b>{0}</b>,<br/> "
-"але його типове значення у поточний момент не відоме.<br/> Будь ласка, "
-"активуйте відповідну функцію вручну і повторіть спробу імпорту."
+"але його типове значення наразі не відоме.<br/> Будь ласка, активуйте "
+"відповідну функцію вручну і повторіть спробу імпорту."
 
 msgid "Failed to create missing cache directory: {0}"
 msgstr "Не вдалося створити відсутню теку для кешу: {0}"
@@ -3433,8 +3432,8 @@ msgid ""
 "<html>Failed to initialize preferences.<br>Preference directory ''{0}'' is "
 "not a directory.</html>"
 msgstr ""
-"<html>Збій ініціалізації налаштувань.<br>Каталог налаштувань ''{0}'' не є "
-"каталогом.</html>"
+"<html>Збій ініціалізації налаштувань.<br>Тека налаштувань ''{0}'' не є "
+"текою.</html>"
 
 msgid ""
 "Failed to initialize preferences. Failed to create missing preference "
@@ -3447,8 +3446,8 @@ msgid ""
 "<html>Failed to initialize preferences.<br>Failed to create missing "
 "preference directory: {0}</html>"
 msgstr ""
-"<html>Збій ініціалізації налаштувань<br>Не можливо створити відсутній "
-"каталог для налаштувань: {0}</html>"
+"<html>Збій ініціалізації налаштувань<br>Неможливо створити відсутню теку для "
+"налаштувань: {0}</html>"
 
 msgid "Missing preference file ''{0}''. Creating a default preference file."
 msgstr ""
@@ -3463,7 +3462,7 @@ msgid ""
 "<html>Failed to initialize preferences.<br>Failed to reset preference file "
 "to default: {0}</html>"
 msgstr ""
-"<html>Збій ініціалізації налаштувань<br>Не можливо замінити файл налаштувань "
+"<html>Збій ініціалізації налаштувань<br>Неможливо замінити файл налаштувань "
 "на файл з типовими налаштуваннями: {0}</html>"
 
 msgid ""
@@ -3494,7 +3493,7 @@ msgstr " (рядок {0}, ствопчик {1})"
 
 msgid "Preference setting {0} has been removed since it is no longer used."
 msgstr ""
-"Параметр налаштувань {0} був вилучений, так як він більше не "
+"Параметр налаштувань {0} був вилучений, оскільки він більше не "
 "використовується."
 
 msgid "Metric"
@@ -3522,7 +3521,7 @@ msgid "The revision file ''/REVISION'' is missing."
 msgstr "Відсутній файл ревізії ''/REVISION''."
 
 msgid "Already registered a conflict for primitive ''{0}''."
-msgstr "Конфлікт вже зареєстровано для елемента ''{0}''"
+msgstr "Конфлікт вже зареєстровано для елемента ''{0}''."
 
 msgid "Decimal Degrees"
 msgstr "Десяткові Градуси"
@@ -3619,7 +3618,7 @@ msgid "Test ''{0}'' completed in {1}"
 msgstr "Перевірку ''{0}'' завершено за {1}"
 
 msgid "Cannot add a way with only {0} nodes."
-msgstr "Неможливо додати лінію в якій тільки {0} точки(ок)."
+msgstr "Неможливо додати лінію, в якій тільки {0} точки(ок)."
 
 msgid "Each node must connect exactly 2 ways"
 msgstr "Кожна точка повинна з’єднувати дві лінії"
@@ -3815,7 +3814,7 @@ msgstr ""
 "або 7)"
 
 msgid "Unable to parse value of parameter ''towgs84'' (''{0}'')"
-msgstr "Неможливо обробити значення параметру ''towgs84'' (''{0}'')"
+msgstr "Неможливо обробити значення параметру «towgs84» (''{0}'')"
 
 msgid "Projection required (+proj=*)"
 msgstr "Потрібна проекція (+proj=*)"
@@ -3825,7 +3824,7 @@ msgstr "Невідомий ідентифікатор проекції: ''{0}''"
 
 msgid "Unexpected number of arguments for parameter ''+bounds'' (must be 4)"
 msgstr ""
-"Неочікувана кількість аргументів для параметру  ''+bounds'' (потрібно бути 4)"
+"Неочікувана кількість аргументів для параметру ''+bounds'' (має бути 4)"
 
 msgid "Unknown parameter ''{0}''"
 msgstr "Невідомий параметр ''{0}''"
@@ -3975,7 +3974,7 @@ msgid "This test checks that coastlines are correct."
 msgstr "Цей тест перевіряє, що берегові лінії є правильними."
 
 msgid "Unconnected coastline"
-msgstr "Роз’єднана берегова лінія"
+msgstr "Роз’єднані берегові лінії"
 
 msgid "Unordered coastline"
 msgstr "Невпорядкована берегова лінія"
@@ -4017,14 +4016,14 @@ msgid "Crossing boundaries"
 msgstr "Перетин кордонів"
 
 msgid "Crossing barriers"
-msgstr "Перетин огорож(бар’єрів)"
+msgstr "Перетин огорож (бар’єрів)"
 
 msgid ""
 "This test checks if two roads, railways, waterways or buildings crosses in "
 "the same layer, but are not connected by a node."
 msgstr ""
 "Цей тест перевіряє, чи мають спільну точку дві дороги, залізничні колії, "
-"водні шляхи чи будівлі які перетинаються на одному й тому ж рівні."
+"водні шляхи чи будівлі, які перетинаються на одному й тому ж рівні."
 
 msgid "Duplicated nodes"
 msgstr "Подвійні точки"
@@ -4063,7 +4062,7 @@ msgid "Other duplicated nodes"
 msgstr "Дублювання точок іншого типу"
 
 msgid "Nodes at same position"
-msgstr "Точки з тими же координатами"
+msgstr "Точки з тими ж координатами"
 
 msgid "Duplicated relations"
 msgstr "Подвоєні зв’язки"
@@ -4088,8 +4087,8 @@ msgid ""
 "This test checks that there are no ways with same node coordinates and "
 "optionally also same tags."
 msgstr ""
-"Цей тест перевіряє на наявність ліній точки яких мають однакові координати "
-"та необов’язково однакові теґи."
+"Цей тест перевіряє на наявність ліній, точки яких мають однакові координати "
+"та (необов’язково) однакові теґи."
 
 msgid "Ways with same position"
 msgstr "Лінії в одній і тій самій позиції"
@@ -4113,7 +4112,7 @@ msgid "Incorrect roundabout (highway: {0} instead of {1})"
 msgstr "Неправильний круговий рух (highway: {0} замість {1})"
 
 msgid "Highway link is not linked to adequate highway/link"
-msgstr "З’їзд з/на шосе не з’єднана із відповідним шосе/з’їздом"
+msgstr "З’їзд з/на шосе не з’єднаний із відповідним шосе/з’їздом"
 
 msgid "Missing pedestrian crossing information"
 msgstr "Відсутня інформація про пішохідний перехід"
@@ -4122,7 +4121,7 @@ msgid "Unknown country code: {0}"
 msgstr "Невідомий код країни: {0}"
 
 msgid "Unknown source:maxspeed context: {0}"
-msgstr "Невідомий source:maxspeed контекст: {0}"
+msgstr "Невідомий контекст source:maxspeed : {0}"
 
 msgid "Internet tags"
 msgstr "Інтернет-теґи"
@@ -4130,6 +4129,9 @@ msgstr "Інтернет-теґи"
 msgid "Checks for errors in internet-related tags."
 msgstr "Перевірка на помилки теґів, пов’язаних з Інтернет."
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr " Неможливо перетворити URL в ASCII: {0}"
+
 msgid "''{0}'': {1}"
 msgstr "''{0}'': {1}"
 
@@ -4137,7 +4139,7 @@ msgid "Lane tags"
 msgstr "Теґи смуг руху"
 
 msgid "Test that validates ''lane:'' tags."
-msgstr "Тест, що перевіряє  теґи ''lane:''."
+msgstr "Тест, що перевіряє теґи ''lane:''."
 
 msgid "Number of {0} greater than {1}"
 msgstr "Кількість {0} більше, ніж {1}"
@@ -4174,7 +4176,7 @@ msgid " or "
 msgstr " чи "
 
 msgid "{0}, use {1} instead"
-msgstr "{0}, натомість використовується  {1}"
+msgstr "{0}, натомість використовується {1}"
 
 msgid "Adding {0} to tag checker"
 msgstr "Додати {0} до перевірки теґів"
@@ -4207,9 +4209,9 @@ msgid_plural ""
 msgstr[0] ""
 "Зв’язок мультиполігону повинен мати теґ ділянки, а не зовнішньої лінії"
 msgstr[1] ""
-"Зв’язок мультиполігону повинен мати теґ ділянки а не зовнішніх ліній"
+"Зв’язок мультиполігону повинен мати теґ ділянки, а не зовнішніх ліній"
 msgstr[2] ""
-"Зв’язок мультиполігону повинен мати теґ ділянки а не зовнішніх ліній"
+"Зв’язок мультиполігону повинен мати теґ ділянки, а не зовнішніх ліній"
 
 msgid "Style for inner way equals multipolygon"
 msgstr "Стиль внутрішньої лінії як у мультиполігону"
@@ -4246,22 +4248,22 @@ msgid ""
 "to some ''name:*'' attribute and not a composition of ''name:*'' attributes, "
 "e.g., Italia - Italien - Italy."
 msgstr ""
-"Цей тест знаходить багатомовні об’єкти чий атрибут ''name'' не є "
-"еквівалентним деяким ''name:*'' і не є поєднанням атрибутів ''name:*'', на "
-"приклад: Italia - Italien - Italy."
+"Цей тест знаходить багатомовні об’єкти, чий атрибут ''name'' не є "
+"еквівалентним деяким ''name:*'' і не є поєднанням атрибутів ''name:*'', "
+"наприклад: Italia - Italien - Italy."
 
 msgid "A name:* translation is missing."
 msgstr "Переклад name:* відсутній."
 
 msgid "A name is missing, even though name:* exists."
-msgstr "Відсітній теґ «name», при наявності «name:*»"
+msgstr "Відсутній теґ «name», при наявності «name:*»"
 
 msgid "Opening hours syntax"
 msgstr "Синтаксис часу роботи"
 
 msgid "This test checks the correct usage of the opening hours syntax."
 msgstr ""
-"Цей тест перевіряє правильне використання синтаксису теґу opening hours "
+"Цей тест перевіряє правильне використання синтаксису теґу opening_hours "
 "(режиму роботи)."
 
 msgid "opening_hours value can be prettified"
@@ -4326,11 +4328,11 @@ msgstr "Лінії електропередачі"
 msgid ""
 "Checks for nodes in power lines that do not have a power=tower/pole tag."
 msgstr ""
-"Здійснюється перевірка на наявність точок в лініях електропередачі, що не "
+"Здійснюється перевірка на наявність точок в лініях електропередач, що не "
 "мають теґу power=tower/pole."
 
 msgid "Missing power tower/pole within power line"
-msgstr "Немає теґу tower/pole на точках ліній електропередач"
+msgstr "Немає теґу power=tower/pole на точках ліній електропередач"
 
 msgid "Role verification problem"
 msgstr "Проблеми перевірки ролі"
@@ -4352,29 +4354,31 @@ msgstr "Тип зв’язку невідомий"
 msgid "Relation is empty"
 msgstr "Зв’язок порожній"
 
-msgid "<empty>"
-msgstr "<порожньо>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr "Роль члена не відповідає виразу {0} в шаблоні {1}"
 
-msgid "Role {0} unknown"
-msgstr "Невідома роль {0}"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
+"Роль члена типу {0} не співпадає з прийнятим переліком з {1} в шаблоні {2}"
 
-msgid "Empty role found"
-msgstr "Знайдено порожню роль"
+msgid "<empty>"
+msgstr "<порожньо>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "Член з роллю ''{0}''не збігається з ''{1}''"
+msgid "Role {0} unknown in templates {1}"
+msgstr "Роль {0} відсутня в шаблоні {1}"
 
-msgid "Member for role {0} of wrong type"
-msgstr "Помилковий тип члену ролі {0}"
+msgid "Empty role type found when expecting one of {0}"
+msgstr "Знайдено незаповнений тип ролі, в той час як очікується один з {0}"
 
 msgid "Role {0} missing"
 msgstr "Відсутня роль {0}"
 
 msgid "Number of {0} roles too low ({1})"
-msgstr "Кількість ролей {0} занизька ({1})"
+msgstr "Кількість ролей {0} замала ({1})"
 
 msgid "Number of {0} roles too high ({1})"
-msgstr "Кількість ролей {0} зависока ({1})"
+msgstr "Кількість ролей {0} завелика ({1})"
 
 msgid "Self-intersecting ways"
 msgstr "Лінії, що перетинають самі себе"
@@ -4390,7 +4394,7 @@ msgstr "Лінії зі схожими назвами"
 msgid ""
 "This test checks for ways with similar names that may have been misspelled."
 msgstr ""
-"Цей тест виявляє лінії зі схожими назвами, можливо це помилки набору."
+"Цей тест виявляє лінії зі схожими назвами, можливо, це помилки набору."
 
 msgid "Tag checker"
 msgstr "Перевірка теґів"
@@ -4421,10 +4425,10 @@ msgid "Key ''{0}'' invalid."
 msgstr "Невірний ключ ''{0}''."
 
 msgid "Tag value contains character with code less than 0x20"
-msgstr "Значення теґу містить символ з кодом меньшім за 0x20"
+msgstr "Значення теґу містить символ з кодом, меншим за 0x20"
 
 msgid "Tag key contains character with code less than 0x20"
-msgstr "Ключ теґу містить символ з кодом меньшім за 0x20"
+msgstr "Ключ теґу містить символ з кодом, меншим за 0x20"
 
 msgid "Tag value longer than allowed"
 msgstr "Значення теґу довше, ніж дозволено"
@@ -4451,7 +4455,7 @@ msgid "Key ''{0}'' not in presets."
 msgstr "Ключа ''{0}'' немає в заготовках."
 
 msgid "Presets do not contain property key"
-msgstr "Заготовки не містять такий ключ"
+msgstr "Заготовки не містять такого ключа"
 
 msgid "Value ''{0}'' for key ''{1}'' not in presets."
 msgstr "Значення ''{0}'' для ключа ''{1}'' немає в заготовках"
@@ -4472,13 +4476,13 @@ msgid "Use complex property checker."
 msgstr "Використовувати комплексну перевірку."
 
 msgid "Validate property values and tags using complex rules."
-msgstr "Перевіряти значення і теґги за допомогою комплексних правил."
+msgstr "Перевіряти значення і теґи за допомогою комплексних правил."
 
 msgid "TagChecker source"
 msgstr "Джерела перевірки теґів"
 
 msgid "Data sources ({0})"
-msgstr "Джерело данних ({0})"
+msgstr "Джерело даних ({0})"
 
 msgid "Check property values."
 msgstr "Перевірити значення."
@@ -4490,7 +4494,7 @@ msgid "Check for FIXMES."
 msgstr "Перевірити на наявність FIXME."
 
 msgid "Looks for nodes or ways with FIXME in any property value."
-msgstr "Щукати точки чи лінії які мають значення теґів FIXME."
+msgstr "Шукати точки чи лінії, які мають значення теґів FIXME."
 
 msgid "Fix tags"
 msgstr "Виправити теґи"
@@ -4499,7 +4503,7 @@ msgid "Could not find element type"
 msgstr "Неможливо знайти тип елементу"
 
 msgid "Incorrect number of parameters"
-msgstr "Не коректна кількість параметрів"
+msgstr "Некоректна кількість параметрів"
 
 msgid "Could not find warning level"
 msgstr "Неможливо знайти рівень попередження"
@@ -4523,25 +4527,25 @@ msgid "Unknown member type"
 msgstr "Невідомий тип члену"
 
 msgid "More than one \"from\" way found"
-msgstr "Знайдено більше ніж одна лінія «з»"
+msgstr "Знайдено більше однієї лінії \"from\""
 
 msgid "More than one \"to\" way found"
-msgstr "Знайдено більше ніж одна лінія «до»"
+msgstr "Знайдено більше однієї лінії \"to\""
 
 msgid "More than one \"via\" node found"
-msgstr "Знайдена більше ніж одна точка \"via\""
+msgstr "Знайдено більше однієї точки \"via\""
 
 msgid "Cannot mix node and way for role \"via\""
 msgstr "Не можна змішувати точки та лінії у ролі \"via\""
 
 msgid "No \"from\" way found"
-msgstr "Не знайдено лінію «з»"
+msgstr "Не знайдено лінію з роллю \"from\""
 
 msgid "No \"to\" way found"
-msgstr "Не знайдено лінію «до»"
+msgstr "Не знайдено лінію з роллю \"to\""
 
 msgid "No \"via\" node or way found"
-msgstr "Не знайдено лінію «через»"
+msgstr "Не знайдено точу чи лінію з роллю \"via\""
 
 msgid "The \"from\" way does not start or end at a \"via\" node."
 msgstr ""
@@ -4549,11 +4553,11 @@ msgstr ""
 
 msgid "Superfluous turnrestriction as \"to\" way is oneway"
 msgstr ""
-"Зайве обмеження на поворот лінія з роллю ''to'' має односторонній рух"
+"Зайве обмеження на поворот — лінія з роллю \"to\" має односторонній рух"
 
 msgid "The \"to\" way does not start or end at a \"via\" node."
 msgstr ""
-"Ліня з роллю \"to\" не починається/закінчується точкою з роллю \"via\"."
+"Лінія з роллю \"to\" не починається/закінчується точкою з роллю \"via\"."
 
 msgid "The \"from\" and the first \"via\" way are not connected."
 msgstr "Лінія \"from\" та перша точка лінії \"via\" не з’єднані."
@@ -4595,7 +4599,7 @@ msgid "leisure type {0}"
 msgstr "тип дозвілля (leisure) {0}"
 
 msgid "waterway type {0}"
-msgstr "тип waterway {0}"
+msgstr "тип водного шляху {0}"
 
 msgid "boundary type {0}"
 msgstr "тип кордону {0}"
@@ -4619,7 +4623,7 @@ msgid "Unconnected natural lands and landuses"
 msgstr "Не замкнений полігон natural/landuse"
 
 msgid "Unconnected power ways"
-msgstr "Не з’єднані лінії єлектромереж"
+msgstr "Не з’єднані лінії електромереж"
 
 msgid "This test checks if a way has an endpoint very near to another way."
 msgstr ""
@@ -4638,7 +4642,7 @@ msgid "Connected way end node near other way"
 msgstr "Кінцева точка приєднаної лінії розташована близько до іншої лінії"
 
 msgid "Untagged and unconnected nodes"
-msgstr "Неприєднанні та непозначені точки"
+msgstr "Неприєднані та непозначені точки"
 
 msgid "This test checks for untagged nodes that are not part of any way."
 msgstr ""
@@ -4667,12 +4671,12 @@ msgid "Has key ''source''"
 msgstr "Є ключ ''source''"
 
 msgid "Untagged, empty and one node ways"
-msgstr "Непозначені, пусті та лінії з однієї точки"
+msgstr "Непозначені, порожні та лінії з однієї точки"
 
 msgid "This test checks for untagged, empty and one node ways."
 msgstr ""
-"Цей тест перевіряє на наявність лінії без теґів, пустих та таких, що "
-"складається з однієї точки."
+"Цей тест перевіряє на наявність ліній без теґів, порожніх та таких, що "
+"складаються з однієї точки."
 
 msgid "Unnamed ways"
 msgstr "Лінії без назв"
@@ -4696,7 +4700,7 @@ msgid "Way connected to Area"
 msgstr "Лінія приєднана до полігону"
 
 msgid "Checks for ways connected to areas."
-msgstr "Перевірка наявності ліній з’єднаних з полігонами."
+msgstr "Перевірка наявності ліній, з’єднаних з полігонами."
 
 msgid "Way terminates on Area"
 msgstr "Лінія закінчується полігоном"
@@ -4720,7 +4724,7 @@ msgid "Do not show again (this operation)"
 msgstr "Не показувати знов (ця дія)"
 
 msgid "Do not show again (this session)"
-msgstr "Не показувати знов (ця сессія)"
+msgstr "Не показувати знов (ця сесія)"
 
 msgid "Do not show again (remembers choice)"
 msgstr "Не показувати знову (запам’ятати вибір)"
@@ -4804,7 +4808,7 @@ msgid "Authentication Failed"
 msgstr "Збій автентифікації"
 
 msgid "Access to redacted version ''{0}'' of {1} {2} is forbidden."
-msgstr "Доступ до відредаговоної версії ''{0}'' {1} {2} заборонений."
+msgstr "Доступ до відредагованої версії ''{0}'' {1} {2} заборонений."
 
 msgid "Authorisation Failed"
 msgstr "Збій авторизації"
@@ -4837,10 +4841,10 @@ msgid "Downloading \"Message of the day\""
 msgstr "Завантаження «Повідомлення дня»"
 
 msgid "Failed to read MOTD. Exception was: {0}"
-msgstr "Неможливо прочитати Повідомлення дня. Помилка: {0}"
+msgstr "Неможливо прочитати «Повідомлення дня». Помилка: {0}"
 
 msgid "Message of the day not available"
-msgstr "Повідомлення дня недоступне"
+msgstr "«Повідомлення дня» недоступне"
 
 msgid "Click to close the dialog"
 msgstr "Натисніть, щоб закрити діалог"
@@ -4916,16 +4920,44 @@ msgid "Print debugging messages to console"
 msgstr "Виводити повідомлення для відлагодження в консоль"
 
 msgid "Disable access to the given resource(s), separated by comma"
-msgstr "Відключення доступу до вказаних ресурсів, розподілених комою"
+msgstr "Відключення доступу до вказаних ресурсів, розділених комою"
 
 msgid "options provided as Java system properties"
 msgstr "системні налаштування Java"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "ШЛЯХ/ДО/ПАПКИ/JOSM/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr "/ШЛЯХ/ДО/НАЛАШТУВАНЬ/JOSM    "
+
+msgid "Set the preferences directory"
+msgstr "Налаштування теки налаштувань"
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr "/ШЛЯХ/ДО/ДАНИХ_КОРИСТУВАЧА/JOSM"
+
+msgid "Set the user data directory"
+msgstr "Налаштування теки даних користувача"
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr "/ШЛЯХ/ДО/КЕШУ/JOSM   "
+
+msgid "Set the cache directory"
+msgstr "Встановлення теки кешу"
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr "/ШЛЯХ/ДО/ТЕКИ/JOSM "
 
-msgid "Change the folder for all user settings"
-msgstr "Зміна папки для всіх налаштувань користувача"
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+"Перенос всіх 3-х тек до homedir. Тека кешу тепер буде у homedir/cache"
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
+"-Djosm.home має більший приоритет, тобто ці  налаштування мають перевагу над "
+"загальними"
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -5011,12 +5043,12 @@ msgid "JOSM found {0} unsaved osm data layer. "
 msgid_plural "JOSM found {0} unsaved osm data layers. "
 msgstr[0] "JOSM знайшов {0} незбережений шар даних osm. "
 msgstr[1] "JOSM знайшов {0} незбережених шари даних osm. "
-msgstr[2] "JOSM знайшов {0} незбережениих шарів даних osm. "
+msgstr[2] "JOSM знайшов {0} незбережених шарів даних osm. "
 
 msgid ""
 "It looks like JOSM crashed last time. Would you like to restore the data?"
 msgstr ""
-"Схоже що останнього разу JOSM аварійно завершив свою роботу. Бажаєте "
+"Схоже, що останнього разу JOSM аварійно завершив свою роботу. Бажаєте "
 "відновити дані?"
 
 msgid "Change proxy settings"
@@ -5032,7 +5064,7 @@ msgid ""
 msgstr ""
 "JOSM намагався отримати доступ до наступних ресурсів:<br>{0} але <b>не "
 "зміг</b> це зробити, тому що виникли наступні помилки проксі:<br>{1} Чи "
-"бажаєте змінити налаштування проксі сервера зараз?"
+"бажаєте змінити налаштування проксі-сервера зараз?"
 
 msgid "Network errors occurred"
 msgstr "Помилка мережі"
@@ -5044,7 +5076,7 @@ msgid ""
 "now?"
 msgstr ""
 "JOSM намагався отримати доступ до наступних ресурсів:<br>{0} але "
-"<b>невдало</b>, завдяки наступним помилкам мережі:<br>{1} Можливо це "
+"<b>невдало</b>, завдяки наступним помилкам мережі:<br>{1} Можливо, це "
 "відбулось завдяки відсутності налаштувань проксі.<br>Бажаєте змінити "
 "налаштування проксі-сервера зараз?"
 
@@ -5186,8 +5218,8 @@ msgid ""
 "Middle click again to cycle through.<br>Hold CTRL to select directly from "
 "this list with the mouse.<hr>"
 msgstr ""
-"Натисніть на середню клавішу ще раз, щоб активувати на наступний "
-"елемент.<br> Утримуйте CTRL, щоб вибрати мишею, безпосередньо зі списку.<hr>"
+"Натисніть на середню клавішу ще раз, щоб активувати наступний елемент.<br> "
+"Утримуйте CTRL, щоб вибрати мишею безпосередньо зі списку.<hr>"
 
 msgid "(no object)"
 msgstr "(Немає об’єкта)"
@@ -5207,6 +5239,21 @@ msgstr "Шару немає в списку."
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "Шар ''{0}'' повинен бути в списку шарів"
 
+msgid "Default (open, closed, new)"
+msgstr "Типово (відкриті, закриті, нові)"
+
+msgid "Username"
+msgstr "Логін"
+
+msgid "Created date"
+msgstr "Дата створення"
+
+msgid "Last change date"
+msgstr "Дата останіх змін"
+
+msgid "Select note sorting method"
+msgstr "Оберіть метод сортування нотаток"
+
 msgid "Click to cancel the current operation"
 msgstr "Клацніть, щоб скасувати поточну операцію"
 
@@ -5214,13 +5261,13 @@ msgid "In background"
 msgstr "В фоні"
 
 msgid "Click to run job in background"
-msgstr "Клацніть щоб перевести роботу у фоновий режим"
+msgstr "Клацніть, щоб перевести роботу у фоновий режим"
 
 msgid ""
 "Aerial imagery might be misaligned. Please check its offset using GPS tracks!"
 msgstr ""
-"Аерофотознімки  можуть бути розташовані неправильно.  Будь ласка, перевірте "
-"їх зміщення за допомогою GPS треків!"
+"Аерофотознімки можуть бути розташовані неправильно. Будь ласка, перевірте їх "
+"зміщення за допомогою GPS-треків!"
 
 msgid "http://wiki.openstreetmap.org/wiki/Using_Imagery"
 msgstr "http://wiki.openstreetmap.org/wiki/Using_Imagery"
@@ -5235,21 +5282,21 @@ msgid ""
 "<html>Please confirm to remove <strong>1 object</strong> from <strong>1 "
 "relation</strong>.</html>"
 msgstr ""
-"<html>Будь ласка, підтвердить вилучення <strong>1 об’єкта</strong> з "
+"<html>Будь ласка, підтвердіть вилучення <strong>1 об’єкта</strong> з "
 "<strong>1 зв’язку</strong>.</html>"
 
 msgid ""
 "<html>Please confirm to remove <strong>1 object</strong> from <strong>{0} "
 "relations</strong>.</html>"
 msgstr ""
-"<html>Будь ласка, підтвердить вилучення <strong>1 об’єкта</strong> з "
+"<html>Будь ласка, підтвердіть вилучення <strong>1 об’єкта</strong> з "
 "<strong>{0} зв’язків</strong>.</html>"
 
 msgid ""
 "<html>Please confirm to remove <strong>{0} objects</strong> from <strong>{1} "
 "relations</strong>.</html>"
 msgstr ""
-"<html>Будь ласка, підтвердить вилучення<strong>{0} об’єктів</strong> із "
+"<html>Будь ласка, підтвердіть вилучення <strong>{0} об’єктів</strong> із "
 "<strong>{1} зв’язків</strong>.</html>"
 
 msgid "Deleting {0} object"
@@ -5301,25 +5348,25 @@ msgid ""
 "addresses in the format <i>zoom,x,y</i> or <i>zoom;x;y</i> are valid "
 "too.</html>"
 msgstr ""
-"<html>Також ви можете ввести <strong>адресу квадрату</strong> для одиничного "
-"квадрату в форматі <i>масштаб/x/y</i>, тобто <i>15/256/223</i>. Також "
-"припустимо введення адреси квадрату в форматі <i>масштаб,x,y</i> або "
+"<html>Також ви можете ввести <strong>адресу квадрата</strong> для одиничного "
+"квадрата в форматі <i>масштаб/x/y</i>, тобто <i>15/256/223</i>. Також "
+"припустиме введення адреси квадрата в форматі <i>масштаб,x,y</i> або "
 "<i>масштаб;x;y</i>.</html>"
 
 msgid "Tile address:"
-msgstr "Адреса квадрату:"
+msgstr "Адреса квадрата:"
 
 msgid "Apply the tile address"
-msgstr "Застосувати адресу квадрату"
+msgstr "Застосувати адресу квадрата"
 
 msgid "Please enter a tile address"
-msgstr "Будь ласка, введіть адресу квадрату"
+msgstr "Будь ласка, введіть адресу квадрата"
 
 msgid "The current value isn''t a valid tile address"
 msgstr "Поточне значення не є правильною адресою"
 
 msgid "Please enter a tile index"
-msgstr "Будь ласка, введіть індекс квадрату"
+msgstr "Будь ласка, введіть індекс квадрата"
 
 msgid "The current value isn''t a valid tile index for the given zoom level"
 msgstr ""
@@ -5356,16 +5403,16 @@ msgid "Conflict foreground: keep"
 msgstr "Колір конфлікту: залишено"
 
 msgid "Conflict background: empty row"
-msgstr "Тло конфлікту: пустий рядок"
+msgstr "Тло конфлікту: порожній рядок"
 
 msgid "Conflict background: frozen"
 msgstr "Тло конфлікту: заморожений"
 
 msgid "Conflict background: in comparison"
-msgstr "Тло конфлікту: в проівнянні"
+msgstr "Тло конфлікту: в порівнянні"
 
 msgid "Conflict foreground: in comparison"
-msgstr "Колір конфлікту: у порівнянні"
+msgstr "Колір конфлікту: в порівнянні"
 
 msgid "Conflict background"
 msgstr "Тло конфлікту"
@@ -5383,22 +5430,22 @@ msgid "Conflict background: same position in opposite"
 msgstr "Тло конфлікту: та ж позиція у протилежності"
 
 msgid "Conflict background: keep one tag"
-msgstr "Підґрунтя конфлікту: лишить лише один теґ"
+msgstr "Тло конфлікту: лишити лише один теґ"
 
 msgid "Conflict foreground: keep one tag"
-msgstr "Передній план конфлікту: лишить лише один теґ"
+msgstr "Колір конфлікту: лишити лише один теґ"
 
 msgid "Conflict background: drop tag"
-msgstr "Підґрунтя конфлікту: відкиньте теґ"
+msgstr "Тло конфлікту: відкинути теґ"
 
 msgid "Conflict foreground: drop tag"
-msgstr "Передній план конфлікту: відкиньте теґ"
+msgstr "Колір конфлікту: відкинути теґ"
 
 msgid "Conflict background: keep all tags"
-msgstr "Підґрунтя конфлікту: лишить все теґи"
+msgstr "Тло конфлікту: лишити всі теґи"
 
 msgid "Conflict foreground: keep all tags"
-msgstr "Передній план конфлікту: лишить все теґи"
+msgstr "Колір конфлікту: лишити всі теґи"
 
 msgid "Conflict background: sum all numeric tags"
 msgstr "Тло конфлікту: сума всіх числових теґів"
@@ -5407,16 +5454,16 @@ msgid "Conflict foreground: sum all numeric tags"
 msgstr "Колір конфлікту: сума всіх числових теґів"
 
 msgid "Conflict background: keep member"
-msgstr "Підґрунтя конфлікту: залишить учасника"
+msgstr "Тло конфлікту: залишити учасника"
 
 msgid "Conflict foreground: keep member"
-msgstr "Передній план конфлікту: залишить учасника"
+msgstr "Колір конфлікту: залишити учасника"
 
 msgid "Conflict background: remove member"
-msgstr "Підґрунтя конфлікту: вилучить учасника"
+msgstr "Тло конфлікту: вилучити учасника"
 
 msgid "Conflict foreground: remove member"
-msgstr "Передній план конфлікту: вилучить учасника"
+msgstr "Колір конфлікту: вилучити учасника"
 
 msgid "My with Their"
 msgstr "Мою з чужою"
@@ -5464,7 +5511,7 @@ msgid ""
 "Merged node list frozen. No pending conflicts in the node list of this way"
 msgstr ""
 "Список з’єднаних точок заморожений. Конфліктів, що очікують на розв’язання "
-"для цієї ліні — немає"
+"для цієї лінії — немає"
 
 msgid "Nodes(with conflicts)"
 msgstr "Точки (з конфліктами)"
@@ -5479,7 +5526,7 @@ msgid ""
 "Merged member list frozen. No pending conflicts in the member list of this "
 "relation"
 msgstr ""
-"Об’єднаний список членів  заморожений. Конфлікти, що очікують на розв’язання "
+"Об’єднаний список членів заморожений. Конфлікти, що очікують на розв’язання "
 "у списку членів цього зв’язку — відсутні"
 
 msgid "Members(with conflicts)"
@@ -5507,8 +5554,8 @@ msgid ""
 "The following objects could not be copied to the target object<br>because "
 "they are deleted in the target dataset:"
 msgstr ""
-"Наступні об’єкти неможливо скопіювати до цільового об’єкту <br>тому що вони "
-"вилучені у цільовому наборі даних:"
+"Наступні об’єкти неможливо скопіювати до цільового об’єкту, <br>оскільки "
+"вони вилучені у цільовому наборі даних:"
 
 msgid "Merging deleted objects failed"
 msgstr "Збій злиття вилучених об’єктів"
@@ -5517,7 +5564,7 @@ msgid "List in role {0} is currently not participating in a compare pair."
 msgstr "Список в ролі {0} в даний момент не бере участь у парі порівняння ."
 
 msgid "Unexpected value of parameter ''index''. Got {0}."
-msgstr "Неочікуванне значення параметра \"index\". Почточне значення {0}"
+msgstr "Неочікуванне значення параметра \"index\". Поточне значення {0}"
 
 msgid "Item {0} not found in list."
 msgstr "Елемент {0} в списку відсутній."
@@ -5548,7 +5595,8 @@ msgid "Their version"
 msgstr "Інша версія"
 
 msgid "List of elements in their dataset, i.e. the server dataset"
-msgstr "Список елементів в чужому наборі даних, набір даних на сервері"
+msgstr ""
+"Список елементів в чужому наборі даних, тобто наборі даних на сервері"
 
 msgid "> top"
 msgstr "> вгору"
@@ -5769,7 +5817,7 @@ msgstr "Значення"
 
 msgid "Cannot apply undecided tag merge item."
 msgstr ""
-"Неможливо застосувати теґ об’єднаного елемента із-за нерозв’язаного конфлікту"
+"Неможливо застосувати теґ об’єднаного елемента через нерозв’язаний конфлікт."
 
 msgid "My version (local dataset)"
 msgstr "Моя версія (локальний набір даних)"
@@ -5790,7 +5838,7 @@ msgid "Mark the selected tags as undecided"
 msgstr "Позначити виділені теґи, як нерозв’язані конфлікти"
 
 msgid "Their dataset does not include a tag with key {0}"
-msgstr "Чужий набір даних не містить тег з ключем {0}"
+msgstr "Чужий набір даних не містить теґ з ключем {0}"
 
 msgid "Conflicts when combining primitives"
 msgstr "Конфлікти під час об’єднання елементів"
@@ -5808,7 +5856,7 @@ msgid "Cancel conflict resolution"
 msgstr "Відмінити розв’язання конфліктів"
 
 msgid "Apply resolved conflicts"
-msgstr "Застосувати розв’язки конфліктів"
+msgstr "Застосувати розв’язання конфліктів"
 
 msgid "Apply"
 msgstr "Застосувати"
@@ -5826,21 +5874,21 @@ msgid_plural ""
 "are shown a dialog to decide how to adapt the relations.<br/><br/>Do you "
 "want to continue?"
 msgstr[0] ""
-"Ви намагаєтесь об’єднати {1} об’єкт, які є частиною {0} зв’язку:<br/>{2} "
-"Об’єднання цих об’єктів може може поламати цей зв’язок. Якщо ви невпевнені, "
-"будь ласка скасуйте цю операцію.<br/>Якщо ви бажаєте продовжити, у "
+"Ви намагаєтесь об’єднати {1} об’єкт, який є частиною {0} зв’язку:<br/>{2} "
+"Об’єднання цих об’єктів може може поламати цей зв’язок. Якщо ви не впевнені, "
+"будь ласка, скасуйте цю операцію.<br/>Якщо ви бажаєте продовжити, у "
 "наступному вікні змініть зв’язок потрібним чином.<br/><br/>Бажаєте "
 "продовжити?"
 msgstr[1] ""
 "Ви намагаєтесь об’єднати {1} об’єкти, які є частиною {0} зв’язків:<br/>{2} "
-"Об’єднання цих об’єктів може може поламати ці зв’язки. Якщо ви невпевнені, "
-"будь ласка скасуйте цю операцію.<br/>Якщо ви бажаєте продовжити, у "
+"Об’єднання цих об’єктів може може поламати ці зв’язки. Якщо ви не впевнені, "
+"будь ласка, скасуйте цю операцію.<br/>Якщо ви бажаєте продовжити, у "
 "наступному вікні змініть зв’язки потрібним чином.<br/><br/>Бажаєте "
 "продовжити?"
 msgstr[2] ""
 "Ви намагаєтесь об’єднати {1} об’єктів, які є частиною {0} зв’язків:<br/>{2} "
-"Об’єднання цих об’єктів може може поламати ці зв’язки. Якщо ви невпевнені, "
-"будь ласка скасуйте цю операцію.<br/>Якщо ви бажаєте продовжити, у "
+"Об’єднання цих об’єктів може може поламати ці зв’язки. Якщо ви не впевнені, "
+"будь ласка, скасуйте цю операцію.<br/>Якщо ви бажаєте продовжити, у "
 "наступному вікні змініть зв’язки потрібним чином.<br/><br/>Бажаєте "
 "продовжити?"
 
@@ -5892,7 +5940,7 @@ msgid "sum"
 msgstr "сума"
 
 msgid "Please decide which values to keep"
-msgstr "Будь ласка, вирішите, які значення залишити"
+msgstr "Будь ласка, вирішіть, які значення залишити"
 
 msgid "Value ''{0}'' is going to be applied for key ''{1}''"
 msgstr "Значення ''{0}'' буде встановлене ключу ''{1}''"
@@ -5915,10 +5963,10 @@ msgid "Not decided yet."
 msgstr "Ще не вирішено"
 
 msgid "Tags from nodes"
-msgstr "Теґи точок «від»"
+msgstr "Теґи точок"
 
 msgid "Tags from ways"
-msgstr "Теґи ліній «від»"
+msgstr "Теґи ліній"
 
 msgid "Tags from relations"
 msgstr "Теґи зв’язків"
@@ -5957,7 +6005,7 @@ msgid "Position {0} is out of range. Current number of members is {1}."
 msgstr "Позиція {0} за межами діапазону. Поточна кількість членів {1}."
 
 msgid "Remove this relation member from the relation"
-msgstr "Вилучити цього члена із зв’язку"
+msgstr "Вилучити цей член із зв’язку"
 
 msgid "Keep"
 msgstr "Залишити"
@@ -5992,7 +6040,7 @@ msgstr "Ключ:"
 
 msgid "<html>Enter a tag key, e.g. <strong><tt>fixme</tt></strong></html>"
 msgstr ""
-"<html>Введіть ключ теґу, на прикл. <strong><tt>fixme</tt></strong></html>"
+"<html>Введіть ключ теґу, наприклад <strong><tt>fixme</tt></strong></html>"
 
 msgid "Value:"
 msgstr "Значення:"
@@ -6000,7 +6048,7 @@ msgstr "Значення:"
 msgid ""
 "<html>Enter a tag value, e.g. <strong><tt>check members</tt></strong></html>"
 msgstr ""
-"<html>Ведіть значення теґу, на прикл. <strong><tt>перевірити "
+"<html>Ведіть значення теґу, наприклад <strong><tt>перевірити "
 "членів</tt></strong></html>"
 
 msgid ""
@@ -6011,8 +6059,8 @@ msgid ""
 "ways that are members of the same relation: the combined way will take the "
 "place of the original way in the relation.</html>"
 msgstr ""
-"<html>Об’єднані лінії є членам одного чи кількох зв’язків. Будь ласка, "
-"вирішить чи ви бажаєте <strong>залишити</strong> об’єднану лінію членом "
+"<html>Об’єднані лінії є членами одного чи кількох зв’язків. Будь ласка, "
+"вирішіть, чи ви бажаєте <strong>залишити</strong> об’єднану лінію членом "
 "зв’язку, чи <strong>вилучити</strong> її зі зв’язків.<br>Типово, перша лінія "
 "<strong>залишається</strong> членом зв’язку, а інші лінії "
 "<strong>вилучаються</strong> з одного й того ж зв’язку: об’єднана лінія "
@@ -6026,8 +6074,8 @@ msgid ""
 "other nodes that are members of the same relation: the target node will take "
 "the place of the original node in the relation.</html>"
 msgstr ""
-"<html>Об’єднані точки є членам одного чи кількох зв’язків. Будь ласка, "
-"вирішить чи ви бажаєте <strong>залишити</strong> об’єднану точку  членом "
+"<html>Об’єднані точки є членами одного чи кількох зв’язків. Будь ласка, "
+"вирішіть, чи ви бажаєте <strong>залишити</strong> об’єднану точку членом "
 "зв’язку, чи <strong>вилучити</strong> її зі зв’язків.<br>Типово, перша точка "
 "<strong>залишається</strong> членом зв’язку, а інші точки "
 "<strong>вилучаються</strong> з одного й того ж зв’язку: об’єднана точка "
@@ -6125,7 +6173,7 @@ msgid "Undo the selected and all later commands"
 msgstr "Відмінити виділені та всі наступні команди"
 
 msgid "Redo the selected and all earlier commands"
-msgstr "Повернути виділені та всі наступні команди"
+msgstr "Повернути виділені та всі попередні команди"
 
 msgid "Resolve conflicts."
 msgstr "Розв’язати конфлікти."
@@ -6133,8 +6181,8 @@ msgstr "Розв’язати конфлікти."
 msgid "Conflict: {0} unresolved"
 msgid_plural "Conflicts: {0} unresolved"
 msgstr[0] "Конфлікт: {0} не розв’язаний"
-msgstr[1] "Конфлікти: {0} нерозв’язано"
-msgstr[2] "Конфліктів: {0} нерозв’язано"
+msgstr[1] "Конфлікти: {0} не розв’язано"
+msgstr[2] "Конфліктів: {0} не розв’язано"
 
 msgid "Rel.:{0} / Ways:{1} / Nodes:{2}"
 msgstr "Зв’яз.:{0} / Ліній:{1} / Точок:{2}"
@@ -6188,7 +6236,7 @@ msgid ""
 msgstr ""
 "<html>Ви не закінчили злиття відмінностей у цьому конфлікті.<br>Розв’язання "
 "конфліктів не буде застосоване до тих пір, доки всі відмінності<br>не будуть "
-"опрацьовані.<br>Натисніть <strong>{0}</strong> щоб закрити у будь-якому "
+"опрацьовані.<br>Натисніть <strong>{0}</strong>, щоб закрити у будь-якому "
 "випадку.<strong> Вже<br>опрацьовані відмінності не будуть "
 "застосовані.</strong><br>Натисніть <strong>{1}</strong>, щоб повернутись до "
 "розв’язання конфліктів.</html>"
@@ -6273,11 +6321,11 @@ msgstr "Замін."
 
 msgctxt "filter"
 msgid "A"
-msgstr "Додати"
+msgstr "Дод."
 
 msgctxt "filter"
 msgid "D"
-msgstr "Вилучити"
+msgstr "Вилуч."
 
 msgctxt "filter"
 msgid "F"
@@ -6438,15 +6486,15 @@ msgstr ""
 "Перелік згенерованих стилів:\n"
 
 msgid "The 2 selected objects have identical style caches."
-msgstr "Два обраних об’єкти мають однакові кеши стлів."
+msgstr "Два обраних об’єкти мають однакові кеші стилів."
 
 msgid "The 2 selected objects have different style caches."
-msgstr "Два обраних об’єкти мають різні кеши стилів"
+msgstr "Два обраних об’єкти мають різні кеші стилів"
 
 msgid ""
 "Warning: The 2 selected objects have equal, but not identical style caches."
 msgstr ""
-"Попередження: Два обраних об’єкти ідентичні, але мають різні кеши стилів."
+"Попередження: Два обраних об’єкти ідентичні, але мають різні кеші стилів."
 
 msgid "xml"
 msgstr "xml"
@@ -6470,9 +6518,9 @@ msgid ""
 "<tt>″</tt> are optional.<br/><br/>Some examples:<ul>{0}</ul>"
 msgstr ""
 "Введіть координати нової точки.<br/>Ви можете відділити довготу та широту "
-"пробілом, комою, чи комою з крапкою.<br/>Використовуйте позитивні числа або "
+"пробілом, комою, чи крапкою з комою.<br/>Використовуйте додатні числа або "
 "літери N та E для позначення Північної широти та Східної довготи.<br/>Для "
-"Південної широти та Західної довготи — від’ємні числа або символи  S та "
+"Південної широти та Західної довготи — від’ємні числа або символи S та "
 "W.<br/>Координати можуть бути вказані в одному із трьох "
 "форматів:<ul><li><i>градуси</i><tt>°</tt></li><li><i>градуси</i><tt>°"
 "</tt> <i>хвилини</i><tt>'</tt></li><li><i>градуси</i><tt>°</tt> "
@@ -6486,11 +6534,11 @@ msgstr "Прогнозовані координати:"
 msgid ""
 "Enter easting and northing (x and y) separated by space, comma or semicolon."
 msgstr ""
-"Введіть відхилення на  схід та північ (x та y) розділені пробілом, комою чи "
+"Введіть відхилення на схід та північ (x та y), розділені пробілом, комою чи "
 "крапкою з комою."
 
 msgid "Lat/Lon"
-msgstr "Дов/Шир"
+msgstr "Шир/Дов"
 
 msgid "East/North"
 msgstr "Схід/Північ"
@@ -6559,7 +6607,7 @@ msgid "this layer is the active layer"
 msgstr "цей шар є активним"
 
 msgid "this layer is not currently active (click to activate)"
-msgstr "цей шар не є активним (клацніть щоб його активувати)"
+msgstr "цей шар не є активним (клацніть, щоб його активувати)"
 
 msgid "Move the selected layer one row up."
 msgstr "Перемістити вибраний шар на один рядок вгору."
@@ -6604,13 +6652,13 @@ msgid "Save as..."
 msgstr "Зберегти як…"
 
 msgid "Save a copy of this Style to file and add it to the list"
-msgstr "Зберегти копію цього Стилю у файл та додати його у список"
+msgstr "Зберегти копію цього стилю у файл та додати його у список"
 
 msgid "Map paint style file (*.mapcss, *.zip)"
-msgstr "Файли стілів показу мапи (*.mapcss, *.zip)"
+msgstr "Файли стилів показу мапи (*.mapcss, *.zip)"
 
 msgid "Map paint style file (*.xml, *.zip)"
-msgstr "Файли стілів показу мапи (*.xml, *.zip)"
+msgstr "Файли стилів показу мапи (*.xml, *.zip)"
 
 msgid "Reloading style sources"
 msgstr "Перезавантаження джерел стилів"
@@ -6619,7 +6667,7 @@ msgid "Save style ''{0}'' as ''{1}''"
 msgstr "Зберегти стиль ''{0}'' як ''{1}''"
 
 msgid "view meta information, error log and source definition"
-msgstr "перегляд мета інформації, журналу помилок та визначення джерел"
+msgstr "перегляд мета-інформації, журналу помилок та визначення джерел"
 
 msgid "Map Style info"
 msgstr "Інформація про стиль мапи"
@@ -6690,6 +6738,12 @@ msgstr "Перевідкрити"
 msgid "Reopen note with message:"
 msgstr "Перевідкрити нотатку з повідомленням:"
 
+msgid "Sort notes"
+msgstr "Сортувати нотатки"
+
+msgid "Sort"
+msgstr "Впорядкувати"
+
 msgid "Object type:"
 msgstr "Тип об’єкту:"
 
@@ -6712,7 +6766,7 @@ msgid ""
 "{3} for <i>way</i>, and {4} for <i>relation</i>)"
 msgstr ""
 "ID об’єктів можуть бути розділені комою чи пробілом.<br/>Наприклад: "
-"{0}<br/>У змішаному вигляді, зазначайте об’єкти подібно до: {1}<br/>({2} "
+"{0}<br/>У змішаному вигляді зазначайте об’єкти подібно до: {1}<br/>({2} "
 "використовується для <i>точок</i>, {3} для <i>ліній</i>, та {4} для "
 "<i>зв’язків</i>)"
 
@@ -6814,7 +6868,7 @@ msgstr[1] "{0} Автори"
 msgstr[2] "{0} Авторів"
 
 msgid "Select objects submitted by this user"
-msgstr "Виділити об’єкти надіслані цим учасником"
+msgstr "Виділити об’єкти, надіслані цим учасником"
 
 msgid "Launches a browser with information about the user"
 msgstr "Відкрити у оглядачі інформацію про учасника"
@@ -7081,7 +7135,7 @@ msgstr "Закрито:"
 msgid "Remove the changeset in the detail view panel from the local cache"
 msgstr ""
 "Вилучити з локального кешу набір правок, зазначений у панелі докладного "
-"вигдяу"
+"вигляду"
 
 msgid "Update the changeset from the OSM server"
 msgstr "Оновлення набору змін з сервера OSM"
@@ -7095,7 +7149,7 @@ msgid ""
 "<html>None of the objects in the content of changeset {0} is available in "
 "the current<br>edit layer ''{1}''.</html>"
 msgstr ""
-"<html>Жоден з об’єктів набору змін {0} недоступний у поточному <br>шарі що "
+"<html>Жоден з об’єктів набору змін {0} недоступний у поточному <br>шарі, що "
 "редагується ''{1}''.</html>"
 
 msgid ""
@@ -7154,7 +7208,7 @@ msgstr ""
 "Вибрати тільки набори змін, пов’язані з конкретним габаритним прямокутником"
 
 msgid "Query open changesets only"
-msgstr "Запитати тільки відкриті набори змін"
+msgstr "Отримати тільки відкриті набори змін"
 
 msgid "Query closed changesets only"
 msgstr "Отримати тільки закриті набори змін"
@@ -7181,22 +7235,22 @@ msgid ""
 "Only changesets owned by myself (disabled. JOSM is currently run by an "
 "anonymous user)"
 msgstr ""
-"Тільки мої набори змін.  (відключено. JOSM зараз працює під анонімним "
+"Тільки мої набори змін (відключено. JOSM зараз працює під анонімним "
 "користувачем)"
 
 msgid ""
 "Cannot restrict changeset query to the current user because the current user "
 "is anonymous"
 msgstr ""
-"Не можливо обмежити отримання наборів змін змінами поточного користувача, "
-"так як він є анонімним"
+"Неможливо обмежити отримання наборів змін змінами поточного користувача, "
+"оскільки він є анонімним"
 
 msgid "Current value ''{0}'' for user ID is not valid"
 msgstr "Поточне значення ''{0}'' для ідентифікатора учасника недійсне"
 
 msgid "Cannot restrict the changeset query to the user name ''{0}''"
 msgstr ""
-"Не можливо обмежити отримання наборів змін змінами для учасника з іменем — "
+"Неможливо обмежити отримання наборів змін змінами для учасника з іменем — "
 "''{0}''"
 
 msgid "Please enter a valid user ID"
@@ -7243,7 +7297,7 @@ msgid ""
 "<html>Please enter valid date/time values to restrict<br>the query to a "
 "specific time range.</html>"
 msgstr ""
-"<html>Будь ласка, вкажіть правильні значення для дати/часу щоб "
+"<html>Будь ласка, вкажіть правильні значення для дати/часу, щоб "
 "обмежити<br>запит зазначеними часовими межами.</html>"
 
 msgid "Invalid date/time values"
@@ -7274,7 +7328,7 @@ msgstr ""
 "ціле значення > 0"
 
 msgid "Please enter an integer value > 0"
-msgstr "Будь ласка, введіть ціле число> 0"
+msgstr "Будь ласка, введіть ціле число > 0"
 
 msgid ""
 "<html>The  current value is not a valid user name.<br>Please enter an non-"
@@ -7342,7 +7396,7 @@ msgstr ""
 "даний момент немає активного виду мапи.</em></html>"
 
 msgid "<html>Download changesets in the current map view</html>"
-msgstr "<html>Завантажити набори змін для  поточного виду мапи</html>"
+msgstr "<html>Завантажити набори змін для поточного виду мапи</html>"
 
 msgid ""
 "Unexpected value for preference ''{0}'', got ''{1}''. Resetting to default "
@@ -7380,7 +7434,7 @@ msgid "Query and download changesets"
 msgstr "Запитати та завантажити з сервера набори змін"
 
 msgid "Please enter a valid changeset query URL first."
-msgstr "Будь ласка, введіть в першу чергу дійсний URL запиту набору змін."
+msgstr "Будь ласка, спершу введіть дійсний URL запиту набору змін."
 
 msgid "Illegal changeset query URL"
 msgstr "Недійсний URL запиту для отримання набору змін"
@@ -7463,7 +7517,7 @@ msgid "Change relation"
 msgstr "Змінити зв’язок"
 
 msgid "Delete from relation"
-msgstr "Вилучити із зв’язку"
+msgstr "Вилучити зі зв’язку"
 
 msgid "Really delete selection from relation {0}?"
 msgstr "Ви дійсно бажаєте вилучити цей елемент зі зв’язку {0}?"
@@ -7478,7 +7532,7 @@ msgid "Edit the value of the selected key for all objects"
 msgstr "Правити значення обраного ключа для всіх об’єктів"
 
 msgid "Edit Tags"
-msgstr "Редагувати  теґи"
+msgstr "Редагувати теґи"
 
 msgid "Go to OSM wiki for tag help (F1)"
 msgstr "Перейти до OSM-Вікі, щоб отримати довідку про теґ (F1)"
@@ -7578,16 +7632,16 @@ msgid "Please select a value"
 msgstr "Будь ласка, оберіть значення"
 
 msgid "Set number of recently added tags"
-msgstr "Встановити кількість щойно доданий теґів"
+msgstr "Встановити кількість нещодавно доданих теґів"
 
 msgid "Remember last used tags after a restart"
 msgstr "Запам’ятати останні теґи після перезавантаження"
 
 msgid "Please enter the number of recently added tags to display"
-msgstr "Введіть, будь ласка, кількість щойно доданих теґів для показу"
+msgstr "Введіть, будь ласка, кількість нещодавно доданих теґів для показу"
 
 msgid "Please enter integer number between 0 and {0}"
-msgstr "Будь ласка, вкажіть ціле число від 1 до {0}"
+msgstr "Будь ласка, вкажіть ціле число від 0 до {0}"
 
 msgid "Recently added tags"
 msgstr "Нещодавно додані теґи"
@@ -7596,7 +7650,7 @@ msgid "Choose recent tag {0}"
 msgstr "Вибрати останній теґ {0}"
 
 msgid "Use this tag again"
-msgstr "Використовуйте цей теґ знову"
+msgstr "Використати цей теґ знову"
 
 msgid "Apply recent tag {0}"
 msgstr "Застосувати останній теґ {0}"
@@ -7726,14 +7780,14 @@ msgstr ""
 "зв’язку?</html>"
 
 msgid "Multiple members referring to same object."
-msgstr "Кілька членів посилаються на один той самий об’єкт."
+msgstr "Кілька членів посилаються на один і той самий об’єкт."
 
 msgid ""
 "<html>You are trying to add a relation to itself.<br><br>This creates "
 "circular references and is therefore discouraged.<br>Skipping relation "
 "''{0}''.</html>"
 msgstr ""
-"<html>Ви намагаєтесь додати зв’язок самого до себе.<br><br>Це створить "
+"<html>Ви намагаєтесь додати зв’язок до самого себе.<br><br>Це створить "
 "циклічне посилання і тому не рекомендується.<br>Пропустити зв’язок "
 "''{0}''.</html>"
 
@@ -7776,9 +7830,6 @@ msgstr "Виділити об’єкти для виділених членів
 msgid "Sort the relation members"
 msgstr "Впорядкувати членів зв’язку"
 
-msgid "Sort"
-msgstr "Впорядкувати"
-
 msgid "Relation Editor: Sort"
 msgstr "Редактор зв’язків: Сортування"
 
@@ -7829,7 +7880,7 @@ msgstr "Ні, продовжити редагування"
 
 msgid "Click to return to the relation editor and to resume relation editing"
 msgstr ""
-"Клацніть аби повернутися до редактора зв’язків та продовжити редагування"
+"Клацніть, щоб повернутися до редактора зв’язків та продовжити редагування"
 
 msgid ""
 "<html>This relation has been changed outside of the editor.<br>You cannot "
@@ -7860,13 +7911,13 @@ msgid "Yes, save the changes and close"
 msgstr "Так, зберегти зміни та закрити"
 
 msgid "Click to save the changes and close this relation editor"
-msgstr "Натисніть щоб зберегти зміни та закрити редактор зв’язків"
+msgstr "Натисніть, щоб зберегти зміни та закрити редактор зв’язків"
 
 msgid "No, discard the changes and close"
 msgstr "Ні, відкинути зміни та закрити"
 
 msgid "Click to discard the changes and close this relation editor"
-msgstr "Натисніть щоб вікинти зміни та закрити редактор зв’язків"
+msgstr "Натисніть, щоб відкинути зміни та закрити редактор зв’язків"
 
 msgid "Cancel, continue editing"
 msgstr "Скасувати, продовжити редагування"
@@ -7910,7 +7961,7 @@ msgid "This is equal to deleting the roles of these objects."
 msgstr "Це рівносильно вилученню ролей для цих об’єктів."
 
 msgid "Do you really want to apply the new role?"
-msgstr "Ви дійсно бажаєте, застосувати нову роль?"
+msgstr "Ви дійсно бажаєте застосувати нову роль?"
 
 msgid "Yes, apply it"
 msgstr "Так, застосовувати"
@@ -7922,26 +7973,26 @@ msgid "Confirm empty role"
 msgstr "Підтвердити порожню роль"
 
 msgid "Edit the relation the currently selected relation member refers to"
-msgstr "Виділений, при редагуванні зв’язку, член відноситься до"
+msgstr "Редагувати зв’язок, якому належить виділений член"
 
 msgid ""
 "Members from paste buffer cannot be added because they are not included in "
 "current layer"
 msgstr ""
-"Члени з буферу обміну не можуть бути додані тому, що вони не належать до "
+"Члени з буферу обміну не можуть бути додані, оскільки вони не належать до "
 "поточного шару"
 
 msgid "Select previous Gap"
 msgstr "Вибрати попередній розрив"
 
 msgid "Select the previous relation member which gives rise to a gap"
-msgstr "Виділити першого члена зв’язку який спричиняє розрив"
+msgstr "Виділити першого члена зв’язку, який спричиняє розрив"
 
 msgid "Select next Gap"
 msgstr "Вибрати наступний розрив"
 
 msgid "Select the next relation member which gives rise to a gap"
-msgstr "Виділити наступного члена зв’язку який спричиняє розрив"
+msgstr "Виділити наступного члена зв’язку, який спричиняє розрив"
 
 msgid "Zoom to Gap"
 msgstr "Масштабувати до розриву"
@@ -7953,10 +8004,10 @@ msgid "Refers to"
 msgstr "Посилається на"
 
 msgid "Download referring relations"
-msgstr "Завантажит зв’язки з посиланнями"
+msgstr "Завантажити зв’язки з посиланнями"
 
 msgid "There were {0} conflicts during import."
-msgstr "Підчас імпорту виникло {0} конфлітів"
+msgstr "Під час імпорту виникло {0} конфлітів"
 
 msgid "including immediate children of parent relations"
 msgstr "в тому числі безпосередні нащадки батьківських зв’язків"
@@ -8073,7 +8124,7 @@ msgid "Bounding Box"
 msgstr "Габаритний прямокутник"
 
 msgid "The string ''{0}'' is not a valid double value."
-msgstr "Рядок ''{0}''не є правильним подвійним значенням."
+msgstr "Рядок ''{0}''не є правильним значенням."
 
 msgid "Value for latitude in range [-90,90] required."
 msgstr "Значення широти має бути в межах [-90,90]."
@@ -8088,19 +8139,19 @@ msgid "OpenStreetMap data"
 msgstr "Дані OpenStreetMap"
 
 msgid "Select to download OSM data in the selected download area."
-msgstr "Позначте, щоб завантажити з сервера OSM дані, для виділеної ділянки"
+msgstr "Позначте, щоб завантажити з сервера OSM дані для виділеної ділянки"
 
 msgid "Raw GPS data"
 msgstr "Дані GPS"
 
 msgid "Select to download GPS traces in the selected download area."
-msgstr "Позначте, щоб завантажити з сервера GPS-треки, для виділеної ділянки"
+msgstr "Позначте, щоб завантажити з сервера GPS-треки для виділеної ділянки"
 
 msgid "Notes"
 msgstr "Нотатки"
 
 msgid "Select to download notes in the selected download area."
-msgstr "Оберіть для завантаження нотатки з виділеної ділянки."
+msgstr "Оберіть для завантаження нотаток з виділеної ділянки."
 
 msgid "Download as new layer"
 msgstr "Завантажити як новий шар"
@@ -8128,9 +8179,9 @@ msgid ""
 "map, wheel or +/- to zoom."
 msgstr ""
 "Для виділення ділянки клацніть лівою кнопкою миші та розтягніть прямокутник, "
-"використовуйте клавіші керування курсором або натисніть праву кнопку миші "
-"для пересування мапи, для масштабування скористайтесь коліщатком миші чи "
-"клавішами+/-."
+"для пересування мапи використовуйте клавіші керування курсором або натисніть "
+"праву кнопку миші, для масштабування скористайтесь коліщатком миші чи "
+"клавішами +/-."
 
 msgid "No area selected yet"
 msgstr "Ділянку досі не вибрано"
@@ -8155,8 +8206,8 @@ msgid ""
 "enabled.<br>Please choose to either download OSM data, or GPX data, or "
 "both.</html>"
 msgstr ""
-"<html>Ні <strong>{0}</strong>, ні  <strong>{1}</strong> недоступні.<br>Будь "
-"ласка, оберіть чи завантажити данні OSM, чи данні GPX, або завантажити їх "
+"<html>Ні <strong>{0}</strong>, ні <strong>{1}</strong> недоступні.<br>Будь "
+"ласка, оберіть чи завантажити дані OSM, чи дані GPX, або завантажити їх "
 "разом.</html>"
 
 msgid "Download referrers (parent relations)"
@@ -8200,7 +8251,7 @@ msgid "Areas around places"
 msgstr "Ділянки біля місця"
 
 msgid "Null pointer exception, possibly some missing tags."
-msgstr "Порожній покажчик помилки, можливо є відсутні теґи"
+msgstr "Виключення ''порожній покажчик'' — можливо, є відсутні теґи"
 
 msgid "Search ..."
 msgstr "Пошук…"
@@ -8249,11 +8300,11 @@ msgid ""
 msgstr ""
 "<html><p class=\"warning-header\">Допомога по цій темі відсутиня</p><p "
 "class=\"warning-body\">Допомога для теми <strong>{0}</strong> ще не "
-"доступна. Вона відсутня, як вашою мовою ({1}) так і англійською.<br><br>Будь "
-"ласка, допоможіть покращити довідкову систему JOSM та напишіть довідку по "
-"відсутній темі. You can both edit the <a href=\"{2}\">help topic in your "
-"local language ({1})</a> and the <a href=\"{3}\">help topic in "
-"English</a>.</p></html>"
+"доступна. Вона відсутня, як вашою мовою ({1}), так і "
+"англійською.<br><br>Будь ласка, допоможіть покращити довідкову систему JOSM "
+"та напишіть довідку по відсутній темі. You can both edit the <a "
+"href=\"{2}\">help topic in your local language ({1})</a> and the <a "
+"href=\"{3}\">help topic in English</a>.</p></html>"
 
 msgid ""
 "<html><p class=\"error-header\">Error when retrieving help information</p><p "
@@ -8263,8 +8314,8 @@ msgid ""
 msgstr ""
 "<html><p class=\"error-header\">Сталася помилка під час отримання довідкової "
 "інформації</p><p class=\"error-body\">Неможливо завантажити вміст довідкової "
-"статті <strong>{0}</strong>. Повідомлення про помилку (не "
-"перекладено):<br><tt>{1}</tt></p></html>"
+"статті <strong>{0}</strong>. Повідомлення про помилку (без "
+"перекладу):<br><tt>{1}</tt></p></html>"
 
 msgid ""
 "<html>Failed to open help page for url {0}.<br>This is most likely due to a "
@@ -8333,7 +8384,7 @@ msgid "History for relation {0}"
 msgstr "Історія зв’язку {0}"
 
 msgid "Reload the history from the server"
-msgstr "Перезавантажити історії з сервера"
+msgstr "Перезавантажити історію з сервера"
 
 msgid "History not initialized yet. Failed to set reference primitive."
 msgstr ""
@@ -8348,7 +8399,7 @@ msgstr ""
 msgid ""
 "Failed to set reference. Reference version {0} not available in history."
 msgstr ""
-"Не вдалося встановити посилання. номер версії {0} відсутній в історії."
+"Не вдалося встановити посилання. Номер версії {0} відсутній в історії."
 
 msgid "History not initialized yet. Failed to set current primitive."
 msgstr ""
@@ -8458,7 +8509,7 @@ msgid ""
 "include such a primitive"
 msgstr ""
 "Не вдалося оновити елемент з ідентифікатором {0}, тому що поточний шар не "
-"містить такий елемент"
+"містить такого елемента"
 
 msgid "Synchronize node {0} only"
 msgstr "Синхронізувати лише точку {0}"
@@ -8482,8 +8533,8 @@ msgid ""
 "server.<br>Click <strong>{6}</strong> to abort and continue "
 "editing.<br></html>"
 msgstr ""
-"<html>Надсилання на сервер <strong>не вдалося<strong> так як на сервері є "
-"більш нова версія однієї<br>з ваших точок, ліній або зв’язку.<br>Причиною "
+"<html>Надсилання на сервер <strong>не вдалося<strong>, оскільки на сервері є "
+"більш нова версія однієї<br>з ваших точок, ліній або зв’язків.<br>Причиною "
 "конфлікту є <strong>{0}</strong> з ід. <strong>{1}</strong>,<br>версія даних "
 "на сервері {2}, ваша версія {3}.<br><br>Натисніть <strong>{4}</strong>, щоб "
 "синхронізувати тільки конфліктний елемент.<br>Натисніть "
@@ -8498,9 +8549,9 @@ msgid ""
 "server.<br>Click <strong>{1}</strong> to abort and continue "
 "editing.<br></html>"
 msgstr ""
-"<html><strong>Надсилання на сервер <strong>не вдалося<strong> так як на "
+"<html><strong>Надсилання на сервер <strong>не вдалося<strong>, оскільки на "
 "сервері є більш нова версія однієї<br>з ваших точок, ліній або "
-"зв’язку.<br><br>Натисніть <strong>{0}</strong> для синхронізації локальних "
+"зв’язків.<br><br>Натисніть <strong>{0}</strong> для синхронізації локальних "
 "даних з сервером. <br> Натисніть <strong>{1}</strong> щоб перервати "
 "надсилання та продовжити редагування..<br></html>"
 
@@ -8509,7 +8560,7 @@ msgid ""
 "using<br>changeset {0} which was already closed at {1}.<br>Please upload "
 "again with a new or an existing open changeset.</html>"
 msgstr ""
-"<html>Надсилання на сервер <strong>не вдалась</strong> тому що ви "
+"<html>Надсилання на сервер <strong>не вдалося</strong>, тому що ви "
 "використовуєте<br>набір змін {0}, який вже був закритий {1}.<br>Будь ласка, "
 "надішліть знову з новим або існуючим відкритим набором змін.</html>"
 
@@ -8523,7 +8574,7 @@ msgid "Click to download all referring objects for {0}"
 msgstr "Натисніть, щоб завнатажити всі пов’язані з {0} об’єкти"
 
 msgid "Click to cancel and to resume editing the map"
-msgstr "Клацніть, щоб скасувати і повернутися до редагування ммапи"
+msgstr "Клацніть, щоб скасувати і повернутися до редагування мапи"
 
 msgid ""
 "Click <strong>{0}</strong> to load them now.<br>If necessary JOSM will "
@@ -8537,7 +8588,7 @@ msgid "Object still in use"
 msgstr "Об’єкт все ще використовується"
 
 msgid "Error header \"{0}\" did not match with an expected pattern"
-msgstr "Заголовок помилки \"{0}\" відрізняється від очікуванного шаблону"
+msgstr "Заголовок помилки \"{0}\" відрізняється від очікуваного шаблону"
 
 msgid "Upload"
 msgstr "Надіслати"
@@ -8575,7 +8626,7 @@ msgid "Created at:"
 msgstr "Створено в:"
 
 msgid "Changeset comment:"
-msgstr "Коментра набору змін"
+msgstr "Коментар набору змін"
 
 msgid "No open changeset"
 msgstr "Немає відкритого набору змін"
@@ -8584,7 +8635,7 @@ msgid ""
 "Please decide what changeset the data is uploaded to and whether to close "
 "the changeset after the next upload."
 msgstr ""
-"Будь ласка, вирішите, який набір змін даних надсилається і чи варто закрити "
+"Будь ласка, вирішіть, який набір змін даних надсилається і чи варто закрити "
 "набір змін після чергового надсилання на сервер."
 
 msgid "Upload to a new changeset"
@@ -8592,7 +8643,7 @@ msgstr "Надіслати у новий набір змін"
 
 msgid "Open a new changeset and use it in the next upload"
 msgstr ""
-"Відкрийте новий набір змін і використовувати його під час наступного "
+"Відкрити новий набір змін і використовувати його під час наступного "
 "надсилання"
 
 msgid "Upload to an existing changeset"
@@ -8612,7 +8663,7 @@ msgstr ""
 "Вибрати, який набір змін треба закрити, після наступного надсилання даних"
 
 msgid "Load the list of your open changesets from the server"
-msgstr "Завантажте список ваших відкритих наборів змін з сервера"
+msgstr "Завантажити список ваших відкритих наборів змін з сервера"
 
 msgid "Close the currently selected open changeset"
 msgstr "Закрити вибраний поточний відкритий набір змін"
@@ -8654,9 +8705,6 @@ msgstr "Введіть облікові дані для хосту"
 msgid "Enter credentials for HTTP proxy"
 msgstr "Введіть облікові дані для проксі HTTP"
 
-msgid "Username"
-msgstr "Логін"
-
 msgid "Password"
 msgstr "Пароль"
 
@@ -8687,7 +8735,7 @@ msgid ""
 "Authenticating at the host ''{0}'' failed. Please enter a valid username and "
 "a valid password."
 msgstr ""
-"Автентифікація на ''{0}'' не вдалась. Будь ласка введіть вірні ім’я "
+"Автентифікація на ''{0}'' не вдалась. Будь ласка, введіть вірні ім’я "
 "користувача та пароль."
 
 msgid "Please enter the user name for authenticating at your proxy server"
@@ -8737,7 +8785,7 @@ msgid ""
 "Skipping download."
 msgstr ""
 "Неможливо завантажити файл ''{0}''. Посилання для його завантаження ''{1}'' "
-"не є вірними URL. Пропускаємо завантаження."
+"не є вірним URL. Пропускаємо завантаження."
 
 msgid ""
 "Could not retrieve the list of your open changesets because<br>JOSM does not "
@@ -8809,7 +8857,7 @@ msgstr "Шар ''{0}'' поки ще не збережений у файлі"
 
 msgid "File ''{0}'' is not writable. Please enter another file name."
 msgstr ""
-"Не можливо записати у файл ''{0}''. Будь ласка, введіть інше ім’я файлу."
+"Неможливо записати у файл ''{0}''. Будь ласка, введіть інше ім’я файлу."
 
 msgid "Click cell to change the file path."
 msgstr "Клацніть на клітинку, щоб змінити шлях до файлу."
@@ -8895,17 +8943,17 @@ msgid_plural ""
 "written.<br>Either select another file for each of them or discard the "
 "changes.<br>Layers with non-writable files:</html>"
 msgstr[0] ""
-"<html>{0} шар потрібно зберегти, але в пов’язаний з ним файл<br>не можливо "
+"<html>{0} шар потрібно зберегти, але в пов’язаний з ним файл<br>неможливо "
 "здійснити запис.<br>Або оберіть інший файл для цього шару, або відмініть "
-"зміни.<br>Шар з файлом, в який не можливо здійснити запис:</html>"
+"зміни.<br>Шар з файлом, в який неможливо здійснити запис:</html>"
 msgstr[1] ""
-"<html>{0} шари потрібно зберегти, але в пов’язані з ними файли<br>не можливо "
+"<html>{0} шари потрібно зберегти, але в пов’язані з ними файли<br>неможливо "
 "здійснити запис.<br>Або оберіть інший файл для кожного шару, або відмініть "
-"зміни.<br>Шари з файлами, в які не можливо здійснити запис:</html>"
+"зміни.<br>Шари з файлами, в які неможливо здійснити запис:</html>"
 msgstr[2] ""
-"<html>{0} шарів потрібно зберегти, але в пов’язані з ними файли<br>не "
-"можливо здійснити запис.<br>Або оберіть інший файл для кожного шару, або "
-"відмініть зміни.<br>Шари з файлами, в які не можливо здійснити запис:</html>"
+"<html>{0} шарів потрібно зберегти, але в пов’язані з ними файли<br>неможливо "
+"здійснити запис.<br>Або оберіть інший файл для кожного шару, або відмініть "
+"зміни.<br>Шари з файлами, в які неможливо здійснити запис:</html>"
 
 msgid "Unsaved data non-writable files"
 msgstr "Не збережені дані для файлів, в які неможливо здійснити запис"
@@ -9038,7 +9086,7 @@ msgid "Upload the changed primitives"
 msgstr "Надіслати на сервер змінені елементи"
 
 msgid "Please revise upload comment"
-msgstr "Будьласка, перегляньте свій коментар"
+msgstr "Будь ласка, перегляньте свій коментар"
 
 msgid ""
 "Your upload comment is <i>empty</i>, or <i>very short</i>.<br /><br />This "
@@ -9049,9 +9097,9 @@ msgid ""
 msgstr ""
 "Ваш коментар — <i>порожній</i> або <i>дуже короткий</i>.<br /><br "
 "/>Технічно, його можливо лишити таким, але зважте на те, що багато "
-"учасників<br />переглядають зміни у цій ділянці бажають бачити зрозумілі "
+"учасників<br />переглядають зміни у цій ділянці і бажають бачити зрозумілі "
 "пояснення<br />того, що тут було змінено!<br /><br />Якщо зараз ви витратите "
-"хвилину на пояснення того, що ви зробили,<br />це полегшити роботу інших "
+"хвилину на пояснення того, що ви зробили,<br />це полегшить роботу інших "
 "учасників проекту."
 
 msgid "Please specify a changeset source"
@@ -9064,7 +9112,7 @@ msgid ""
 "change, you will make life<br />easier for many other mappers."
 msgstr ""
 "Ви не вказали джерело інформації ваших змін.<br />Технічно це можливо, але "
-"така інформація допоможе<br />іншим маперам зрозуміти звідки взялись ці "
+"така інформація допоможе<br />іншим маперам зрозуміти, звідки взялись ці "
 "дані.<br /><br />Якщо ви витратите кілька хвилин зараз, щоб пояснити ваші "
 "зміни, ви значно<br />спростите життя іншим маперам."
 
@@ -9072,14 +9120,14 @@ msgid "Revise"
 msgstr "Переглянути"
 
 msgid "Continue as is"
-msgstr "Продовжити так як є"
+msgstr "Продовжити так, як є"
 
 msgid "Return to the previous dialog to enter a more descriptive comment"
 msgstr ""
 "Повернутись до попереднього вікна, щоб ввести більш докладний коментар"
 
 msgid "Cancel and return to the previous dialog"
-msgstr "Відмінити  та повернутись до попереднього вікна"
+msgstr "Відмінити та повернутись до попереднього вікна"
 
 msgid "Please enter a valid chunk size first"
 msgstr "Будь ласка, спочатку введіть вірний розмір порції"
@@ -9097,19 +9145,19 @@ msgid_plural ""
 "<html>The following changeset tags contain an empty "
 "key/value:<br>{0}<br>Continue?</html>"
 msgstr[0] ""
-"<html>Теґ набору змін має пусті ключ/значення:<br>{0}<br>Продовжити?</html>"
+"<html>Теґ набору змін має порожні ключ/значення:<br>{0}<br>Продовжити?</html>"
 msgstr[1] ""
-"<html>Теґи набору змін мають пусті "
+"<html>Теґи набору змін мають порожні "
 "ключ/значення:<br>{0}<br>Продовжити?</html>"
 msgstr[2] ""
-"<html>Теґи набору змін мають пусті "
+"<html>Теґи набору змін мають порожні "
 "ключ/значення:<br>{0}<br>Продовжити?</html>"
 
 msgid "Empty metadata"
 msgstr "Відсутні метадані"
 
 msgid "Cancel the upload and resume editing"
-msgstr "Відмінити надсилання даний та повернутись до редагування"
+msgstr "Відмінити надсилання даних та повернутись до редагування"
 
 msgid "Tags of changeset {0}"
 msgstr "Теґи набору змін {0}"
@@ -9164,20 +9212,20 @@ msgid_plural ""
 "Uploading <strong>{0} objects</strong> to <strong>1 changeset</strong> using "
 "<strong>1 request</strong>"
 msgstr[0] ""
-"Надсилання <strong>{0} об’єкта</strong> до <strong>1 набору змін</strong> "
+"Надсилання <strong>{0} об’єкта</strong> до <strong>1 набору змін</strong>, "
 "використовуючи <strong>1 запит</strong>"
 msgstr[1] ""
-"Надсилання <strong>{0} об’єктів</strong> до <strong>1 набору змін</strong> "
+"Надсилання <strong>{0} об’єктів</strong> до <strong>1 набору змін</strong>, "
 "використовуючи <strong>1 запит</strong>"
 msgstr[2] ""
-"Надсилання <strong>{0} об’єктів</strong> до <strong>1 набору змін</strong> "
+"Надсилання <strong>{0} об’єктів</strong> до <strong>1 набору змін</strong>, "
 "використовуючи <strong>1 запит</strong>"
 
 msgid ""
 "Uploading <strong>{0} objects</strong> to <strong>1 changeset</strong> using "
 "<strong>{1} requests</strong>"
 msgstr ""
-"Надсилання <strong>{0} об’єктів</strong> до <strong>1 набору змін</strong> "
+"Надсилання <strong>{0} об’єктів</strong> до <strong>1 набору змін</strong>, "
 "використовуючи <strong>{1} запит(и)</strong>"
 
 msgid "advanced configuration"
@@ -9191,13 +9239,13 @@ msgstr ""
 "{0} об’єкт(ів) перевищили макс. дозволену кількість ({1}) об’єктів в наборі "
 "змін на сервері ''{2}''. Будь ласка, <a href=\"urn:advanced-"
 "configuration\">укажіть</a> яким чином поводитись з <strong>кількома "
-"наборами змінне</strong>"
+"наборами змін</strong>"
 
 msgid ""
 "Uploading <strong>{0} objects</strong> to <strong>multiple "
 "changesets</strong> using <strong>{1} requests</strong>"
 msgstr ""
-"надсилання на сервер <strong>{0} об’єтів</strong> в <strong>кількох наборах "
+"надсилання на сервер <strong>{0} об’єктів</strong> в <strong>кількох наборах "
 "змін</strong>, використовуючи <strong>{1} запити(ів)</strong>"
 
 msgid "Uploading data for layer ''{0}''"
@@ -9213,7 +9261,7 @@ msgid "Go back to Upload Dialog"
 msgstr "Повернутись до діалогу надсилання даних"
 
 msgid "Click to return to the Upload Dialog"
-msgstr "Натисніть щоб повернутись до діалогу надсилання даних"
+msgstr "Натисніть, щоб повернутись до діалогу надсилання даних"
 
 msgid "Abort"
 msgstr "Відмінити"
@@ -9242,7 +9290,7 @@ msgid ""
 "dialog.<br>Click ''<strong>{2}</strong>'' to abort uploading and return to "
 "map editing.<br>"
 msgstr ""
-"Натисніть ''<strong>{0}</strong>'', щоб  продовжити надсилання на сервер у "
+"Натисніть ''<strong>{0}</strong>'', щоб продовжити надсилання на сервер у "
 "нові додаткові набори змін.<br>Натисніть ''<strong>{1}</strong>'', щоб "
 "повернутись до діалогу надсилання на сервер.<br>Натисніть "
 "''<strong>{2}</strong>'', щоб скасувати надсилання на сервер та повернутись "
@@ -9259,12 +9307,10 @@ msgstr "Лінія ''{0}'' — вилучена. Об’єкт буде проп
 
 msgid "Relation ''{0}'' is already deleted. Skipping object in upload."
 msgstr ""
-"Зв’язок  ''{0}'' — вилучений. Об’єкт буде пропущено під час надсилання."
+"Зв’язок ''{0}'' — вилучений. Об’єкт буде пропущено під час надсилання."
 
 msgid "Object ''{0}'' is already deleted. Skipping object in upload."
-msgstr ""
-"Об’єкт ''{0}'' вилучений. Об’єкт буде пропущено під час надсилання даних на "
-"сервер."
+msgstr "Об’єкт ''{0}'' вилучений. Об’єкт буде пропущено під час надсилання."
 
 msgid "Uploading {0} object..."
 msgid_plural "Uploading {0} objects..."
@@ -9275,7 +9321,7 @@ msgstr[2] "Надсилання {0} об’єктів…"
 msgid ""
 "Ignoring caught exception because upload is canceled. Exception is: {0}"
 msgstr ""
-"Ігнорування виявленого виключення, тому що надсилання на сервер скасовано. "
+"Ігнорування виявленого виключення, оскільки надсилання на сервер скасовано. "
 "Помилка: {0}"
 
 msgid "Upload successful!"
@@ -9292,7 +9338,7 @@ msgid ""
 "<html>Mark <strong>locally deleted objects</strong> to be deleted on the "
 "server.</html>"
 msgstr ""
-"<html>Позначити <strong>локально вилучені об’єкти</strong>, які потрібно "
+"<html>Позначте <strong>локально вилучені об’єкти</strong>, які потрібно "
 "вилучити на сервері.</html>"
 
 msgid "Select objects to upload"
@@ -9457,13 +9503,13 @@ msgid "Next marker"
 msgstr "Наступна мітка"
 
 msgid "Jump to next marker"
-msgstr "Перейти  до наступного маркера"
+msgstr "Перейти до наступної мітки"
 
 msgid "Previous marker"
 msgstr "Попередня мітка"
 
 msgid "Jump to previous marker"
-msgstr "Перейти до попереднього маркера"
+msgstr "Перейти до попередньої мітки"
 
 msgid "All projections are supported"
 msgstr "Підтримуються усі проекції"
@@ -9480,6 +9526,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Зберегти шар"
 
+msgid "Note"
+msgstr "Примітка"
+
 msgid "Notes layer"
 msgstr "Шар Нотатки"
 
@@ -9493,7 +9542,7 @@ msgid "Data Layer {0}"
 msgstr "Дані {0}"
 
 msgid "outside downloaded area"
-msgstr "по-за межами завантаженої ділянки"
+msgstr "поза межами завантаженої ділянки"
 
 msgid "Merging layers"
 msgstr "Злиття шарів"
@@ -9535,7 +9584,7 @@ msgid "Empty document"
 msgstr "Порожній документ"
 
 msgid "Save anyway"
-msgstr "Всеодно зберегти"
+msgstr "Все одно зберегти"
 
 msgid "The document contains no data."
 msgstr "Документ не містить даних."
@@ -9585,7 +9634,7 @@ msgid "Load Tile"
 msgstr "Завантажити квадрат мапи"
 
 msgid "Show Tile Info"
-msgstr "Показати дані квадрату"
+msgstr "Показати дані квадрата"
 
 msgid "Load All Tiles"
 msgstr "Завантажити всі квадрати мапи"
@@ -9659,8 +9708,8 @@ msgstr "Завантажити видимі квадрати мапи"
 msgid ""
 "The requested area is too big. Please zoom in a little, or change resolution"
 msgstr ""
-"Запрошення ділянка занадто велика. Будь ласка, трохи наблизьтесь, або "
-"змініть розподільчу здатність"
+"Запрошена ділянка занадто велика. Будь ласка, трохи наблизьтесь, або змініть "
+"розподільчу здатність"
 
 msgid "Change resolution"
 msgstr "Змінити розподільчу здатність"
@@ -9739,13 +9788,13 @@ msgid ""
 "Please use the requested format"
 msgstr ""
 "Помилка розбору дати.\n"
-"Будь ласка використовуйте формат запиту"
+"Будь ласка, використовуйте формат запиту"
 
 msgid "Invalid date"
 msgstr "Невірна дата"
 
 msgid "<No GPX track loaded yet>"
-msgstr "<GPX-трек ще не заватажено>"
+msgstr "<GPX-трек ще не завантажено>"
 
 msgid "GPX track: "
 msgstr "Трек GPX: "
@@ -9843,10 +9892,10 @@ msgid "Adjust timezone and offset"
 msgstr "Налаштування часового поясу і зсуву"
 
 msgid "The selected photos do not contain time information."
-msgstr "Вибрані фотографії не містять інформацію про час."
+msgstr "Вибрані фотографії не містять інформації про час."
 
 msgid "Photos do not contain time information"
-msgstr "Фотографії не містять інформацію про час."
+msgstr "Фотографії не містять інформації про час."
 
 msgid ""
 "The selected GPX track does not contain timestamps. Please select another "
@@ -9882,7 +9931,7 @@ msgid "Extracting GPS locations from EXIF"
 msgstr "Видобування координат GPS з EXIF"
 
 msgid "Starting directory scan"
-msgstr "Запуск сканування каталогу"
+msgstr "Запуск сканування теки"
 
 msgid "Read photos..."
 msgstr "Переглянути фотографії…"
@@ -9891,13 +9940,13 @@ msgid "Reading {0}..."
 msgstr "Перегляд {0}…"
 
 msgid "Unable to get canonical path for directory {0}\n"
-msgstr "Не вдалося отримати канонічний шлях до каталогу {0}\n"
+msgstr "Не вдалося отримати канонічний шлях до теки {0}\n"
 
 msgid "Scanning directory {0}"
-msgstr "Сканування каталогу  {0}"
+msgstr "Сканування теки {0}"
 
 msgid "Error while getting files from directory {0}\n"
-msgstr "Помилка читання файлів з каталогу {0}\n"
+msgstr "Помилка читання файлів з теки {0}\n"
 
 msgid "One of the selected files was null"
 msgstr "Один з виділених файлів порожній"
@@ -9928,7 +9977,7 @@ msgstr ""
 "втрачено!</h3></html>"
 
 msgid "Image file could not be deleted."
-msgstr "Не можливо вилучити файл зображення"
+msgstr "Неможливо вилучити файл зображення"
 
 msgid "No image"
 msgstr "Немає зображень"
@@ -9940,7 +9989,7 @@ msgid "Error on file {0}"
 msgstr "Помилка в файлі {0}"
 
 msgid "Display geotagged images"
-msgstr "Показати зображення з гео-теґами"
+msgstr "Показати зображення з геотеґами"
 
 msgid "Previous"
 msgstr "Попереднє"
@@ -9957,6 +10006,9 @@ msgstr "Вилучити фото із шару"
 msgid "Delete File from disk"
 msgstr "Вилучити файл з диску"
 
+msgid "Copy image path"
+msgstr "Копіювати шлях зображення"
+
 msgid "Next"
 msgstr "Наступне"
 
@@ -9990,7 +10042,7 @@ msgid ""
 "{0} km/h"
 msgstr ""
 "\n"
-"{0} км/г"
+"{0} км/год"
 
 msgid ""
 "\n"
@@ -10028,8 +10080,8 @@ msgid ""
 "updated live in the background. Open the URLs by double clicking them.</html>"
 msgstr ""
 "<html>Виділіть всі треки, які ви бажаєте бачити. Ви можете змінити діапазон "
-"показуваних треків мишею, або ж виділити тільки потрібні клацаючи на них "
-"утримуючи CTRL. Мапа в фоні буде оновлюватись в живу. Відкривайте URL "
+"показуваних треків мишею, або ж виділити тільки потрібні, клацаючи на них, "
+"утримуючи CTRL. Мапа в фоні буде оновлюватись вживу. Відкривайте URL "
 "подвійним клацанням по них.</html>"
 
 msgid "Set track visibility for {0}"
@@ -10104,7 +10156,7 @@ msgid "Download from OSM along this track"
 msgstr "Завантажити з OSM дані уздовж цього треку"
 
 msgid "Calculating Download Area"
-msgstr "Обрахунок Ділянки для Завантаження"
+msgstr "Обрахунок ділянки для завантаження"
 
 msgid "Precache imagery tiles along this track"
 msgstr "Завантажити до кешу фонове зображення вздовж треку"
@@ -10125,7 +10177,7 @@ msgid "No imagery layers"
 msgstr "Немає шарів з фоновим зображенням"
 
 msgid "Velocity, km/h"
-msgstr "Швидкість, км/г"
+msgstr "Швидкість, км/год"
 
 msgid "HDOP, m"
 msgstr "HDOP, м"
@@ -10147,8 +10199,8 @@ msgid ""
 "server.<br>Because its way points do not include a timestamp we cannot "
 "correlate them with audio data.</html>"
 msgstr ""
-"<html>Дані в шарі GPX ''{0}'' були завантажені з сервера.<br>Так як точки не "
-"містять міток часу, ми не можемо синхронізувати їх з аудіо-даними.</html>"
+"<html>Дані в шарі GPX ''{0}'' були завантажені з сервера.<br>Оскільки точки "
+"не містять міток часу, ми не можемо синхронізувати їх з аудіоданими.</html>"
 
 msgid "Import not possible"
 msgstr "Імпорт неможливий"
@@ -10184,7 +10236,7 @@ msgid ""
 "server.<br>Because its way points do not include a timestamp we cannot "
 "correlate them with images.</html>"
 msgstr ""
-"<html><html>Дані в шарі GPX ''{0}'' були завантажені з сервера.<br>Так як "
+"<html><html>Дані в шарі GPX ''{0}'' були завантажені з сервера.<br>Оскільки "
 "точки не містять міток часу, ми не можемо синхронізувати їх з "
 "зображеннями.</html>"
 
@@ -10210,8 +10262,7 @@ msgstr[1] "{0} складається з {1} позначок"
 msgstr[2] "{0} складається з {1} позначок"
 
 msgid "No existing audio markers in this layer to offset from."
-msgstr ""
-"В цьому шарі відсутні аудіо-позначки від яких можливо зробити зрушення."
+msgstr "В цьому шарі відсутні аудіо-позначки, від яких можливо зробити зсув."
 
 msgid "Show Text/Icons"
 msgstr "Показати текст/значки"
@@ -10300,15 +10351,15 @@ msgid ""
 "Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use "
 "''{2}'' instead."
 msgstr ""
-"Виявлено застаріле значення ''{0}'' в ''{1}'', яке буде вилучене  найближчим "
+"Виявлено застаріле значення ''{0}'' в ''{1}'', яке буде вилучене найближчим "
 "часом. Замість цього використовуйте ''{2}''."
 
 msgid "Illegal dash pattern, values must be positive"
-msgstr "Невірний шаблон переривчастою лінії, значення має бути позитивним"
+msgstr "Невірний шаблон переривчастої лінії, значення має бути позитивним"
 
 msgid "Illegal dash pattern, at least one value must be > 0"
 msgstr ""
-"Невірний шаблон переривчастою лінії, принаймні, одне значення має бути> 0"
+"Невірний шаблон переривчастої лінії, принаймні одне значення має бути > 0"
 
 msgid ""
 "Failed to parse Mappaint styles from ''{0}''. Error was: [{1}:{2}] {3}"
@@ -10391,10 +10442,10 @@ msgid ""
 "external browser<br>to authenticate itself and to accept the request token "
 "submitted by JOSM.</html>"
 msgstr ""
-"<html>Запустити напівавтоматичну процедуру  отримання мітки доступу з веб-"
+"<html>Запустити напівавтоматичну процедуру отримання мітки доступу з веб-"
 "сайту OSM.<br>При цьому JOSM надішле стандартні запити OAuth, запит для "
 "отримання мітки запиту та самої<br>мітки доступу. Користувач буде "
-"направлений на веб-сайт OSM за допомогою зовнішнього оглядача<br>щоб "
+"направлений на веб-сайт OSM за допомогою зовнішнього оглядача,<br>щоб "
 "ідентифікуватись та отримати мітку запиту, надіслану з JOSM.</html>"
 
 msgid ""
@@ -10466,7 +10517,7 @@ msgstr "Будь ласка, введіть ваше ім’я користув
 
 msgid "The user name cannot be empty. Please enter your OSM user name"
 msgstr ""
-"Ім’я користувача не може бути порожнім. Будь ласка введіть Ваше ім’я "
+"Ім’я користувача не може бути порожнім. Будь ласка, введіть Ваше ім’я "
 "користувача в OSM"
 
 msgid "Please enter your OSM password"
@@ -10499,7 +10550,7 @@ msgstr ""
 "<html>Не вдалося автоматично отримати мітку доступу OAuth <br>з сервера OSM, "
 "тому що JOSM не зміг побудувати<br>вірне URL-посилання для входу з URL OAuth "
 "Authorize Endpoint ''{0}''.<br><br>Будь ласка, перевірте ваші розширені "
-"настройки і спробуйте ще раз.</html>"
+"налаштування і спробуйте ще раз.</html>"
 
 msgid ""
 "<html>The automatic process for retrieving an OAuth Access Token<br>from the "
@@ -10542,7 +10593,7 @@ msgstr "Будь ласка, введіть ключ мітки доступу"
 msgid ""
 "The Access Token Key must not be empty. Please enter an Access Token Key"
 msgstr ""
-"Ключ мітки доступу не повинен буди порожнім. Будь ласка, введіть ключ мітки "
+"Ключ мітки доступу не повинен бути порожнім. Будь ласка, введіть ключ мітки "
 "доступу"
 
 msgid "Please enter an Access Token Secret"
@@ -10552,11 +10603,11 @@ msgid ""
 "The Access Token Secret must not be empty. Please enter an Access Token "
 "Secret"
 msgstr ""
-"Таємний ключ мітки доступу не повинен буди порожнім. Будь ласка, введіть "
+"Таємний ключ мітки доступу не повинен бути порожнім. Будь ласка, введіть "
 "таємний ключ мітки доступу"
 
 msgid "Click to test the Access Token"
-msgstr "Натисніть, для перевірки мітки доступу"
+msgstr "Натисніть для перевірки мітки доступу"
 
 msgid ""
 "With OAuth you grant JOSM the right to upload map data and GPS tracks on "
@@ -10647,7 +10698,7 @@ msgstr "Дозволити запис ваших налаштувань"
 
 msgid "Select to grant JOSM the right to write your server preferences"
 msgstr ""
-"Виберіть, для надання JOSM прав на запис ваших налаштувань для сервера"
+"Виберіть для надання JOSM прав на запис ваших налаштувань для сервера"
 
 msgid "Allow modifications of notes"
 msgstr "Дозволити змінювати нотатки"
@@ -10763,8 +10814,8 @@ msgid ""
 "token.</html>"
 msgstr ""
 "<html>Неможливо отримати доступ до сервера OSM ''{0}'' з<br>Міткою доступу "
-"''{1}''.<br>Сервер відхилив Мітку доступу як неавтентифіковану. Ви не в "
-"змозі<br>отримати доступ до захищених ресурсів сервера, використовуючи цю "
+"''{1}''.<br>Сервер відхилив Мітку доступу як неавтентифіковану. Ви не "
+"можете<br>отримати доступ до захищених ресурсів сервера, використовуючи цю "
 "мітку.</html>"
 
 msgid "Test failed"
@@ -10810,8 +10861,8 @@ msgid ""
 "later.</html>"
 msgstr ""
 "<html>Тест не пройшов, тому що сервер повідомив про внутрішню "
-"помилку.<br>JOSM не зміг визначити достовірність мітки. Будь ласка,спробуйте "
-"пізніше.</html>"
+"помилку.<br>JOSM не зміг визначити достовірність мітки. Будь ласка, "
+"спробуйте пізніше.</html>"
 
 msgid "Retrieving user info..."
 msgstr "Отримання інформації про користувача…"
@@ -10868,7 +10919,7 @@ msgid "active"
 msgstr "активний"
 
 msgid "Map paint style file (*.xml, *.mapcss, *.zip)"
-msgstr "Файли стілів показу мапи (*.xml, *.mapcss, *.zip)"
+msgstr "Файл стилів показу мапи (*.xml, *.mapcss, *.zip)"
 
 msgid "Preset definition file (*.xml, *.zip)"
 msgstr "Файл шаблонів (*.xml, *.zip)"
@@ -10880,7 +10931,7 @@ msgid "Edit source entry:"
 msgstr "Правити запис:"
 
 msgid "Entry ''{0}'' requires JOSM Version {1}. (Currently running: {2})"
-msgstr "Елемент ''{0}'' потребує версію JOSM {1}. (Поточна версыя: {2})"
+msgstr "Елемент ''{0}'' потребує версію JOSM {1}. (Поточна версія: {2})"
 
 msgid "Continue anyway"
 msgstr "Продовжити"
@@ -11007,7 +11058,7 @@ msgid "Open JOSM customization file"
 msgstr "Відкрити файл власних налаштувань користувача JOSM"
 
 msgid "Import log"
-msgstr "Журнал импорту"
+msgstr "Журнал імпорту"
 
 msgid ""
 "<html>Here is file import summary. <br/>You can reject preferences changes "
@@ -11015,8 +11066,8 @@ msgid ""
 "JOSM restart may be needed.</html>"
 msgstr ""
 "<html>Це файл із результатами імпорту. <br/>Ви можете відмінити зміни "
-"налаштувань натиснувши на кнопку «Скасувати» у вікні налаштувань.<br/>Щоб "
-"задіяти деякі зміни потрібно перезапустити JOSM.</html>"
+"налаштувань, натиснувши на кнопку «Скасувати» у вікні налаштувань.<br/>Щоб "
+"задіяти деякі зміни, можливо, потрібно перезапустити JOSM.</html>"
 
 msgid "shortcut"
 msgstr "комбінації клавіш"
@@ -11049,13 +11100,13 @@ msgid "Save {0} profile"
 msgstr "Зберегти профіль {0}"
 
 msgid "All the preferences of this group are default, nothing to save"
-msgstr "Всі налаштування для цієї групи є типовими — немає що зберігати"
+msgstr "Всі налаштування для цієї групи є типовими — нічого зберігати"
 
 msgid "Choose profile file"
 msgstr "Оберіть файл профілю"
 
 msgid "Change list setting"
-msgstr "Змінити пареметр списку"
+msgstr "Змінити параметр списку"
 
 msgid "Key: {0}"
 msgstr "Ключ: {0}"
@@ -11147,7 +11198,7 @@ msgid "Named trackpoints."
 msgstr "Іменовані точки треку."
 
 msgid "Modified times (time stamps) of audio files."
-msgstr "Змінений час (часові відбитки) аудіо-файлів."
+msgstr "Змінений час (часові відбитки) аудіофайлів."
 
 msgid "Start of track (will always do this if no other markers available)."
 msgstr "Початок треку (завжди встановлювати, якщо інші мітки відсутні)"
@@ -11284,7 +11335,7 @@ msgid "Draw rubber-band helper line"
 msgstr "Показувати «гумову» допоміжну лінію"
 
 msgid "Smooth map graphics (antialiasing)"
-msgstr "Згладжені лінії (антіаліасінг)"
+msgstr "Згладжені лінії (антиаліасінг)"
 
 msgid "Smooth map graphics in wireframe mode (antialiasing)"
 msgstr "Згладжувати елементи мапи в каркасному режимі"
@@ -11334,7 +11385,7 @@ msgid ""
 "This option suppresses the filling of areas, overriding anything specified "
 "in the selected style."
 msgstr ""
-"Ця опція пригнічує заповнення ділянок, відкидаючи будь що, що зазначено в "
+"Ця опція пригнічує заповнення ділянок, відкидаючи будь-що, що зазначено в "
 "обраному стилі."
 
 msgid ""
@@ -11452,7 +11503,7 @@ msgid ""
 "Maximum length (in meters) to draw lines for local files. Set to ''-1'' to "
 "draw all lines."
 msgstr ""
-"Максимальна довжина ліній (в метрах) для локальних файлів. Встановіть «-1» "
+"Максимальна довжина ліній (в метрах) для локальних файлів. Встановіть «-1», "
 "щоб показувати всі лінії."
 
 msgid "Maximum length for local files (meters)"
@@ -11461,7 +11512,7 @@ msgstr "Максимальна довжина для локальних файл
 msgid ""
 "Maximum length (in meters) to draw lines. Set to ''-1'' to draw all lines."
 msgstr ""
-"Максимальна довжина (у метрах) ліній для показу. Встановіть «-1» щоб "
+"Максимальна довжина (у метрах) ліній для показу. Встановіть «-1», щоб "
 "показувати всі лінії."
 
 msgid "Maximum length (meters)"
@@ -11505,7 +11556,7 @@ msgstr "Товщина ліній GPX"
 msgid ""
 "Apply antialiasing to the GPX lines resulting in a smoother appearance."
 msgstr ""
-"Застосовування згладжування до ліній GPX  призведе до їх більш плавного "
+"Застосовування згладжування до ліній GPX призведе до їх більш плавного "
 "вигляду."
 
 msgid ""
@@ -11589,7 +11640,7 @@ msgid ""
 "Display buttons in right side menus only when mouse is inside the element"
 msgstr ""
 "Показувати кнопки в боковому меню праворуч тільки коли вказівник миші "
-"знаходиться в середині елемента"
+"знаходиться всередині елемента"
 
 msgid "ISO 8601"
 msgstr "ISO 8601"
@@ -11606,7 +11657,7 @@ msgid ""
 "not support some features like file filters"
 msgstr ""
 "Використання діалогу вибору файлів, що поводиться майже як вбудований. Він "
-"виглядає миліше але не підтримує деякі функції фільтрування файлів"
+"виглядає миліше, але не підтримує деякі функції фільтрування файлів"
 
 msgid "Look and Feel"
 msgstr "Зовнішній вигляд"
@@ -11663,7 +11714,7 @@ msgid "4. Enter name for this layer"
 msgstr "4. Додайте назву для цього шару"
 
 msgid "Store WMS endpoint only, select layers at usage"
-msgstr "Зберегти тільки кінцеві точки WMS, виберіть шар для використаня"
+msgstr "Зберегти тільки кінцеві точки WMS, виберіть шар для використання"
 
 msgid "Show bounds"
 msgstr "Показати межі"
@@ -11687,7 +11738,7 @@ msgid "5. Enter name for this layer"
 msgstr "5. Додайте назву для цього шару"
 
 msgid "Show Bounds"
-msgstr "Показати границі"
+msgstr "Показати межі"
 
 msgid "No bounding box was found for this layer."
 msgstr "Для цього шару не знайдено габаритного прямокутника."
@@ -11723,7 +11774,7 @@ msgid "WMS Settings"
 msgstr "Параметри WMS"
 
 msgid "TMS Settings"
-msgstr "Праметри TMS"
+msgstr "Параметри TMS"
 
 msgid "Imagery providers"
 msgstr "Постачальники фонів"
@@ -11780,7 +11831,7 @@ msgid "Layer"
 msgstr "Рівень"
 
 msgid "Easting"
-msgstr "Східніще"
+msgstr "Східніше"
 
 msgid "Northing"
 msgstr "Північніше"
@@ -11858,8 +11909,8 @@ msgid ""
 "<i>(JOSM can keep a backup file when saving data layers. It appends ''~'' to "
 "the file name and saves it in the same folder.)</i>"
 msgstr ""
-"<i>(JOSM може залишати резервні копії зберігаючи шари з даними. Він додає до "
-"їх назви  ''~'' та зберігає у ту ж саму теку.)</i>"
+"<i>(JOSM може залишати резервні копії, зберігаючи шари з даними. Він додає "
+"до їх назви ''~'' та зберігає у ту ж саму теку.)</i>"
 
 msgid "Notification at each save"
 msgstr "Повідомлення при кожному збереженні"
@@ -11998,7 +12049,7 @@ msgid "Active presets:"
 msgstr "Задіяні шаблони:"
 
 msgid "Add a new preset by entering filename or URL"
-msgstr "Додатиновий шаблон введенням імені файлу чи URL"
+msgstr "Додати новий шаблон введенням імені файлу чи URL"
 
 msgid "New preset entry:"
 msgstr "Новий шаблон:"
@@ -12023,7 +12074,7 @@ msgid ""
 "from<br>''{0}''.<br><br>Details (untranslated):<br>{1}</html>"
 msgstr ""
 "<html>Збій завантаження переліку сирців шаблонів "
-"з<br>''{0}''.<br><br>Подробиці (неперекладені):<br>{1}</html>"
+"з<br>''{0}''.<br><br>Подробиці (англ.):<br>{1}</html>"
 
 msgid "Warning: illegal format of entry in preset list ''{0}''. Got ''{1}''"
 msgstr ""
@@ -12151,7 +12202,7 @@ msgid ""
 "Please decide whether JOSM shall automatically update active plugins at "
 "startup after an update of JOSM itself."
 msgstr ""
-"Будь ласка вирішите, чи потрібно автоматично оновлювати встановлені втулки, "
+"Будь ласка, вирішіть, чи потрібно автоматично оновлювати встановлені втулки "
 "після завантаження нової версії JOSM."
 
 msgid "Update interval (in days):"
@@ -12161,7 +12212,7 @@ msgid ""
 "Please decide whether JOSM shall automatically update active plugins after a "
 "certain period of time."
 msgstr ""
-"Будь ласка, зазначте чи потрібно JOSM’у автоматично оновлювати активні "
+"Будь ласка, вирішіть, чи потрібно JOSM’у автоматично оновлювати активні "
 "втулки через певний проміжок часу."
 
 msgid "By Code (EPSG)"
@@ -12225,7 +12276,7 @@ msgid "WMS SRS (EPSG code)"
 msgstr "WMS SRS (код EPSG)"
 
 msgid "Gauß-Krüger"
-msgstr "Gauß-Krüger (Гросс-Крюґер)"
+msgstr "Gauß-Krüger (Гаус-Крюґер)"
 
 msgid "GK Zone"
 msgstr "GK Zone"
@@ -12366,11 +12417,11 @@ msgid ""
 "referenced by external applications talking to JOSM."
 msgstr ""
 "JOSM завжди прослуховує <b>порт {0}</b> (http) та <b>порт {1}</b> (https) на "
-"localhost.<br>Ці порти не можливо змінити, так як вини використовуються "
+"localhost.<br>Ці порти неможливо змінити, оскільки вони використовуються "
 "зовнішніми застосунками, які звертаються до JOSM."
 
 msgid "Enable remote control"
-msgstr "Включити  Дистанційне керування"
+msgstr "Включити Дистанційне керування"
 
 msgid "Enable HTTPS support"
 msgstr "Ввімкнути підтримку HTTPS"
@@ -12483,7 +12534,7 @@ msgid ""
 "Unsupported value in preference ''{0}'', got ''{1}''. Using authentication "
 "method ''Basic Authentication''."
 msgstr ""
-"Не підтримуване значення ''{1}'' в параметрі ''{0}''. Використовуємо метод "
+"Непідтримуване значення ''{1}'' в параметрі ''{0}''. Використовуємо метод "
 "''Базової автентифікації''."
 
 msgid "OSM username:"
@@ -12517,13 +12568,13 @@ msgid ""
 "You do not have an Access Token yet to access the OSM server using OAuth. "
 "Please authorize first."
 msgstr ""
-"Ви не маєте мітки доступу, щоб отримати доступ до сервера OSM за допомогою "
+"Ви не маєте Мітки доступу, щоб отримати доступ до сервера OSM за допомогою "
 "OAuth. Будь ласка, спочатку авторизуйтесь."
 
 msgid ""
 "You already have an Access Token to access the OSM server using OAuth."
 msgstr ""
-"Ви вже маєте мітку доступу для доступу до сервера OSM за допомогою OAuth."
+"Ви вже маєте Мітку доступу для доступу до сервера OSM за допомогою OAuth."
 
 msgid "Save to preferences"
 msgstr "Зберегти в налаштуваннях"
@@ -12532,17 +12583,17 @@ msgid "Click to step through the OAuth authorization process"
 msgstr "Натисніть, щоб крок за кроком пройти процес авторизації OAuth"
 
 msgid "New Access Token"
-msgstr "Нова мітка доступу"
+msgstr "Нова Мітка доступу"
 
 msgid ""
 "Click to step through the OAuth authorization process and generate a new "
 "Access Token"
 msgstr ""
-"Натисніть, щоб пройти процес авторизації OAuth та створити мітку доступу"
+"Натисніть, щоб пройти процес авторизації OAuth та створити Мітку доступу"
 
 msgid "Click test access to the OSM server with the current access token"
 msgstr ""
-"Натисніть, щоб перевірити доступ до сервера OSM з поточною міткою доступу"
+"Натисніть, щоб перевірити доступ до сервера OSM з поточною Міткою доступу"
 
 msgid "<html>Use the default OSM server URL (<strong>{0}</strong>)</html>"
 msgstr ""
@@ -12552,10 +12603,10 @@ msgid "Test the API URL"
 msgstr "Перевірити URL API"
 
 msgid "The API URL is valid."
-msgstr "URL API верне."
+msgstr "URL API вірне."
 
 msgid "Validation failed. The API URL seems to be invalid."
-msgstr "Перевірку не здійснено. URL API виглядає невірним."
+msgstr "Перевірку не пройдено. URL API виглядає невірним."
 
 msgid "OSM API URL must not be empty. Please enter the OSM API URL."
 msgstr ""
@@ -12568,7 +12619,7 @@ msgid "Please enter the OSM API URL."
 msgstr "Будь ласка, введіть URL OSM API."
 
 msgid "Proxy settings"
-msgstr "Параметри проксі сервера"
+msgstr "Параметри проксі-сервера"
 
 msgid "Configure whether to use a proxy server"
 msgstr "Вказати, чи використовуєте ви проксі-сервер"
@@ -12614,7 +12665,7 @@ msgid ""
 msgstr ""
 "JOSM налаштовано на використання проксі-сервера із системними "
 "налаштуваннями, але віртуальна машина Java не налаштована на їх отримання. "
-"Скидання налаштувань на \"Без проксі\""
+"Скидання налаштувань на ''Без проксі''"
 
 msgid "Connection Settings"
 msgstr "Параметри з’єднання"
@@ -12657,7 +12708,7 @@ msgid ""
 "programs."
 msgstr ""
 "Перевірка даних OSM, яка перевіряє наявність загальних помилок, що "
-"здійснюються учасниками та  програмами-редакторами."
+"здійснюються учасниками та програмами-редакторами."
 
 msgid "Available rules:"
 msgstr "Доступні правила:"
@@ -12771,7 +12822,7 @@ msgid "Use ignore list."
 msgstr "Використовувати список ігнорування."
 
 msgid "Use the ignore list to suppress warnings."
-msgstr "Використовувати список ігнорування щоб не показувати попередження."
+msgstr "Використовувати список ігнорування, щоб не показувати попередження."
 
 msgid "Use error layer."
 msgstr "Використовувати шар помилок."
@@ -12901,14 +12952,14 @@ msgid ""
 "Broken tagging preset \"{0}-{1}\" - Java method given in ''values_from'' is "
 "not \"{2}\""
 msgstr ""
-"Поламана заготовка \"{0}-{1}\" - метод Java вказаний у ''values_from'' не "
+"Поламана заготовка \"{0}-{1}\" - метод Java, вказаний у ''values_from'' не "
 "\"{2}\""
 
 msgid ""
 "Broken tagging preset \"{0}-{1}\" - Java method given in ''values_from'' "
 "threw {2} ({3})"
 msgstr ""
-"Поламана заготовка \"{0}-{1}\" - метод Java вказаний у ''values_from'' "
+"Поламана заготовка \"{0}-{1}\" - метод Java, вказаний у ''values_from'' "
 "скинуто {2} ({3})"
 
 msgid ""
@@ -12981,7 +13032,8 @@ msgid "Adjustable {0} not registered yet."
 msgstr "Регульований {0} ще не зареєстровано"
 
 msgid "Some of the key listeners forgot to remove themselves: {0}"
-msgstr "Деякі процедури відстеження натискання клавіш не влучили себе: {0}"
+msgstr ""
+"Деякі процедури відстеження натискання клавіш забули прибрати себе: {0}"
 
 msgid "Some of the key modifier listeners forgot to remove themselves: {0}"
 msgstr ""
@@ -13010,13 +13062,13 @@ msgid ""
 "a bounding box)"
 msgstr ""
 "URL з www.openstreetmap.org (ви можете вставити URL для завантаження з "
-"сервера вказавши тут межі габаритного прямокутника)"
+"сервера, вказавши тут межі габаритного прямокутника)"
 
 msgid ""
 "The current value is not a valid changeset ID. Please enter an integer value "
 "> 0"
 msgstr ""
-"Поточне значення не є допустимим номером набору змін. Введіть ціле число> 0"
+"Поточне значення не є допустимим номером набору змін. Введіть ціле число > 0"
 
 msgid "Add a new source to the list."
 msgstr "Додати нове джерело у список."
@@ -13069,7 +13121,8 @@ msgstr ""
 "Отримано ''{1}''."
 
 msgid "Illegal value for attribute ''{0}'' of type double. Got ''{1}''."
-msgstr "Неприпустиме значення атрибуту ''{0}'' типу double. Маємо ''{1}''."
+msgstr ""
+"Неприпустиме значення атрибуту ''{0}'' типу double. Отримано ''{1}''."
 
 msgid ""
 "Illegal value for mandatory attribute ''{0}'' of type boolean. Got ''{1}''."
@@ -13161,7 +13214,7 @@ msgstr ""
 "можливостях сервера."
 
 msgid "Failed to parse date ''{0}'' replied by server."
-msgstr "Сервер повідомив про невдалий розборі дати ''{0}''."
+msgstr "Сервер повідомив про невдалий розбір дати ''{0}''."
 
 msgid ""
 "Unexpected format of error header for conflict in changeset update. Got "
@@ -13227,7 +13280,7 @@ msgid ""
 "not use a proxy."
 msgstr ""
 "Віртуальна машина Java не налаштована на отримання системних налаштувань "
-"проксі-сервера. Параметр  ''java.net.useSystemProxies'' був пропущений під "
+"проксі-сервера. Параметр ''java.net.useSystemProxies'' був пропущений під "
 "час запуску. Використовуємо пряме з’єднання (Без проксі)."
 
 msgid "Parsing response from server..."
@@ -13237,19 +13290,19 @@ msgid "Unexpected XML element with name ''{0}''"
 msgstr "Неочікуваний елемент XML з іменем ''{0}''"
 
 msgid "Could not export ''{0}''."
-msgstr "Не можливо експортувати ''{0}''."
+msgstr "Неможливо експортувати ''{0}''."
 
 msgid "Could not import ''{0}''."
-msgstr "Не можливо імпортувати ''{0}''."
+msgstr "Неможливо імпортувати ''{0}''."
 
 msgid "Could not import files."
-msgstr "Не можливо імпортувати файли."
+msgstr "Неможливо імпортувати файли."
 
 msgid "<html>Could not read file ''{0}''.<br>Error is:<br>{1}</html>"
-msgstr "<html>Не можливо  прочитати файл ''{0}''.<br>Помилка:<br>{1}</html>"
+msgstr "<html>Неможливо прочитати файл ''{0}''.<br>Помилка:<br>{1}</html>"
 
 msgid "<html>Could not read files.<br>Error is:<br>{0}</html>"
-msgstr "<html>Не можливо  прочитати файли.<br>Помилка:<br>{0}</html>"
+msgstr "<html>Неможливо прочитати файли.<br>Помилка:<br>{0}</html>"
 
 msgid "GeoJSON Files"
 msgstr "Файли GeoJSON"
@@ -13261,7 +13314,7 @@ msgid ""
 "Note: GPL is not compatible with the OSM license. Do not upload GPL licensed "
 "tracks."
 msgstr ""
-"Примітка: GPL не сумісна з ліцензією OSM. Не завантажуйте треки ліцензовані "
+"Примітка: GPL не сумісна з ліцензією OSM. Не завантажуйте треки, ліцензовані "
 "під GPL."
 
 msgid "GPS track description"
@@ -13337,7 +13390,7 @@ msgid "Image Files"
 msgstr "Файли зображень"
 
 msgid "folder"
-msgstr "каталог"
+msgstr "тека"
 
 msgid "Looking for image files"
 msgstr "Пошук файлів зображень"
@@ -13346,13 +13399,13 @@ msgid "No image files found."
 msgstr "Файли зображень не знайдені."
 
 msgid "get number of unread messages"
-msgstr "отримати кількість не прочитаних повідомлень"
+msgstr "отримати кількість непрочитаних повідомлень"
 
 msgid "You have {0} unread message."
 msgid_plural "You have {0} unread messages."
-msgstr[0] "Маєте {0} не прочитане повідомлення."
-msgstr[1] "Маєте {0} не прочитаних повідомлень."
-msgstr[2] "Маєте {0} не прочитаних повідомлень."
+msgstr[0] "Маєте {0} непрочитане повідомлення."
+msgstr[1] "Маєте {0} непрочитаних повідомлень."
+msgstr[2] "Маєте {0} непрочитаних повідомлень."
 
 msgid "Click here to see your inbox."
 msgstr "Натисніть тут, щоб перейти до вхідних повідомлень."
@@ -13361,7 +13414,7 @@ msgid "Message notifier"
 msgstr "Повідомлення"
 
 msgid "{0} not available (offline mode)"
-msgstr "{0} не доступне (автономний режим)"
+msgstr "{0} недоступне (автономний режим)"
 
 msgid ""
 "No primitive with id {0} in local dataset. Cannot infer primitive type."
@@ -13441,7 +13494,7 @@ msgstr "Сайт JOSM"
 
 msgid "Unable to access ''{0}'': {1} not available (offline mode)"
 msgstr ""
-"Не можливо отримати доступ до ''{0}'': {1} не є досяжним (автономний режим)"
+"Неможливо отримати доступ до ''{0}'': {1} не є досяжним (автономний режим)"
 
 msgid "Unable to initialize OSM API."
 msgstr "Неможливо ініціалізувати OSM API."
@@ -13537,7 +13590,8 @@ msgstr "Файли сервера OSM стиснені bzip2"
 
 msgid "Prolog of OsmChange document already written. Please write only once."
 msgstr ""
-"Prolog документа OsmChange вже написаний. Будь ласка, пишіть лише один раз."
+"Початкова частина документа OsmChange вже записана. Будь ласка, пишіть лише "
+"один раз."
 
 msgid "Prolog of OsmChange document not written yet. Please write first."
 msgstr ""
@@ -13596,7 +13650,7 @@ msgid "Missing mandatory attribute ''{0}'' of XML element {1}."
 msgstr "Відсутній обов’язковий атрибут ''{0}'' XML-елемента {1}."
 
 msgid "Undefined element ''{0}'' found in input stream. Aborting."
-msgstr "Невизначений елемент  ''{0}'' знайдено у вхідному потоці. Скасовано."
+msgstr "Невизначений елемент ''{0}'' знайдено у вхідному потоці. Скасовано."
 
 msgid "Parsing list of changesets..."
 msgstr "Розбір списку наборів змін…"
@@ -13716,7 +13770,7 @@ msgid ""
 "Resetting to 0."
 msgstr ""
 "Неприпустиме значення атрибуту ''changeset'' у нового об’єкту {1}. Отримано "
-"{0}. Перевстановлено на  0."
+"{0}. Перевстановлено на 0."
 
 msgid "Illegal value for attribute ''changeset''. Got {0}."
 msgstr "Неприпустиме значення для атрибуту ''changeset''. Отримано {0}."
@@ -13727,6 +13781,9 @@ msgstr "Відсутній обов’язковий атрибут ''{0}''."
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "Неприпустима довжина значення атрибуту ''{0}''. Отримано ''{1}''."
 
+msgid "{0} bytes have been read"
+msgstr "{0} байт було прочитано"
+
 msgid "Prepare OSM data..."
 msgstr "Підготовка OSM-даних…"
 
@@ -13916,10 +13973,10 @@ msgid "Read protocol version"
 msgstr "Отримання версії протоколу"
 
 msgid "Cannot start remotecontrol server on port {0}: {1}"
-msgstr "Неможливо запустити серер відділеного керування з портом {0}: {1}"
+msgstr "Неможливо запустити сервер дистанційного керування з портом {0}: {1}"
 
-msgid "RemoteControl::Accepting connections on port {0}"
-msgstr "RemoteControl::Встановлення з’єднання на порту {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
+msgstr "RemoteControl::Прийом з’єднання на {0}:{1}"
 
 msgid "RemoteControl::Server stopped."
 msgstr "RemoteControl::Сервер зупинено."
@@ -13932,8 +13989,8 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr "Неможливо ініціалізувати HTTPS Сервер Дистанційного керування"
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
-msgstr "RemoteControl::Прийняття безпечного з’єднання на порт {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
+msgstr "RemoteControl::Прийом захищеного з’єднання на {0}:{1}"
 
 msgid "RemoteControl::Server (https) stopped."
 msgstr "RemoteControl::Сервер (https) зупинено."
@@ -13960,8 +14017,8 @@ msgid ""
 "Remote Control has been asked to report its supported features. This enables "
 "web sites to guess a running JOSM version"
 msgstr ""
-"Через Дистанційне керування отримано запит про підтримувані нею можливості. "
-"Це дозволить веб-сайтам спробувати визначити вашу версію JOSM"
+"Через Дистанційне керування отримано запит про підтримувані можливості. Це "
+"дозволить веб-сайтам спробувати визначити вашу версію JOSM"
 
 msgid ""
 "Remote Control has been asked to load an imagery layer from the following "
@@ -14003,7 +14060,7 @@ msgid ""
 "the API."
 msgstr ""
 "Через Дистанційне керування був отриманий запит на завантаження об’єктів (за "
-"їх Ід) через API."
+"їх ID) через API."
 
 msgid "Remote Control has been asked to open a local file."
 msgstr ""
@@ -14095,7 +14152,7 @@ msgid "Session file (*.jos, *.joz)"
 msgstr "Файл сеансу (*.jos, *.joz)"
 
 msgid "Unable to locate file  ''{0}''."
-msgstr "Неможливо знайти файл  ''{0}''."
+msgstr "Неможливо знайти файл ''{0}''."
 
 msgid "Unsupported scheme ''{0}'' in URI ''{1}''."
 msgstr "Непідтримувана схема ''{0}'' в URI ''{1}''."
@@ -14131,7 +14188,7 @@ msgstr "Неможливо завантажити шар"
 msgid ""
 "Cannot load layer of type ''{0}'' because no suitable importer was found."
 msgstr ""
-"Неможливо завантажити шар з типом —  ''{0}'', тому що відсутній потрібній "
+"Неможливо завантажити шар з типом — ''{0}'', тому що відсутній потрібний "
 "інструмент для імпорту."
 
 msgid ""
@@ -14151,7 +14208,7 @@ msgid "Skip layer and continue"
 msgstr "Пропустити шар та продовжити"
 
 msgid "expected .jos file inside .joz archive"
-msgstr "очікувався файл .jos в середині архіву  .joz"
+msgstr "очікувався файл .jos всередині архіву .joz"
 
 msgid "Skip download"
 msgstr "Пропустити завантаження"
@@ -14183,7 +14240,7 @@ msgstr ""
 "''{1}'' не є допустимим URL. Пропускаємо завантаження."
 
 msgid "Failed to create plugin directory ''{0}''"
-msgstr "Не вдалося створити каталог втулка ''{0}''"
+msgstr "Не вдалося створити теку втулка ''{0}''"
 
 msgid "Downloading Plugin {0}..."
 msgstr "Завантаження втулку {0}…"
@@ -14264,7 +14321,7 @@ msgid ""
 "startup is disabled."
 msgstr ""
 "Запуск періодичного оновлення втулків JOSM. Автоматичне оновлення при старті "
-"включене."
+"відключене."
 
 msgid ""
 "Unexpected value ''{0}'' for preference ''{1}''. Assuming value ''ask''."
@@ -14394,7 +14451,7 @@ msgid ""
 "Failed to install plugin ''{0}'' from temporary download file ''{1}''. "
 "Renaming failed."
 msgstr ""
-"Не вдалось встановити втулок ''{0}'' із завантаженого файлу ''{1}''.  "
+"Не вдалось встановити втулок ''{0}'' із завантаженого файлу ''{1}''. "
 "Перейменування не вдалось."
 
 msgid "Update plugin"
@@ -14423,7 +14480,7 @@ msgid ""
 "The plugin has been removed from the configuration. Please restart JOSM to "
 "unload the plugin."
 msgstr ""
-"Втулок був вилучений з конфігурації. Будь ласка, перезавантажте JOSM "
+"Втулок був вилучений з конфігурації. Будь ласка, перезавантажте JOSM, щоб "
 "вивантажити втулок."
 
 msgid "Plugin information"
@@ -14464,8 +14521,7 @@ msgid "<b>Plugin provided by an external source:</b> {0}"
 msgstr "<b>Втулок надається зовнішнім джерелом:</b> {0}"
 
 msgid "Failed to create plugin information from manifest for plugin ''{0}''"
-msgstr ""
-"Не можливо створити інформацію про втулок з manifest’у втулка ''{0}''"
+msgstr "Неможливо створити інформацію про втулок з manifest’у втулка ''{0}''"
 
 msgid "Illegal entry in plugin list."
 msgstr "Неприпустимий елемент у переліку втулків."
@@ -14560,8 +14616,8 @@ msgid ""
 msgstr ""
 "Сталась непередбачувана помилка. Такі помилки завжди виникають під час "
 "помилок в програмуванні.<br><br>Однак, ви використовуєте стару версію JOSM "
-"({0}),<br>замість поточної протестовано версії (<b>{1}</b>).<br><br><b>Будь "
-"ласка оновіть JOSM</b> перед тим як надсилати розробникам звіт про помилку."
+"({0}),<br>замість поточної протестованої версії (<b>{1}</b>).<br><br><b>Будь "
+"ласка, оновіть JOSM</b>, перед тим як надсилати розробникам звіт про помилку."
 
 msgid "Unexpected Exception"
 msgstr "Непередбачена помилка"
@@ -14596,8 +14652,8 @@ msgid ""
 "Alternatively, if that does not work you can manually fill in the "
 "information below at this URL:"
 msgstr ""
-"Або ж, якщо це не спрацює ви можете вручну заповнити інформацію нижче за цим "
-"URL:"
+"Або ж, якщо це не спрацює, ви можете вручну заповнити інформацію нижче за "
+"цим URL:"
 
 msgid "(The text has already been copied to your clipboard.)"
 msgstr "(Текст вже скопійовано у буфер обміну)"
@@ -14618,10 +14674,10 @@ msgid ""
 "configured.<br>Please open the Preferences Dialog and generate or enter an "
 "Access Token.</html>"
 msgstr ""
-"<html>Не вдалось автентифікувати сервер OSM ''{0}''.<br>Ви використовуєте "
-"автентифікацію OAuth, але зараз немає<br>налаштованої мітки доступу "
-"OAuth.<br>Будь ласка, відкрийте діалог налаштувань та згенеруйте або введіть "
-"мітку доступу.</html>"
+"<html>Не вдалось автентифікуватися на сервері OSM ''{0}''.<br>Ви "
+"використовуєте автентифікацію OAuth, але зараз немає<br>налаштованої Мітки "
+"доступу OAuth.<br>Будь ласка, відкрийте діалог налаштувань та згенеруйте або "
+"введіть Мітку доступу.</html>"
 
 msgid ""
 "<strong>Failed</strong> to delete <strong>node {0}</strong>. It is still "
@@ -14817,7 +14873,7 @@ msgid ""
 "current<br>dataset violates a precondition.<br>The error message "
 "is:<br>{0}</html>"
 msgstr ""
-"<html>Надсилання даних на сервер <strong>не вдалось</strong>, так як ваші "
+"<html>Надсилання даних на сервер <strong>не вдалось</strong>, оскільки ваші "
 "дані<br> порушують обов’язкові умови.<br> Повідомлення про "
 "помилку:<br>{0}</html>"
 
@@ -14877,20 +14933,22 @@ msgid ""
 "(untranslated)</strong>: {2}</html>"
 msgstr ""
 "<html>Збій з’єднання з сервером OSM ''{0}''. Відповідь сервера<br>містить "
-"наступний код та повідомлення про помилку:<br><strong>Код помилки:<strong> "
+"наступний код та повідомлення про помилку:<br><strong>Код помилки:</strong> "
 "{1}<br><strong>Повідомлення про помилку (без перекладу):</strong> {2}</html>"
 
 msgid ""
 "<html>Closing of changeset <strong>{0}</strong> failed <br>because it has "
 "already been closed."
 msgstr ""
-"<html>Збій закриття набору змін <strong>{0}</strong><br>він вже закритий."
+"<html>Збій закриття набору змін <strong>{0}</strong><br>, оскільки він вже "
+"закритий."
 
 msgid ""
 "<html>Closing of changeset <strong>{0}</strong> failed<br> because it has "
 "already been closed on {1}."
 msgstr ""
-"<html>Збій закриття набору змін <strong>{0}</strong><br>він вже закритий {1}."
+"<html>Збій закриття набору змін <strong>{0}</strong><br>,оскільки він вже "
+"закритий {1}."
 
 msgid ""
 "<html>The server reported that it has detected a conflict.<br>Error message "
@@ -14915,7 +14973,7 @@ msgid ""
 "applet and because you did not load your applet from ''{1}''."
 msgstr ""
 "<html>Збій встановлення з’єднання із віддаленим сервером<br>''{0}''<br>з "
-"причин безпеки. Це більш всього можливо тому що ви працюєте<br>у аплеті та "
+"причин безпеки. Це більш всього можливо тому, що ви працюєте<br>у аплеті та "
 "ви не завантажили свій аплет з ''{1}''."
 
 msgid ""
@@ -14957,7 +15015,7 @@ msgid ""
 "large.<br>Either request a smaller area or use an export file provided by "
 "the OSM community."
 msgstr ""
-"Ділянка, яку ви намагалися завантажити є занадто великою або ваш запит був "
+"Ділянка, яку ви намагалися завантажити, є занадто великою або ваш запит був "
 "надто великий.<br>Завантажте ділянку меншого розміру або скористайтесь "
 "файлами, які створюються OSM-спільнотою."
 
@@ -14970,9 +15028,9 @@ msgid ""
 "server or you are using an invalid URL to access<br>it. Please carefully "
 "check the server''s address ''{0}'' for typos."
 msgstr ""
-"Серверу OSM ''{0}'' нічого не відомо про об’єкт<br>який ви намагаєтесь "
+"Серверу OSM ''{0}'' нічого не відомо про об’єкт,<br>який ви намагаєтесь "
 "прочитати, оновити чи вилучити. Або такий об’єкт<br>відсутній на сервері, "
-"або ви використовуєте помилкове посилання для доступу<br>Будь ласка, уважно "
+"або ви використовуєте помилкове посилання для доступу.<br>Будь ласка, уважно "
 "перевірте адресу сервера ''{0}'' на наявність помилок."
 
 msgid ""
@@ -14981,7 +15039,7 @@ msgid ""
 "preferences and your internet connection."
 msgstr ""
 "<html>Збій встановлення з’єднання із віддаленим сервером<br>''{0}''.<br>Для "
-"імені ''{1}'' не можливо визначити адресу. <br>Будь ласка, перевірте URL для "
+"імені ''{1}'' неможливо визначити адресу. <br>Будь ласка, перевірте URL для "
 "API у ваших налаштуваннях інтернет з’єднання."
 
 msgid ""
@@ -15006,7 +15064,7 @@ msgstr ""
 "проблемою налаштувань. JOSM не буде працювати."
 
 msgid "Failed to locate image ''{0}''"
-msgstr "Збій пошук зображення ''{0}''"
+msgstr "Збій пошуку зображення ''{0}''"
 
 msgid "Failed to handle zip file ''{0}''. Exception was: {1}"
 msgstr "Не вдалось обробити zip-файл ''{0}''. Виключення: {1}"
@@ -15063,7 +15121,7 @@ msgid ""
 "This version is no longer supported by {0} since {1} and is not recommended "
 "for use."
 msgstr ""
-"Ця версія більше не підтримується {0}, починаючи з {1}  її використання не "
+"Ця версія більше не підтримується {0}, починаючи з {1}, і її використання не "
 "рекомендується."
 
 msgid ""
@@ -15080,7 +15138,7 @@ msgid ""
 "A previous version of JOSM has installed a custom certificate in order to "
 "provide HTTPS support for Remote Control:"
 msgstr ""
-"В попередній версії JOSM був власний сертифікат для того щоб мати підтримку "
+"В попередній версії JOSM був власний сертифікат для того, щоб мати підтримку "
 "HTTPS для віддаленого керування:"
 
 msgid ""
@@ -15088,9 +15146,9 @@ msgid ""
 "going to be prompted by Windows to remove this insecure certificate.<br>For "
 "your own safety, <b>please click Yes</b> in next dialog."
 msgstr ""
-"Це може мати <b>серйозні наслідки</b>.<br><br>Зараз Windows пропонує "
-"вилучити цей небезпечний сертифікат.<br>Для власної безпеки, <b>Будь ласка, "
-"натисніть Так</b> в наступному вікні."
+"Це може мати <b>серйозні наслідки</b>.<br><br>Зараз Windows запропонує "
+"вилучити цей небезпечний сертифікат.<br>Для власної безпеки, <b>будь ласка, "
+"натисніть «Так»</b> в наступному вікні."
 
 msgid "Removing insecure certificate from {0} keystore: {1}"
 msgstr "Вилучення небезпечного сертифікати зі сховища ключів {0}: {1}"
@@ -15109,12 +15167,12 @@ msgid ""
 "next dialog.<br><br>If unsure, you can also click No then disable HTTPS "
 "support in Remote Control preferences."
 msgstr ""
-"Дистанційне керування налаштоване на підтримку HTTPS<br>Для цього потрібно "
-"додати сертифікат згенерований JOSM до сховища кореневих центрів "
+"Дистанційне керування налаштоване на підтримку HTTPS.<br>Для цього потрібно "
+"додати сертифікат, згенерований JOSM, до сховища кореневих центрів "
 "сертифікації Windows.<br><br>Зараз Windows запропонує вам підтвердити цю "
 "дію.<br>Для забезпечення підтримки HTTPS <b>натисніть «Так»</b> в наступному "
-"вікні.<br><br>Якщо ви невпевнені,  можете обрати «Ні», і потім вимкнути "
-"підтримку HTTSP в налаштуваннях Дистанційного керування."
+"вікні.<br><br>Якщо ви не впевнені, можете обрати «Ні», і потім вимкнути "
+"підтримку HTTPS в налаштуваннях Дистанційного керування."
 
 msgid "HTTPS support in Remote Control"
 msgstr "Піддтримка HTTPS у Дистанційному керуванні"
@@ -15133,13 +15191,13 @@ msgstr[1] "У буфері знайдено {0} теґи, це підозріл
 msgstr[2] "У буфері знайдено {0} теґів, це підозріло!"
 
 msgid "Key is too long (max {0} characters):"
-msgstr "Ключ занадто довгий (макс {0} символів):"
+msgstr "Ключ занадто довгий (макс. {0} символів):"
 
 msgid "Suspicious characters in key:"
 msgstr "Підозрілі символи в ключі:"
 
 msgid "Value is too long (max {0} characters):"
-msgstr "Значення занадто довге (макс {0} символів):"
+msgstr "Значення занадто довге (макс. {0} символів):"
 
 msgid "Do you want to paste these tags?"
 msgstr "Ви бажаєте вставити ці теґи?"
@@ -15154,12 +15212,9 @@ msgid ""
 "<html><p> Sorry, it is impossible to paste tags from buffer. It does not "
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
-"<html><p> На жаль, не можливо вставити теґи з буферу обміну. Він не містить "
+"<html><p> На жаль, неможливо вставити теґи з буферу обміну. Він не містить "
 "об’єктів JOSM чи відповідного тексту. </p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "Невірний bz2 файл."
-
 msgid "ms"
 msgstr "мс"
 
@@ -15263,7 +15318,7 @@ msgstr ""
 "використовуйте planet.osm"
 
 msgid "Database offline for maintenance"
-msgstr "База даних відключений для обслуговування"
+msgstr "База даних відключена для обслуговування"
 
 msgid "You have downloaded too much data. Please try again later."
 msgstr "Ви завантажили забагато даних. Будь ласка, спробуйте пізніше."
@@ -15279,7 +15334,7 @@ msgid "JOSM-Trac login at josm.openstreetmap.de"
 msgstr "Логін JOSM-Trac для josm.openstreetmap.de"
 
 msgid "could not get audio input stream from input URL"
-msgstr "не можливо отримати аудіо потік з введеного аосилання"
+msgstr "неможливо отримати аудіопотік з введеного посилання"
 
 msgid "Audio Device Unavailable"
 msgstr "Аудіопристрій недоступний"
@@ -15582,7 +15637,7 @@ msgid ""
 "Overlays the canvec tile grid on the map and prints URL''s to the .zip "
 "files. Future goals: allow auto-downloading and loading of canvec .osm files"
 msgstr ""
-"Накладає решітку  canvec на мапу та  запаковує URL посилання у файл .zip. "
+"Накладає решітку canvec на мапу та запаковує URL посилання у файл .zip. "
 "Майбутні цілі: дозволити автоматичне скачування і завантаження canvec .osm "
 "файлів."
 
@@ -15593,9 +15648,9 @@ msgid ""
 "sunlight. See dialog in display preferences."
 msgstr ""
 "Дозволяє користувачеві створювати різні колірні схеми і перемикатись між "
-"ними.  Просто змініть колір і створіть нову схему.  Використовується для "
+"ними. Просто змініть колір і створіть нову схему. Використовується для "
 "перемикання на білий фон з відповідними кольорами для кращої видимості при "
-"яскравому сонячному світлі.  Див в налаштуваннях екрану."
+"яскравому сонячному світлі. Див. в налаштуваннях екрану."
 
 msgid ""
 "Imports proprietary CSV files of the Columbus/Visiontac V-900 GPS logger "
@@ -15610,7 +15665,7 @@ msgid ""
 msgstr ""
 "Реалізація командного рядка та можливість створення власних команд. "
 "Перейдіть за посилання, щоб ознайомитись із стандартними командами (arc, "
-"circle ін.)"
+"circle тощо)"
 
 msgid "(Warning: Experimental!) Tool for conflating (merging) data."
 msgstr ""
@@ -15648,7 +15703,7 @@ msgid ""
 "Allows the user to anonymize timestamps and delete parts of huge GPX tracks "
 "very fast."
 msgstr ""
-"Дозволяє користувачеві робити анонімними часові мітки і вилучати частині "
+"Дозволяє користувачеві робити анонімними часові мітки і вилучати частини "
 "великих GPX треків"
 
 msgid "Shows the elevation profile and some statistical data of a GPX track."
@@ -15670,13 +15725,13 @@ msgid ""
 "Talk with users editing the map nearby, be notified when someone comes close."
 msgstr ""
 "Спілкуйтесь із іншими учасниками, що працюють з мапою поруч з вами, "
-"отримуйте сповіщення якщо хтось з’являється поруч."
+"отримуйте сповіщення, якщо хтось з’являється поруч."
 
 msgid ""
 "Provides parts of the GeoTools library for other JOSM plugins. Not meant to "
 "be installed directly by users, but rather as a dependency for other plugins."
 msgstr ""
-"Надає частини бібліотеки  GeoTool іншим втулкам JOSM. Не призначений для "
+"Надає частини бібліотеки GeoTool іншим втулкам JOSM. Не призначений для "
 "безпосереднього встановлення користувачами, встановлюється тільки як "
 "залежність для інших втулків."
 
@@ -15692,7 +15747,7 @@ msgstr ""
 "Аналіз набору точок GPS для отримання їх центру та напрямку поширення."
 
 msgid "Allows to filter out unnecessary GPS tracks"
-msgstr "Дозволяє відфільтровувати непотрібні GPS треки"
+msgstr "Дозволяє відфільтровувати непотрібні GPS-треки"
 
 msgid "Visualizes routing information as a routing graph."
 msgstr "Показує інформацію про маршрут у вигляді маршрутної діаграми."
@@ -15744,7 +15799,7 @@ msgstr ""
 "точки GPX"
 
 msgid "A helper for IRS satellite adjustment."
-msgstr "Допомагає у вірівнюванні тла зі супутниковими знімками від IRS."
+msgstr "Допомагає у вирівнюванні тла зі супутниковими знімками від IRS."
 
 msgid ""
 "Provides Java Native Access (JNA) library. Not meant to be installed "
@@ -15776,7 +15831,7 @@ msgstr "Допомагає оцифровувати (векторизувати)
 msgid ""
 "Support live GPS input (moving dot) through a connection to gpsd server."
 msgstr ""
-"Підтримує введення наживо GPS  даних (рухома точка) за допомогою під’єднання "
+"Підтримує введення наживо GPS-даних (рухома точка) за допомогою під’єднання "
 "до сервісу gpsd."
 
 msgid ""
@@ -15801,7 +15856,7 @@ msgid ""
 "segments, area surrounded by a (simple) closed way and create measurement "
 "paths (which also can be imported from a gps layer)."
 msgstr ""
-"Відкриває діалогове вікно щоб створити шар для вимірювання довжини і кутів "
+"Відкриває діалогове вікно, щоб створити шар для вимірювання довжини і кутів "
 "для ліній і полігонів, а також, щоб створити вимірювальний шлях (який може "
 "бути також імпортований із шару gps)."
 
@@ -15826,7 +15881,7 @@ msgid ""
 "Use your system''s password manager to store the API username and password. "
 "(KWallet and gnome-keyring are supported.)"
 msgstr ""
-"Використовуйте ваш системний інструмент для збереження імені користувача та "
+"Використовує ваш системний інструмент для збереження імені користувача та "
 "паролю до API. (Підтримуються KWallet та gnome-keyring)"
 
 msgid ""
@@ -15919,16 +15974,16 @@ msgid ""
 "properties window. Available country presets: Germany, Poland, Slovakia, "
 "Spain."
 msgstr ""
-"Втулок для позначення об’єктів заснований на виборі дорожніх знаків. "
+"Втулок для позначення об’єктів, заснований на виборі дорожніх знаків. "
 "Діалогове вікно відкривається після клацання по маленькому значку у "
 "верхньому куті праворуч у вікні властивостей об’єктів. Наявні заготовки для: "
-"Германії, Польщі, Словаччини, Іспанії."
+"Німеччини, Польщі, Словаччини, Іспанії."
 
 msgid ""
 "Renders routes (bus, hiking trails, bicycle routes, ..). Route types must be "
 "defined in routes.xml file in plugin directory"
 msgstr ""
-"Показує маршрути (автобусні, туристичні, велосипедні,…). Типи маршрутів "
+"Показує маршрути (автобусні, туристичні, велосипедні, …). Типи маршрутів "
 "повинні бути визначені у файлі routes.xml у каталозі втулків"
 
 msgid "Provides routing capabilities."
@@ -15949,7 +16004,7 @@ msgid "Edit features for OpenSeaMap"
 msgstr "Редагування об’єктів OpenSeaMap"
 
 msgid "Allow adding markers/nodes on current gps positions."
-msgstr "Дозволяє додавати мітки/точки в поточній позиції GPS ."
+msgstr "Дозволяє додавати мітки/точки в поточній позиції GPS."
 
 msgid ""
 "Launch browser to a Web resource about a selected object having known tags, "
@@ -15978,7 +16033,7 @@ msgid ""
 "Activate by holding T and slip map with left mouse button"
 msgstr ""
 "Надає допоміжну кнопку, яка дозволяє працювати із одноклавішною мишею "
-"(стілусом). Активуйте її утримуючи Т та пересувайте мапу за допомоги лівої "
+"(стілусом). Активуйте її, утримуючи Т та пересувайте мапу за допомоги лівої "
 "кнопки миші."
 
 msgid ""
@@ -15986,7 +16041,7 @@ msgid ""
 "to be running."
 msgstr ""
 "Нанесення будівель з мапи Чеського кадастру. Для запуску потрібний "
-"TracerServer (. NET або Mono)."
+"TracerServer (.NET або Mono)."
 
 msgid ""
 "Traces buildings and other shapes from a map. Needs Tracer2Server to be "
@@ -16040,7 +16095,7 @@ msgid "Easy downloading along a long set of interconnected ways"
 msgstr "Просте завантаження уздовж довгого набору взаємопов’язаних шляхів"
 
 msgid "Enables searching for waypoint imported from gpx file."
-msgstr "Дозволяє пошук маршрутних точок імпортованих із файлу gpx."
+msgstr "Дозволяє пошук маршрутних точок, імпортованих із файлу gpx."
 
 msgid "Select a sequence of non-branching connected ways"
 msgstr "Виділити послідовність з’єднаних ліній, що не розгалужуються"
@@ -16077,7 +16132,7 @@ msgid "wood"
 msgstr "деревина"
 
 msgid "paving_stones"
-msgstr "дорожні_камені"
+msgstr "дорожні камені"
 
 msgid "cobblestone"
 msgstr "булижник"
@@ -16226,7 +16281,7 @@ msgid "Voltage in Volts (V)"
 msgstr "Напруга у вольтах (V)"
 
 msgid "Frequency in Hertz (Hz)"
-msgstr "Частота в Герцах (Hz)"
+msgstr "Частота в герцах (Hz)"
 
 msgid "16.67"
 msgstr "16.67"
@@ -16245,7 +16300,7 @@ msgid "Allowed traffic:"
 msgstr "Дозволено пересування:"
 
 msgid "Horse"
-msgstr "Конем"
+msgstr "Кінь"
 
 msgid "Motorcycle"
 msgstr "Мотоцикл"
@@ -16281,10 +16336,10 @@ msgid "sunset,sunrise"
 msgstr "захід,схід"
 
 msgid "Su 09:30,11:00"
-msgstr "Su 09:30,11:00"
+msgstr "Нд 09:30,11:00"
 
 msgid "Sa,Su,PH 09:00"
-msgstr "Sa,Su,PH 09:00"
+msgstr "Сб,Нд,Свята 09:00"
 
 msgid "Sa 18:00; Su 10:45"
 msgstr "Сб 18:00; Нд 10:45"
@@ -16295,7 +16350,7 @@ msgstr ""
 "Пт 08:00-18:00; Кві 10-15 вих.; Чер 07:00-20:00; Сер вих.; Гру 24 08:00-24:00"
 
 msgid "Sa 10:00+"
-msgstr "СБ 10:00+"
+msgstr "Сб 10:00+"
 
 msgid "week 1-53/2 Fr 09:00-12:00; week 2-52/2 We 09:00-12:00"
 msgstr "Тижд 1-53/2 Пт 09:00-12:00; Тижд 2-52/2 Ср 09:00-12:00"
@@ -16333,7 +16388,7 @@ msgid "Brand"
 msgstr "Торгова марка (Бренд)"
 
 msgid "Internet access"
-msgstr "Інтернет доступ"
+msgstr "Інтернет-доступ"
 
 msgid "wlan"
 msgstr "бездротовий"
@@ -16345,7 +16400,7 @@ msgid "terminal"
 msgstr "термінал"
 
 msgid "Internet access fee"
-msgstr "Плата за інтернет доступ"
+msgstr "Плата за інтернет-доступ"
 
 msgid "Smoking"
 msgstr "Місця для паління"
@@ -16537,6 +16592,10 @@ msgstr "теніс"
 msgid "Coins"
 msgstr "Монети"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr "Банкноти"
+
 msgid "Electronic purses and Charge cards"
 msgstr "Електронні гаманці та платіжні картки"
 
@@ -16716,7 +16775,7 @@ msgid "evangelical"
 msgstr "євангелізм"
 
 msgid "jehovahs_witness"
-msgstr "свідки єгови"
+msgstr "свідки Ієгови"
 
 msgid "lutheran"
 msgstr "лютеранство"
@@ -16835,7 +16894,7 @@ msgid "compressed air"
 msgstr "стиснене повітря"
 
 msgid "steam"
-msgstr "пар"
+msgstr "пара"
 
 msgid "vacuum"
 msgstr "вакуум"
@@ -16911,7 +16970,7 @@ msgstr "дорога без класифікації"
 
 msgctxt "Highway"
 msgid "path"
-msgstr "тропа"
+msgstr "стежка"
 
 msgctxt "Highway"
 msgid "cycleway"
@@ -16984,10 +17043,10 @@ msgid "designated"
 msgstr "осн. призначення"
 
 msgid "Vehicles per type"
-msgstr "Траспортні засоби"
+msgstr "Транспортні засоби"
 
 msgid "All vehicles"
-msgstr "Всі траспортні засоби"
+msgstr "Всі транспортні засоби"
 
 msgid "use_sidepath"
 msgstr "збоку від дороги"
@@ -16996,16 +17055,16 @@ msgid "Motor vehicles"
 msgstr "Автомобілі"
 
 msgid "Light Commercial Vehicles (goods)"
-msgstr "Вантажівки до 3,5т"
+msgstr "Вантажівки до 3,5 т"
 
 msgid "Heavy Goods Vehicles (hgv)"
-msgstr "Вантажівка (більше 3.5т)"
+msgstr "Вантажівки (більше 3,5 т)"
 
 msgid "Vehicles per use"
 msgstr "Транспортні засоби за призначенням"
 
 msgid "Agricultural"
-msgstr "Сільхоз рух"
+msgstr "Сільгосп. рух"
 
 msgid "Emergency vehicles"
 msgstr "Спецавтомобілі"
@@ -17124,10 +17183,10 @@ msgid "grade5"
 msgstr "тип 5 (пісок, трава)"
 
 msgid "MTB Scale"
-msgstr "Шкала для МотоБайків"
+msgstr "Шкала для гірських велосипедів"
 
 msgid "Path"
-msgstr "Тропа"
+msgstr "Стежка"
 
 msgid "SAC Scale"
 msgstr "Шкала SAC"
@@ -17137,7 +17196,7 @@ msgstr "T1 - стежка"
 
 msgid "Trail well cleared. Area flat or slightly sloped, no fall hazard"
 msgstr ""
-"Стежки розчищена. Місцевість пласка чи трохи нахилена, ризик падіння каміння "
+"Стежка розчищена. Місцевість пласка чи трохи нахилена, ризик падіння каміння "
 "відсутній"
 
 msgid "T2 - mountain hiking trail"
@@ -17158,19 +17217,19 @@ msgid ""
 "hands for balance. Partly exposed sites with fall hazard, scree, pathless "
 "jagged rocks"
 msgstr ""
-"можливі ділянки для проходження яких потрібне використання мотузок та "
+"можливі ділянки, для проходження яких потрібне використання мотузок та "
 "ланцюгів, рук для балансування. Частково можливі ділянки з падіннями "
-"каменів, осипами де шлях іде по гострому камінню"
+"каменів, осипами, де шлях іде по гострому камінню"
 
 msgid "T4 - difficult, exposed, steep alpine trail"
-msgstr "Т4 - важко, круті стеки для альпіністів"
+msgstr "Т4 - важко, круті стежки для альпіністів"
 
 msgid ""
 "sometimes need for hand use to get ahead. Terrain quite exposed, precarious "
 "grassy acclivities, jagged rocks, facile snow-free glaciers"
 msgstr ""
 "іноді потрібно використовувати руки, щоб просуватись вперед. Поверхня дуже "
-"нестійка, ненадійна трав’янисті схили, гострі каміння, легкий сніг без "
+"нестійка, ненадійна, трав’янисті схили, гостре каміння, легкий сніг без "
 "льодовиків"
 
 msgid "T5 - difficult alpine trail with climbing"
@@ -17248,7 +17307,7 @@ msgid "opposite_track"
 msgstr "зворотній_трек"
 
 msgid "opposite"
-msgstr "зворотній_напрямок"
+msgstr "зворотній напрямок"
 
 msgid "share_busway"
 msgstr "разом з автобусами"
@@ -17338,13 +17397,13 @@ msgid "unmarked"
 msgstr "непозначений"
 
 msgid "Crossing type name (UK)"
-msgstr "Тип перехода (В.Британія)"
+msgstr "Тип переходу (В.Британія)"
 
 msgid "zebra"
 msgstr "zebra (нерегульований)"
 
 msgid "pelican"
-msgstr "pelican (со світлофором)"
+msgstr "pelican (зі світлофором)"
 
 msgid "toucan"
 msgstr "toucan (вело-пішохідний зі світлофором)"
@@ -17373,6 +17432,9 @@ msgstr "Дозволено переїзд велосипедом"
 msgid "Cross on horseback"
 msgstr "Дозволено переїзд верхи"
 
+msgid "Optional values for specific countries"
+msgstr "Необов’язкові значення для конкретних країн"
+
 msgid "Stop"
 msgstr "Стоп"
 
@@ -17430,6 +17492,18 @@ msgstr "Друга назва"
 msgid "Speed Camera"
 msgstr "Камера (радар)"
 
+msgid "Traffic Mirror"
+msgstr "Дорожнє дзеркало"
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr "Перехресття з назвою"
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr "Назви перехресть використовуються в деяких країнах для орієнтування."
+
 msgid "Elevator"
 msgstr "Ліфт"
 
@@ -17878,7 +17952,7 @@ msgid "Bus Guideway"
 msgstr "Рейковий автобус"
 
 msgid "Disused Rail"
-msgstr "Путі, що не використовуються"
+msgstr "Колії, що не використовуються"
 
 msgid "Abandoned Rail"
 msgstr "Занедбані колії"
@@ -17970,10 +18044,10 @@ msgid "Number of people per gondola/chair"
 msgstr "Кількість осіб в гондолі/кріслі"
 
 msgid "T-bar Lift"
-msgstr "Т-образний підйомник"
+msgstr "Т-подібний підйомник"
 
 msgid "J-bar Lift"
-msgstr "Г-образний підйомник"
+msgstr "Г-подібний підйомник"
 
 msgid "Platter Lift"
 msgstr "Підйомник з дисковим сидінням"
@@ -18384,7 +18458,7 @@ msgid "platform (exit only)"
 msgstr "платформа (тільки вихід)"
 
 msgid "platform (entry only)"
-msgstr "платформа (тільки віхід)"
+msgstr "платформа (тільки вихід)"
 
 msgid "Route Master"
 msgstr "Майстер маршрут"
@@ -18438,7 +18512,7 @@ msgid "Funicular"
 msgstr "Фунікулер"
 
 msgid "Ferry"
-msgstr "Паром"
+msgstr "Пором"
 
 msgid "Bench"
 msgstr "Лавка"
@@ -18508,7 +18582,7 @@ msgid "Railway Platform"
 msgstr "Залізнична платформа"
 
 msgid "Reference (track number)"
-msgstr "Номер платформи (путі)"
+msgstr "Номер платформи (колії)"
 
 msgid "Bus Station"
 msgstr "Автобусна станція"
@@ -18719,7 +18793,7 @@ msgid "Information Office"
 msgstr "Інформаційне бюро"
 
 msgid "An office where you can get information about a town or region."
-msgstr "Бюро в якому ви можете отримати інформацію про місто чи регіон."
+msgstr "Бюро, в якому ви можете отримати інформацію про місто чи регіон."
 
 msgid "Map"
 msgstr "Мапа"
@@ -18734,7 +18808,7 @@ msgid "topo"
 msgstr "топографічна"
 
 msgid "street"
-msgstr "вулиця"
+msgstr "вулиць"
 
 msgid "scheme"
 msgstr "план-схема"
@@ -18878,6 +18952,9 @@ msgstr "Місце для пікніка"
 msgid "Fireplace"
 msgstr "Вогнище"
 
+msgid "Picnic Table"
+msgstr "Стіл для пікніка"
+
 msgid "Public Grill"
 msgstr "Мангал"
 
@@ -18986,7 +19063,7 @@ msgstr "грецька православна"
 
 msgctxt "christian"
 msgid "jehovahs_witness"
-msgstr "свідки єгови"
+msgstr "свідки Ієгови"
 
 msgctxt "christian"
 msgid "lutheran"
@@ -19166,10 +19243,10 @@ msgid "Dentist"
 msgstr "Стоматологія"
 
 msgid "Nursing Home"
-msgstr "Будинок пристарілих"
+msgstr "Будинок престарілих"
 
 msgid "Retirement Home"
-msgstr "Будинок пристарілих"
+msgstr "Будинок престарілих"
 
 msgid "Pharmacy"
 msgstr "Аптека"
@@ -19253,7 +19330,7 @@ msgid "Mo-Fr 15:00,17:45,19:00,23:00; Sa 15:10; Su 10:30,23:00"
 msgstr "Пн-Пт 15:00,17:45,19:00,23:00; Сб 15:10; Нд 10:30,23:00"
 
 msgid "Mo-Fr 09:00-12:00,17:15; Sa 14:00; Su,PH off"
-msgstr "Mo-Fr 09:00-12:00,17:15; Sa 14:00; Su,PH off"
+msgstr "Пн-Пт 09:00-12:00,17:15; Сб 14:00; крім Нд,Свят"
 
 msgid "Drive through"
 msgstr "Обслуговування автомобілістів"
@@ -19277,7 +19354,7 @@ msgid "Located inside a building?"
 msgstr "Розташований у будівлі?"
 
 msgid "Last check date (YYYY-MM-DD)"
-msgstr "Перевірявся в останнє (YYYY-MM-DD)"
+msgstr "Перевірявся востаннє (YYYY-MM-DD)"
 
 msgid "Last check note"
 msgstr "Відмітка про останню перевірку"
@@ -19289,7 +19366,7 @@ msgid "Display"
 msgstr "Циферблат"
 
 msgid "analog"
-msgstr "стіролчний"
+msgstr "стрілочний"
 
 msgid "digital"
 msgstr "цифровий"
@@ -19483,6 +19560,12 @@ msgstr "всмоктування"
 msgid "Count"
 msgstr "Кількість"
 
+msgid "Advertising Column"
+msgstr "Рекламна тумба"
+
+msgid "Billboard"
+msgstr "Рекламний щит"
+
 msgid "Sports"
 msgstr "Спорт"
 
@@ -19629,7 +19712,7 @@ msgstr "для досвідчених"
 
 msgctxt "piste:difficulty"
 msgid "expert"
-msgstr "Для фахівців"
+msgstr "для фахівців"
 
 msgctxt "piste:difficulty"
 msgid "freeride"
@@ -19925,7 +20008,7 @@ msgid "Tower"
 msgstr "Башта"
 
 msgid "Tower type"
-msgstr "Тип Башти"
+msgstr "Тип башти"
 
 msgid "communication"
 msgstr "зв’язку"
@@ -20104,7 +20187,7 @@ msgid "Tide Level"
 msgstr "Висота хвиль"
 
 msgid "Groundwater"
-msgstr ""
+msgstr "Ґрунтові води"
 
 msgid "Traffic"
 msgstr "Трафік"
@@ -20290,7 +20373,7 @@ msgid "swing"
 msgstr "розвідний"
 
 msgid "transporter"
-msgstr "літаючий паром"
+msgstr "літаючий пором"
 
 msgid "Bridge Support"
 msgstr "Опора мосту"
@@ -20305,7 +20388,7 @@ msgid "lift_pier"
 msgstr "ліфтовий бик"
 
 msgid "pivot_pier"
-msgstr "опроно-обертальний бик"
+msgstr "опорно-обертальний бик"
 
 msgid "Bridge outline"
 msgstr "Контур мосту"
@@ -20474,7 +20557,7 @@ msgid "photovoltaic"
 msgstr "фотоелектричний"
 
 msgid "solar_thermal_collector"
-msgstr "сонячних тепловий колектор"
+msgstr "сонячний тепловий колектор"
 
 msgid "thermal"
 msgstr "тепловий"
@@ -20576,7 +20659,7 @@ msgstr "розподільчий"
 
 msgctxt "power"
 msgid "minor_distribution"
-msgstr "ТП (трнасформатор)"
+msgstr "ТП (трансформатор)"
 
 msgctxt "power"
 msgid "converter"
@@ -20651,7 +20734,7 @@ msgid ""
 "(Please only use this tag if more detailed mapping using busbars and bays is "
 "impossible!)"
 msgstr ""
-"(Будь ласка, використовуйте цей теґ тільки, якщо не можливо детально "
+"(Будь ласка, використовуйте цей теґ лише у разі, якщо неможливо детально "
 "позначити шини та з’єднувачі!)"
 
 msgid "Power Busbar"
@@ -21355,9 +21438,6 @@ msgstr "іграшки"
 msgid "vouchers"
 msgstr "ваучери"
 
-msgid "Note"
-msgstr "Примітка"
-
 msgid "Geography"
 msgstr "Географія"
 
@@ -21472,14 +21552,14 @@ msgid ""
 "A persistent body of dense ice that is constantly moving under its own "
 "weight."
 msgstr ""
-"Багаторічне природне накопичення щільною льоду, що постійно рухається під "
+"Багаторічне природне накопичення щільного льоду, що постійно рухається під "
 "дією власної ваги."
 
 msgid "Volcano"
 msgstr "Вулкан"
 
 msgid "A volcano, either dormant, extinct or active."
-msgstr "Вулкан, або в стані спокою, потухлий або активний."
+msgstr "Вулкан, в стані спокою, потухлий або активний."
 
 msgid "Current Status"
 msgstr "Поточний стан"
@@ -21540,7 +21620,7 @@ msgstr "Дерева"
 
 msgid "Woodland where timber production does not dominate use."
 msgstr ""
-"Лісиста місцевість в які лісозаготівля не є основним видом діяльності."
+"Лісиста місцевість, в якій лісозаготівля не є основним видом діяльності."
 
 msgid "Forest"
 msgstr "Лісовий масив"
@@ -21571,7 +21651,7 @@ msgid "steppe"
 msgstr "степ"
 
 msgid "veld"
-msgstr "велд"
+msgstr "вельд"
 
 msgid "Nature Reserve"
 msgstr "Заповідник"
@@ -21589,7 +21669,7 @@ msgid ""
 "Bare upper lying uncultivated land principally covered with grass and often "
 "grazed."
 msgstr ""
-"Необроблені землі на високогір''ї, головним чином вкриті травою, що часто "
+"Необроблені землі на високогір’ї, головним чином вкриті травою, що часто "
 "використовуються під випас."
 
 msgid "Scrub"
@@ -21598,7 +21678,7 @@ msgstr "Чагарник"
 msgid ""
 "Bare lower lying uncultivated land with bushes but little or no tree cover."
 msgstr ""
-"Необроблені землі у підніжжя гір, головним чином вкриті кущами та рідко "
+"Необроблені землі біля підніжжя гір, головним чином вкриті кущами та рідко "
 "деревами."
 
 msgid "Heath"
@@ -21609,9 +21689,9 @@ msgid ""
 "free-draining infertile, acidic soils, and is characterised by open, low-"
 "growing woody vegetation."
 msgstr ""
-"Необроблені землі у підніжжя гір, з деревно-чагарникові покриттям, "
+"Необроблені землі біля підніжжя гір, з деревно-чагарниковим покриттям, "
 "зустрічаються в основному на засушливих, безплідних, кислих ґрунтах, і "
-"характеризується відкритою, низькорослою деревної рослинністю."
+"характеризуються відкритою, низькорослою деревною рослинністю."
 
 msgid "Sand"
 msgstr "Пісок"
@@ -21626,7 +21706,7 @@ msgid ""
 "For areas of solid visible rock that is sparsely vegetated or not vegetated "
 "at all."
 msgstr ""
-"Скелясті діялнктз рідкісною рослинністю або не покриті рослинністю взагалі."
+"Скелясті ділянки з рідкісною рослинністю або не покриті рослинністю взагалі."
 
 msgid "Stone"
 msgstr "Камінь"
@@ -21693,7 +21773,7 @@ msgid "Cemetery"
 msgstr "Кладовище"
 
 msgid "Religious"
-msgstr "Релігіозне"
+msgstr "Релігійне"
 
 msgid "Retail"
 msgstr "Роздрібна торгівля"
@@ -21758,9 +21838,6 @@ msgstr "Загальна скорочена назва"
 msgid "House number"
 msgstr "Номер будинку"
 
-msgid "House name"
-msgstr "Назва будинку"
-
 msgid "Street name"
 msgstr "Вулиця"
 
@@ -21773,8 +21850,8 @@ msgstr "Назва міста"
 msgid "Country code"
 msgstr "Код країни"
 
-msgid "Optional values for specific countries"
-msgstr "Необов’язкові значення для конкретних країн"
+msgid "House name"
+msgstr "Назва будинку"
 
 msgid "Subdistrict"
 msgstr "Ділянка (підрайон)"
@@ -22317,7 +22394,7 @@ msgid "ways passing through the tunnel"
 msgstr "лінії, що проходять по тунелю"
 
 msgid "edge ways parallel to ''through''"
-msgstr "лінії контуру паралельні  ''through''"
+msgstr "лінії контуру, паралельні ''through''"
 
 msgid "Tunnel Start"
 msgstr "Початок тунелю"
@@ -22393,7 +22470,7 @@ msgid "OpenStreetMap (German Style)"
 msgstr "OpenStreetMap (німецький стиль)"
 
 msgid "Cambodia, Laos, Thailand, Vietnam bilingual"
-msgstr "Камбоджа, Лаос, Таїланд, В''єтнам 2-мовна"
+msgstr "Камбоджа, Лаос, Таїланд, В’єтнам 2-мовна"
 
 msgid "osmfr"
 msgstr "osmfr"
@@ -22408,7 +22485,7 @@ msgid "Strava running heatmap"
 msgstr "Strava теплова мапа бігунів"
 
 msgid "AGRI black-and-white 2.5m"
-msgstr "AGRI черно-біла 2.5м"
+msgstr "AGRI чорно-біла 2,5 м"
 
 msgid "Geoimage.at MaxRes"
 msgstr "Geoimage.at MaxRes"
@@ -22446,6 +22523,13 @@ msgstr "VoGIS: DGM (Модель ґрунтів)"
 msgid "VoGIS: DOM (Surface model)"
 msgstr "VoGIS: DOM (Модель поверхні)"
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr "IBGE Мапа міських районів"
 
@@ -22495,13 +22579,13 @@ msgid "Estonia Ortho (Maaamet)"
 msgstr "Естонія Ортомапа (Maaamet)"
 
 msgid "Estonia Hillshade (Maaamet)"
-msgstr ""
+msgstr "Естонія рельєф (Maaamet)"
 
 msgid "Estonia Cadastre (Maaamet)"
-msgstr ""
+msgstr "Естонія кадастр (Maaamet)"
 
 msgid "Estonia Forestry (Maaamet)"
-msgstr ""
+msgstr "Естонія ліси (Maaamet)"
 
 msgid "Bordeaux - 2012"
 msgstr "Бордо - 2012"
@@ -22569,7 +22653,7 @@ msgstr "Тур - ортофото 2008"
 msgid ""
 "Vercors - Réserve naturelle des Hauts-Plateaux du Vercors - Orthophotos 1999 "
 "- 1 m"
-msgstr "Веркор - заповідник Хайлендс Веркор - ортофото 1999-1 м"
+msgstr "Веркор - заповідник Хайлендс Веркор - ортофото 1999 - 1 м"
 
 msgid "Hike & Bike"
 msgstr "Піший та велотуризм"
@@ -22580,6 +22664,9 @@ msgstr "OpenStreetMap (Сербська мова)"
 msgid "Hamburg (40 cm)"
 msgstr "Гамбург (40 см)"
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr "Гамбург (DK5)"
 
@@ -22641,14 +22728,14 @@ msgid "Drone Imagery 2014 (Haiti)"
 msgstr "Знімки з дрону 2014 (Гаїті)"
 
 msgid "Ireland British War Office 1:25k GSGS 3906"
-msgstr "Ірландія Міністерство оборони Великобританії 1:25k GSGS 3906"
+msgstr "Ірландія Міністерство оборони Великобританії 1:25000 GSGS 3906"
 
 msgid "Ireland British War Office One-Inch 1941-43 GSGS 4136"
 msgstr ""
 "Ірландія Міністерство оборони Великобританії 1-дюйм 1941-43 GSGS 4136"
 
 msgid "Ireland Bartholomew Quarter-Inch 1940"
-msgstr "Ірландія, вид. Bartholomew, четвертьдюймова 1940"
+msgstr "Ірландія, вид. Bartholomew, чвертьдюймова 1940"
 
 msgid "Ireland EEA GMES Urban Atlas"
 msgstr "Ірландія EEA GMES Urban Atlas"
@@ -22708,13 +22795,13 @@ msgid "Gaza Strip - Pléiades - 2014/07/06 (NIR)"
 msgstr "Сектор Газа - Pléiades - 06.07.2014 (NIR)"
 
 msgid "Pangasinán/Bulacan (Phillipines HiRes)"
-msgstr "Пангасінан/Булакан (Філліпіни HiRes)"
+msgstr "Пангасінан/Булакан (Філіппіни HiRes)"
 
 msgid "Geoportal 2: Ortofotomapa (aerial image)"
 msgstr "Geoportal 2: ортофото"
 
 msgid "Geoportal 2: PRNG (geo names)"
-msgstr "Geoportal 2: PRNG (топоіими)"
+msgstr "Geoportal 2: PRNG (топоніми)"
 
 msgid "Będzin: Ortofotomapa 2013 (aerial image)"
 msgstr "Бедзін: Ортофото 2013 (аерофото)"
@@ -22804,7 +22891,7 @@ msgid "South Africa CD:NGI Aerial"
 msgstr "Південна Африка CD:NGI Aerial"
 
 msgid "Catastro Spain"
-msgstr "Кадастровая мапа Іспанії"
+msgstr "Кадастрова мапа Іспанії"
 
 msgid "PNOA Spain"
 msgstr "PNOA Іспанія"
@@ -22825,10 +22912,13 @@ msgid "GRAFCAN Express - Canary Islands"
 msgstr "GRAFCAN Express - Канарські острови"
 
 msgid "Kanton Aargau 25cm (AGIS 2011)"
-msgstr "Кантон Аргау 25см (AGIS 2011)"
+msgstr "Кантон Аргау 25 см (AGIS 2011)"
+
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr "Кантон Аргау 25 см (AGIS 2014)"
 
 msgid "Stadt Uster Orthophoto 2008 10cm"
-msgstr "МІсто Устер: ортофото 2008 10см"
+msgstr "Місто Устер: ортофото 2008 10 см"
 
 msgid "Stadtplan Zürich"
 msgstr "Цюрих - план міста"
@@ -22837,7 +22927,7 @@ msgid "Stadt Zürich Übersichtsplan (Strassen, Gebäude, Hausnummer)"
 msgstr "Цюрих: оглядовий план міста (вулиці, будівлі, номери будинків)"
 
 msgid "Stadt Zürich Luftbild 2011"
-msgstr "Місто Цюріх Вид з повітря 2011"
+msgstr "Місто Цюрих Вид з повітря 2011"
 
 msgid "Orthofoto Kanton Solothurn RGB (SOGIS 2011/2012/2013)"
 msgstr "Кантон Золотурн: ортофото RGB (SOGIS 2011/2012/2013)"
@@ -22846,25 +22936,25 @@ msgid "Orthofoto Kanton Solothurn Infrarot (SOGIS 2011/2012/2013)"
 msgstr "Кантон Золотурн: ортофото в ІЧ-діапазоні (SOGIS 2011/2012/2013)"
 
 msgid "Canton de Génève 5cm (SITG 2011)"
-msgstr "Кантон Женева 5см (SITG 2011)"
+msgstr "Кантон Женева 5 см (SITG 2011)"
 
 msgid "Canton de Neuchâtel 50cm (SITN 2006)"
-msgstr "Кантон Невшатель 50см (SITN 2006)"
+msgstr "Кантон Невшатель 50 см (SITN 2006)"
 
 msgid "Canton du Jura 50cm (RCJU 1998)"
-msgstr "Кантон Юра 50см (RCJU 1998)"
+msgstr "Кантон Юра 50 см (RCJU 1998)"
 
 msgid "Canton de Fribourg 50cm (2005)"
-msgstr "Кантон Фрібур 50см (2005)"
+msgstr "Кантон Фрібур 50 см (2005)"
 
 msgid "Stadt Bern 10cm/25cm (2012)"
-msgstr "Місто Берн 10см/25см (2012)"
+msgstr "Місто Берн 10 см/25 см (2012)"
 
 msgid "HEIG-VD / Orthophoto Yverdon-les-Bains 25cm (2007)"
-msgstr "HEIG-VD / Ортофото Івердон-ле-Бен 25cm (2007)"
+msgstr "HEIG-VD / Ортофото Івердон-ле-Бен 25 см (2007)"
 
 msgid "Ville de Nyon - Orthophoto 2010 HD 5cm/pi"
-msgstr "Ньон - ортофото 2010 HD 5см/pi"
+msgstr "Ньон - ортофото 2010 HD 5см/пкс"
 
 msgid "Cartoriviera - Orthophoto 2012"
 msgstr "Cartoriviera - ортофото 2012"
@@ -22924,13 +23014,13 @@ msgid "Surrey Air Survey"
 msgstr "Суррей, аерозйомка"
 
 msgid "NLS - OS 6-inch Scotland 1842-82"
-msgstr "NLS - OS 6-дюймовая мапа Шотландії 1842-82"
+msgstr "NLS - OS 6-дюймова мапа Шотландії 1842-82"
 
 msgid "NLS - OS 1:25k 1st Series 1937-61"
-msgstr "NLS - ОС 1: 25k 1-й серії 1937-61"
+msgstr "NLS - ОС 1:25000 1-й серії 1937-61"
 
 msgid "NLS - OS 1-inch 7th Series 1955-61"
-msgstr "NLS - ОС 1-дюймова 7-й серії 1955-61"
+msgstr "NLS - ОС 1-дюймова 7-ї серії 1955-61"
 
 msgid "OS 1:25k historic (OSM-Best)"
 msgstr "OS 1:25000 історична (OSM-Best)"
@@ -22942,7 +23032,7 @@ msgid "OS Scottish Popular historic"
 msgstr "OS Scottish Popular історична"
 
 msgid "NLS - Bartholomew Half Inch, 1897-1907"
-msgstr "NLS - изд. Bartholomew, напівдюймова, 1897-1907"
+msgstr "NLS - вид. Bartholomew, напівдюймова, 1897-1907"
 
 msgid "OS Town Plans, Aberdeen 1866-1867 (NLS)"
 msgstr "Плани міст від OS, Абердін 1866-1867 (NLS)"
@@ -23184,6 +23274,9 @@ msgstr "{0} без {1} чи {2}"
 msgid "{0} without {1}, {2} or {3}"
 msgstr "{0} без {1}, {2} або {3}"
 
+msgid "{0} together with {1}"
+msgstr "{0} разом з {1}"
+
 msgid "{0} on suspicious object"
 msgstr "{0} на сумнівному об’єкті"
 
@@ -23191,7 +23284,7 @@ msgid "restaurant without name"
 msgstr "ресторан без назви"
 
 msgid "{0} used with {1}"
-msgstr "{0} використаний раз з {1}"
+msgstr "{0} використаний разом з {1}"
 
 msgid "natural water used for swimming pool"
 msgstr "natural=water у плавальних басейнах"
@@ -23202,6 +23295,12 @@ msgstr "теґ sport без фізичного об’єкта"
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr "{0} повинен бути точкою перетину {1} ​​і {2}"
 
+msgid "alternative name without {0}"
+msgstr "алтернативна назва без {0}"
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr "неповне використання {0} на лінії без {1}"
+
 msgid "{0}={1} is deprecated"
 msgstr "{0}={1} є застарілим"
 
@@ -23216,7 +23315,7 @@ msgid ""
 "''{0}'' does not specify the official mode of transportation, use ''{1}'' "
 "for example"
 msgstr ""
-"''{0}'' не уточнює офіційний вид перевезень, використовуйте  наприклад "
+"''{0}'' не уточнює офіційний вид перевезень, використовуйте, наприклад "
 "''{1}''"
 
 msgid ""
@@ -23250,6 +23349,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr "{0} потрібно замінити на {1}"
 
+msgid "{0} = {1}; remove {0}"
+msgstr "{0} = {1}; видаліть {0}"
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -23290,6 +23392,9 @@ msgstr "Перекриття ідентичних природних ділян
 msgid "Overlapping Identical Landuses"
 msgstr "Перекриття ідентичних ділянок землекористування"
 
+msgid "{0} must be connected to a way"
+msgstr "{0} має бути приєднаним до лінії"
+
 msgid "abbreviated street name"
 msgstr "скорочене позначення вулиці"
 
@@ -23309,11 +23414,21 @@ msgid "temporary highway type"
 msgstr "дороги із тимчасовим типом (road)"
 
 msgid "street name contains ss"
-msgstr "назхва вулиці містить ss"
+msgstr "назва вулиці містить ss"
+
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+"Значення ''{0}'' повинно бути ''{1}'' або ''{2}''. Для тротуарів "
+"використовуйте ''{3}''."
 
 msgid "{0} with multiple values"
 msgstr "{0} багатозначний теґ"
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr "пусте значення в рядку з розділювачами (;) ''{0}''"
+
 msgid "numerical key"
 msgstr "числовий ключ"
 
@@ -23324,7 +23439,7 @@ msgid "layer should be between -5 and 5"
 msgstr "рівень повинен бути між -5 та 5"
 
 msgid "level should be numbers with optional .5 increments"
-msgstr "значенням level повинно бути число із можливим кроком .5"
+msgstr "значенням level повинно бути число із можливим кроком 0.5"
 
 msgid ""
 "{0}: meters is default; period is separator; if units, put space then unit"
@@ -23333,7 +23448,7 @@ msgstr ""
 "вказуються через пробіл"
 
 msgid "unusual {0} format"
-msgstr "незвичайний формат{0}"
+msgstr "незвичайний формат {0}"
 
 msgid "voltage should be in volts with no units/delimiter/spaces"
 msgstr ""
@@ -23344,14 +23459,17 @@ msgid "unusual {0} specification"
 msgstr "неочікувана специфікація {0}"
 
 msgid "unusual train track gauge; use mm with no separator"
-msgstr "незвичайна ширина колії; використовується mm без розділових знаків"
+msgstr "неочікувана ширина колії; використовується мм без розділових знаків"
 
 msgid "unusual incline; use percentages/degrees or up/down"
-msgstr "незвичайний нахилу; використовуються відсотки/градусів або up/down"
+msgstr "неочікуваний нахил; використовуються відсотки/градуси або up/down"
 
 msgid "{0} must be a numeric value"
 msgstr "{0} має бути числовим значенням"
 
+msgid "{0} must be a positive integer number"
+msgstr "{0} має бути цілим додатнім числом"
+
 msgid "relation without type"
 msgstr "зв’язок без типу"
 
@@ -23377,7 +23495,7 @@ msgid "{0} is unnecessary for {1}"
 msgstr "{0} є непотрібним для {1}"
 
 msgid "{0}={1} makes no sense"
-msgstr "{0}={1} немає сенсу"
+msgstr "{0}={1} не має сенсу"
 
 msgid "Nodes duplicating parent way tags"
 msgstr "Точки дублюють теґи батьківської лінії"
@@ -23385,7 +23503,7 @@ msgstr "Точки дублюють теґи батьківської лінії
 msgid ""
 "no wikipedia-language given, use ''wikipedia''=''language:page title''"
 msgstr ""
-"не зазначено мову Вікіпедії, використовуйте'' wikipedia''=''мова:заголовок "
+"не зазначено мову Вікіпедії, використовуйте ''wikipedia''=''мова:заголовок "
 "сторінки''"
 
 msgid "unknown language prefix in wikipedia tag"
@@ -23440,7 +23558,7 @@ msgid "Columbus V-900 CSV Files"
 msgstr "Файли Columbus V-900 CSV"
 
 msgid "Importing CSV file ''%s''..."
-msgstr "Імпортування CSV файлу  ''%s''…"
+msgstr "Імпортування CSV файлу ''%s''…"
 
 msgid "Markers of "
 msgstr "Маркери "
@@ -23455,7 +23573,7 @@ msgid "Ignore hdop/vdop/pdop entries"
 msgstr "Ігнорувати елементи hdop/vdop/pdop"
 
 msgid "Warn on missing audio files"
-msgstr "Попереджати про відсутні аудіо файли"
+msgstr "Попереджати про відсутні аудіофайли"
 
 msgid "Warn on conversion errors"
 msgstr "Попереджати про помилки перетворення"
@@ -23464,7 +23582,7 @@ msgid "Error in line "
 msgstr "Помилка в лінії "
 
 msgid "Missing audio file"
-msgstr "Відсутній аудіо файл"
+msgstr "Відсутній аудіофайл"
 
 msgid "Commands"
 msgstr "Команди"
@@ -23515,7 +23633,7 @@ msgid "Missing definition of new object with id {0}."
 msgstr "Відсутне визначення нового об’єкту з id {0}."
 
 msgid "Missing mandatory attribute ''{0}'' on <member> of relation {1}."
-msgstr "Відсутні обов’язковий параметр ''{0}'' для <члена> зв’язка {1}."
+msgstr "Відсутні обов’язковий параметр ''{0}'' для <члена> зв’язку {1}."
 
 msgid "Illegal value for attribute ''uid''. Got ''{0}''."
 msgstr "Неприпустиме значення параметра ''uid''. Маємо ''{0}''."
@@ -23543,13 +23661,13 @@ msgid ""
 "in common"
 msgstr ""
 "Формувати сітку ліній, засновану на двох існуючих лініях, які мають різні "
-"точки і одну загальну точку"
+"точки і одну спільну точку"
 
 msgid "Select two ways with a node in common"
-msgstr "Виберіть дві лінії, з загальною точкою"
+msgstr "Виберіть дві лінії зі спільною точкою"
 
 msgid "Select two ways with alone a node in common"
-msgstr "Виберіть дві лінії з єдиною загальною точкою"
+msgstr "Виберіть дві лінії з єдиною спільною точкою"
 
 msgid "Create a grid of ways"
 msgstr "Створити сітку з ліній"
@@ -23564,7 +23682,7 @@ msgid ""
 "Error occurred while parsing gpx file {0}. Only a part of the file will be "
 "available."
 msgstr ""
-"Під час розбору файл gpx {0} виникла помилка. Тільки частина цього файлу "
+"Під час розбору файлу gpx {0} виникла помилка. Тільки частина цього файлу "
 "буде доступною."
 
 msgid "Invalid URL {0}"
@@ -23599,7 +23717,7 @@ msgid ""
 "Identifiable (shown in trace list and as identifiable, ordered points with "
 "timestamps)"
 msgstr ""
-"Ідентифіковані  (показуються у переліку треків як ідентифіковані, "
+"Ідентифіковані (показуються у переліку треків як ідентифіковані, "
 "впорядковані точки з часовими позначками)"
 
 msgid "Upload Trace"
@@ -23633,7 +23751,7 @@ msgid "No GPX layer selected. Cannot upload a trace."
 msgstr "Шар GPX не вибрано. Не вдається надіслати трек на сервер."
 
 msgid "Uploading trace ..."
-msgstr "Завантаження траси …"
+msgstr "Завантаження треку …"
 
 msgid "Connecting..."
 msgstr "З’єднуюсь..."
@@ -23645,7 +23763,7 @@ msgid "Error while uploading"
 msgstr "Помилка під час надсилання даних на сервер"
 
 msgid "GPX upload was successful"
-msgstr "Завантаження GPX  було успішним"
+msgstr "Завантаження GPX було успішним"
 
 msgid "Upload failed. Server returned the following message: "
 msgstr "Збій при надсиланні. Сервер відповів наступним повідомленням: "
@@ -23732,7 +23850,7 @@ msgid "Autosimplify"
 msgstr "Автоспрощення"
 
 msgid "Simplify with initial epsilon"
-msgstr "Спрощувати з початковим епсилон"
+msgstr "Спрощувати з початковим епсілон"
 
 msgid "Save as is"
 msgstr "Лишити так як є"
@@ -23759,7 +23877,7 @@ msgid "Save settings"
 msgstr "Зберегти налаштування"
 
 msgid "Can not read settings"
-msgstr "Не можливо прочитати налаштування"
+msgstr "Неможливо прочитати налаштування"
 
 msgid "Q=Options, Enter=save, Ctrl-Enter=save with tags, Up/Down=tune"
 msgstr ""
@@ -23820,7 +23938,7 @@ msgid "Fix addresses"
 msgstr "Виправити адреси"
 
 msgid "Show dialog with incomplete addresses"
-msgstr "Показати вікно з неповним адресами"
+msgstr "Показати вікно з неповними адресами"
 
 msgid "Include objects used for guesses"
 msgstr "Включати об’єкти, що використовуються для припущення"
@@ -23952,7 +24070,7 @@ msgid ""
 "Tries to guess address data by picking the name of the closest object with "
 "according tag."
 msgstr ""
-"Намагатись підібрати адресу обираючи найближчий об’єкт з відповідним теґом."
+"Намагатись підібрати адресу, обираючи найближчий об’єкт з відповідним теґом."
 
 msgid "Guessing address values"
 msgstr "Можливі значення адреси"
@@ -24014,7 +24132,7 @@ msgid "Import image"
 msgstr "Імпортувати зображення"
 
 msgid "Import georeferenced image"
-msgstr "Імпортувати зображення прив’язане до координат"
+msgstr "Імпортувати зображення, прив’язане до координат"
 
 msgid "Error while creating image layer: "
 msgstr "Під час створення шару зображення сталась помилка: "
@@ -24023,10 +24141,10 @@ msgid "NanoLog"
 msgstr "NanoLog"
 
 msgid "NanoLog of {0} entries"
-msgstr "NanoLog  {0} елементів"
+msgstr "NanoLog {0} елементів"
 
 msgid "NanoLog of {0} lines, {1} of them with coordinates."
-msgstr "NanoLog  {0} ліній, {1} з них з координатами."
+msgstr "NanoLog {0} ліній, {1} з них з координатами."
 
 msgid "Correlate with GPX..."
 msgstr "Встановлення співвідношення з GPX…"
@@ -24056,7 +24174,7 @@ msgid "Edit opening hours"
 msgstr "Властивості робочого часу"
 
 msgid "Edit time-tag of selected element in a graphical interface"
-msgstr "Змініть часовий-теґ для виділеного елемента в графічному інтерфейсі"
+msgstr "Змініть часовий теґ для виділеного елемента в графічному інтерфейсі"
 
 msgid "edit existing tag"
 msgstr "правити існуючи теґи"
@@ -24065,7 +24183,7 @@ msgid "edit new tag"
 msgstr "правити нові теґи"
 
 msgid "Display clock in 12h mode."
-msgstr "Показувати час у 12 годинному вигляді."
+msgstr "Показувати час у 12-годинному форматі."
 
 msgid "Choose key"
 msgstr "Оберіть ключ"
@@ -24074,7 +24192,7 @@ msgid "apply {0}"
 msgstr "застосувати {0}"
 
 msgid "There is something wrong in the value near:"
-msgstr "Шось не так у занченні біля:"
+msgstr "Щось не так у значенні біля:"
 
 msgid "Info: {0}"
 msgstr "Інфо: {0}"
@@ -24195,7 +24313,7 @@ msgstr "Додатково інформація:"
 
 msgid "Please select a street to associate with address interpolation way"
 msgstr ""
-"Будь ласка, виберіть вулицю, щоб зв’язати її з лінією встановлення з адрес"
+"Будь ласка, виберіть вулицю, щоб зв’язати її з лінією встановлення адрес"
 
 msgid "Please select address interpolation way for this street"
 msgstr "Будь ласка, виберіть лінію встановлення адрес для цієї вулиці"
@@ -24224,8 +24342,8 @@ msgstr ""
 
 msgid "Starting address letter must be less than ending address letter"
 msgstr ""
-"Літера початкової адреси повинна бути ближчою до початку алфавіту ніж літера "
-"кінцевої адреси"
+"Літера початкової адреси повинна бути ближчою до початку алфавіту, ніж "
+"літера кінцевої адреси"
 
 msgid "Please enter valid number for starting address"
 msgstr "Будь ласка, введіть вірний номер для початкової адреси"
@@ -24234,7 +24352,7 @@ msgid "Please enter valid number for ending address"
 msgstr "Будь ласка, введіть вірний номер для кінцевої адреси"
 
 msgid "Starting address number must be less than ending address number"
-msgstr "Номер початкової адреси повинен буди меншим за номер кінцевої адреси"
+msgstr "Номер початкової адреси повинен бути меншим за номер кінцевої адреси"
 
 msgid "Align Way Segments"
 msgstr "Вирівняти відрізки лінії"
@@ -24254,7 +24372,7 @@ msgid ""
 "Alignment not possible.\n"
 msgstr ""
 "Вирівнювання призведе до появи точки ''за межами світу''.\n"
-"Вирівнювання не можливе.\n"
+"Вирівнювання неможливе.\n"
 
 msgid ""
 "There is at least a non-pivot endpoint of the alignee that joins more than "
@@ -24263,15 +24381,15 @@ msgid ""
 msgstr ""
 "Це як мінімум не точка оберту на кінці відрізку для вирівнювання, що з’єднує "
 "більше ніж два відрізки.\n"
-"Вирівнювання із збереженням кутів не можливе.\n"
+"Вирівнювання із збереженням кутів неможливе.\n"
 
 msgid ""
 "The alignment is not possible with maintaining the angles of the joint "
 "segments.\n"
 "Either choose the ''keep length'' aligning method or select other segments.\n"
 msgstr ""
-"Вирівнювання із збереженням кутів між з’єднаними відрізками не можливе.\n"
-"Оберіть метод вирівнювання ''зберігати довжину''  або ж виділіть інший "
+"Вирівнювання із збереженням кутів між з’єднаними відрізками неможливе.\n"
+"Оберіть метод вирівнювання ''зберігати довжину'' або ж виділіть інший "
 "відрізок.\n"
 
 msgid ""
@@ -24279,13 +24397,13 @@ msgid ""
 "This is an unsupported scenario.\n"
 msgstr ""
 "Точка перетину буде виходити за межі її суміжних точок.\n"
-"Це не підтримуваний сценарій.\n"
+"Це непідтримуваний сценарій.\n"
 
 msgid "Undocumented problem occured.\n"
 msgstr "Виникла недокументована проблема.\n"
 
 msgid "AlignWayS: Alignment not possible"
-msgstr "AlignWayS: Вирівнювання не можливе"
+msgstr "AlignWayS: Вирівнювання неможливе"
 
 msgid "Align way segment"
 msgstr "Вирівняти відрізок лінії"
@@ -24295,13 +24413,13 @@ msgid ""
 " or put the pivot on their common node.\n"
 msgstr ""
 "Будь ласка, позначте два відрізки, що не мають спільних\n"
-" точок або встановіть вісь на іїх спільну точку.\n"
+" точок або встановіть вісь на їх спільну точку.\n"
 
 msgid "Align Way Segments: Modes"
 msgstr "Вирівняти відрізки лінії: Методи"
 
 msgid "Align Ways control panel"
-msgstr "Панель керування вирівювання відрізків ліній"
+msgstr "Панель керування вирівнюванням відрізків ліній"
 
 msgid "This panel activates in Align Ways mode:"
 msgstr "Ця панель активує режими вирівнювання відрізків"
@@ -24328,8 +24446,8 @@ msgid ""
 "likely to change as result.</html>"
 msgstr ""
 "<html>Вирівнювати відрізки ліній за взірцем так, щоб кути між з’єднаними "
-"лініями зберігались.<br/>Довжина вирівнюваного відрізку можливо "
-"зміниіться.</html>"
+"лініями зберігались.<br/>Довжина вирівнюваного відрізку, можливо, "
+"зміниться.</html>"
 
 msgid "I''m ready!"
 msgstr "Я готовий!"
@@ -24344,13 +24462,13 @@ msgid "Align Ways mode"
 msgstr "Режим вирівнювання ліній"
 
 msgid "Parameter ''{0}'' must not be null"
-msgstr "Параметр \"{0}\" не повинен бути пустим"
+msgstr "Параметр \"{0}\" не повинен бути порожнім"
 
 msgid ""
 "Segment to be aligned cannot be the same with the reference segment.\n"
 "Please choose a different segment to be aligned."
 msgstr ""
-"Відрізок, положення якого треба впорядкувати, не може бути таким же як "
+"Відрізок, положення якого треба впорядкувати, не може бути таким же, як "
 "зразковий відрізок.\n"
 "Будь ласка, оберіть інший відрізок для впорядкування положення."
 
@@ -24367,21 +24485,21 @@ msgstr ""
 
 msgid "Ctrl-Click: select reference way segment; Alt-click: Clear selection"
 msgstr ""
-"Ctrl-Click: виділити зразковий відрізок лінії; Alt-click: Зняти виділення"
+"Ctrl-Click: виділити зразковий відрізок лінії; Alt-Click: Зняти виділення"
 
 msgid ": Align segments; Alt-click: Clear selection"
-msgstr ": Вирівнювання відрізків; Alt-click: Зняти виділення"
+msgstr ": Вирівнювання відрізків; Alt-Click: Зняти виділення"
 
 msgid ""
 "Ctrl-click: select reference way segment; Click: select way segment to be "
 "aligned"
 msgstr ""
-"Ctrl-click: виділити зразковий відрізок лінії; Click: виділити відрізок, "
+"Ctrl-Click: виділити зразковий відрізок лінії; Click: виділити відрізок, "
 "який треба вирівняти"
 
 msgid "Click: select way segment to be aligned; Alt-click: Clear selection"
 msgstr ""
-"Click: виділити відрізок, який треба вирівняти Alt-click: Зняти виділення"
+"Click: виділити відрізок, який треба вирівняти; Alt-Click: Зняти виділення"
 
 msgid ""
 "Ctrl-Click: select reference way segment; Click: select way segment to be "
@@ -24526,7 +24644,7 @@ msgstr ""
 "<html>\n"
 "<div style=\"font-family:sans-serif\">\n"
 "<ul>\n"
-"  <li><b>Вирівняти відрізки.</b> натисніть <b><i><span "
+"  <li><b>Вирівняти відрізки.</b> Натисніть <b><i><span "
 "style=\"color:green\">{0}</span></i></b>. Або ж ви можете знайти відповідну "
 "команду у меню <b>Інструменти</b>\n"
 "чи додайте цю дію до <b>панелі інструментів</b>.\n"
@@ -24583,7 +24701,7 @@ msgid "skip"
 msgstr "пропустити"
 
 msgid "House number:"
-msgstr "Номер дома:"
+msgstr "Номер будинку:"
 
 msgid "Street:"
 msgstr "Вулиця:"
@@ -24693,6 +24811,12 @@ msgstr "Об’єднувати точки з сусідніми"
 msgid "merge nodes"
 msgstr "об’єднати точки"
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr "Як часто слід застосовувати розрідження (типово {0})."
+
+msgid "Thinning Iterations"
+msgstr "Ітерації розрідження"
+
 msgid "Street Name:"
 msgstr "Вулиця:"
 
@@ -24709,7 +24833,7 @@ msgid "Buildings tags:"
 msgstr "Теґи будівель:"
 
 msgid "Cannot place building outside of the world."
-msgstr "Не можливо розмістити будівлі за межами світу."
+msgstr "Неможливо розмістити будівлі за межами світу."
 
 msgid "Create building"
 msgstr "Створити будівлю"
@@ -24721,7 +24845,7 @@ msgid "Use Address dialog"
 msgstr "Використовувати діалог адрес"
 
 msgid "Auto-select building"
-msgstr "Авто-вибір будівлі"
+msgstr "Автовибір будівлі"
 
 msgid "Use address nodes under buildings"
 msgstr "Використовувати точки з адресами під будівлями"
@@ -24782,7 +24906,7 @@ msgid ""
 "Probably an old version of the cache file."
 msgstr ""
 "Помилка завантаження файлу.\n"
-"Можливо в кеші стара версія файлу."
+"Можливо, в кеші стара версія файлу."
 
 msgid "Lambert Zone {0} cache file (.{0})"
 msgstr "Зона Lambert {0} файл кешу (.{0})"
@@ -24803,13 +24927,13 @@ msgid "Reunion RGR92 cache file (.UTM4)"
 msgstr "Файл кешу Reunion RGR92 (.UTM4)"
 
 msgid "CadastreGrabber: Illegal url."
-msgstr "CadastreGrabber: Не дійсне посилання."
+msgstr "CadastreGrabber: Недійсне посилання."
 
 msgid ""
 "Cannot open a new client session.\n"
 "Server in maintenance or temporary overloaded."
 msgstr ""
-"Не вдається відкрити нову сесію клієнту.\n"
+"Не вдається відкрити нову сесію клієнта.\n"
 "Сервер на обслуговуванні або тимчасового перевантажений."
 
 msgid ""
@@ -24823,7 +24947,7 @@ msgid "Choose from..."
 msgstr "Виберіть з…"
 
 msgid "Select commune"
-msgstr "Виберіть загальне"
+msgstr "Виберіть комуну"
 
 msgid "Cadastre"
 msgstr "Кадастр"
@@ -24885,7 +25009,7 @@ msgid "Disable image cropping during georeferencing."
 msgstr "Відключити обрізку зображень під час гео-прив’язування"
 
 msgid "Use \"Tableau d''assemblage\""
-msgstr "Використовувати «Диаграму збірки»"
+msgstr "Використовувати «Таблицю збірки»"
 
 msgid "Replace grey shades by white color only"
 msgstr "Замініть сірі відтінки білим кольором"
@@ -24895,7 +25019,7 @@ msgstr "Виберіть перший шар WMS зі списку"
 
 msgid "Don''t use relation for addresses (but \"addr:street\" on elements)."
 msgstr ""
-"Не використовувати зв’язки для адрес (крім, \"addr:street\" у елементів)"
+"Не використовувати зв’язки для адрес (крім \"addr:street\" у елементів)"
 
 msgid "off"
 msgstr "вимк"
@@ -24949,7 +25073,7 @@ msgid ""
 "<BR>before any upload of data created by this plugin."
 msgstr ""
 "Спеціальний обробник WMS-шару французького кадастру з www.cadastre.gouv.fr "
-"<BR> <BR> Будь ласка, прочитайте умови використання тут (французською): <br> "
+"<BR> <BR> Будь ласка, прочитайте умови використання тут (французькою): <br> "
 "<A HREF = \"http://www. "
 "cadastre.gouv.fr/scpc/html/CU_01_ConditionsGenerales_fr.html \"> "
 "http://www.cadastre.gouv.fr/scpc/html/CU_01_ConditionsGenerales_fr.html </A> "
@@ -24964,7 +25088,7 @@ msgid ""
 "Replace the original white background by the background color defined in "
 "JOSM preferences."
 msgstr ""
-"Замініть  оригінальний білий колір фону, на колір фону визначений у "
+"Замініть оригінальний білий колір фону на колір фону, визначений у "
 "налаштуваннях JOSM."
 
 msgid ""
@@ -25035,7 +25159,7 @@ msgid "Buildings, covers, underground constructions."
 msgstr "Будівлі, сховища, підземні споруди."
 
 msgid "Symbols like cristian cross."
-msgstr "Символ, наприклад християнський хрест"
+msgstr "Символ, наприклад християнський хрест."
 
 msgid "Parcels."
 msgstr "Ділянки."
@@ -25086,10 +25210,10 @@ msgstr ""
 "шарів."
 
 msgid "Enable this to use the tag \"add:street\" on nodes."
-msgstr "Увімкніть для можливості використання \"add:street\" на точках."
+msgstr "Увімкніть для можливості використання \"addr:street\" на точках."
 
 msgid "Unexpected file extension. {0}"
-msgstr "Несподіване розширення файлу.  {0}"
+msgstr "Несподіване розширення файлу. {0}"
 
 msgid "Add \"source=...\" to elements?"
 msgstr "Додати до елементів \"source=…\"?"
@@ -25140,10 +25264,10 @@ msgid ""
 "Please use the other menu entry to georeference a \"Plan image\""
 msgstr ""
 "Ця комуна не векторизована.\n"
-"Будь ласка, скористайтесь іншим пунктом меню для гео-прив’язки  \"планів\""
+"Будь ласка, скористайтесь іншим пунктом меню для гео-прив’язки \"планів\""
 
 msgid "Extract commune boundary"
-msgstr "Витягти кордони общини"
+msgstr "Витягти кордони комуни"
 
 msgid "Only on vectorized layers"
 msgstr "Тільки на векторизованних шарах"
@@ -25155,7 +25279,7 @@ msgid "Cancel current grab (only vector images)"
 msgstr "Скасувати поточне захоплення (тільки векторні зображення)"
 
 msgid "Cadastre grab"
-msgstr "Захват кадастру"
+msgstr "Захоплення кадастру"
 
 msgid "Download Image from French Cadastre WMS"
 msgstr "Завантажити зображення з WMS Кадастру Франції"
@@ -25164,7 +25288,7 @@ msgid "Cadastre: {0}"
 msgstr "Кадастр: {0}"
 
 msgid "Georeference an image"
-msgstr "Геопрівязкі зображення"
+msgstr "Геоприв’язка зображення"
 
 msgid "Grab non-georeferenced image"
 msgstr "Захопити не прив’язане до координат зображення"
@@ -25186,19 +25310,18 @@ msgid "Load location from cache (only if cache is enabled)"
 msgstr "Завантажити розташування із кешу (якщо він включений)"
 
 msgid "{0} not allowed with the current projection"
-msgstr "{0} не допускається в поточний проекції"
+msgstr "{0} не допускається в поточній проекції"
 
 msgid ""
 "Cannot load cache {0} which is not compatible with current projection zone"
-msgstr ""
-"Неможливо завантажити кеш {0}, який не сумісний з поточною зоною проекції"
+msgstr "Неможливо завантажити кеш {0}, несумісний з поточною зоною проекції"
 
 msgid ""
 "Selected file {0} is not a cache file from this plugin (invalid extension)"
 msgstr "Обраний файл {0} не є кеш-файлом цього втулка (невірне розширення)"
 
 msgid "The location {0} is already on screen. Cache not loaded."
-msgstr "Місце положення {0} вже не екрані. Кеш не завантажено."
+msgstr "Місце положення {0} вже на екрані. Кеш не завантажено."
 
 msgid "(optional)"
 msgstr "(опціонально)"
@@ -25213,7 +25336,7 @@ msgid "Add a new municipality layer"
 msgstr "Додати новий шар муніципалітету"
 
 msgid "Commune"
-msgstr "Община"
+msgstr "Комуна"
 
 msgid ""
 "<html>Enter the town,village or city name.<br>Use the syntax and punctuation "
@@ -25349,7 +25472,7 @@ msgid "Is vectorized."
 msgstr "Векторизований."
 
 msgid "Commune bbox: {0}"
-msgstr "Габаритний прямокутник общини: {0}"
+msgstr "Габаритний прямокутник комуни: {0}"
 
 msgid ""
 "Unsupported cache file version; found {0}, expected {1}\n"
@@ -25374,7 +25497,7 @@ msgid "Use"
 msgstr "Використати"
 
 msgid "Please select a scheme to use."
-msgstr "Будь ласка, оберіть схему що буде використовуватись."
+msgstr "Будь ласка, оберіть схему, що буде використовуватись."
 
 msgid "Color Scheme"
 msgstr "Схема кольорів"
@@ -25399,9 +25522,9 @@ msgstr "Об’єднання пари об’єктів"
 
 msgid "Added {0} object to subject layer"
 msgid_plural "Added {0} objects to subject layer"
-msgstr[0] "Додано {0} об’єкт  до підлеглого шару"
-msgstr[1] "Додано {0} об’єкти  до підлеглого шару"
-msgstr[2] "Додано {0} об’єктів  до підлеглого шару"
+msgstr[0] "Додано {0} об’єкт до підлеглого шару"
+msgstr[1] "Додано {0} об’єкти до підлеглого шару"
+msgstr[2] "Додано {0} об’єктів до підлеглого шару"
 
 msgid "Conflation"
 msgstr "Злиття"
@@ -25434,7 +25557,7 @@ msgid "Delete {0} conflation matches"
 msgstr "Вилучити {0} збігів"
 
 msgid "Remove {0} unmatched objects"
-msgstr "ВИлучит {0} об’єктів, що немають збігів"
+msgstr "Вилучити {0} об’єктів, що не мають збігів"
 
 msgid "Remove selected matches"
 msgstr "Вилучити виділені збіги"
@@ -25608,7 +25731,7 @@ msgid ""
 "\n"
 "stderr contents:"
 msgstr ""
-"Сценарій нащадок повернув помилкові дані.\n"
+"Сценарій-нащадок повернув помилкові дані.\n"
 "\n"
 "зміст stderr:"
 
@@ -25691,13 +25814,13 @@ msgid "User {0} is mapping nearby"
 msgstr "Учасник {0} мапить поруч з вами"
 
 msgid "Users mapping nearby:"
-msgstr "Учасникі поруч:"
+msgstr "Учасники поруч:"
 
 msgid "Private chat"
 msgstr "Приватний чат"
 
 msgid "Close tab"
-msgstr "Закрити  вкладку"
+msgstr "Закрити вкладку"
 
 msgid "Logout"
 msgstr "Вихід"
@@ -25721,7 +25844,7 @@ msgid "A By Time"
 msgstr "А — За часом"
 
 msgid "A By Distance"
-msgstr "А — По відстані"
+msgstr "А — За відстанню"
 
 msgid "B By Time"
 msgstr "Б — За часом"
@@ -25773,8 +25896,8 @@ msgid ""
 "Globalsat homepage at http://www.raphael-mack.de/josm-globalsat-gpx-import-"
 "plugin/"
 msgstr ""
-"Не вдається завантажити бібліотеку rxtxSerial.Якщо вам потрібна консультація "
-"зі встановлення, завітайте до Домівки Globalsat за адресою "
+"Не вдається завантажити бібліотеку rxtxSerial. Якщо вам потрібна "
+"консультація зі встановлення, завітайте до Домівки Globalsat за адресою "
 "http://www.raphael-mack.de/josm-globalsat-gpx-import-plugin/"
 
 msgid "Globalsat Import"
@@ -25803,16 +25926,16 @@ msgid "GPX Data"
 msgstr "GPX дані"
 
 msgid "Classes element below root child level"
-msgstr "Елмент класу нижче рівня основного нащадка"
+msgstr "Елемент класу нижче рівня основного нащадка"
 
 msgid "Class element ({0}) outside classes element"
-msgstr "Елемент класу ({0}) по за класом елемента"
+msgstr "Елемент класу ({0}) поза класом елемента"
 
 msgid "Class element without name"
 msgstr "Елемент класу без назви"
 
 msgid "Tag element outside basetag and implication elements"
-msgstr "Елемент теґу по за теґом або причетним елементом"
+msgstr "Елемент теґу поза теґом або причетним елементом"
 
 msgid "Implications element below root child level"
 msgstr "Причетний елемент нижче рівня основного нащадка"
@@ -25840,7 +25963,7 @@ msgid "Closed implications while it was not open"
 msgstr "Закриття причетного елементу до його відкриття"
 
 msgid "Tag element inside other tag element"
-msgstr "Теґ елементу в середені іншого теґу"
+msgstr "Теґ елементу всередині іншого теґу"
 
 msgid "Invalid opening xml tag <{0}> in state {1}"
 msgstr "Невірний відкриваючий xml-теґ <{0}> у позиції {1}"
@@ -25864,7 +25987,7 @@ msgid "Condition is already finished at <{0}>"
 msgstr "Умови вже закінчені у <{0}>"
 
 msgid "Unknown tag for condition: {0}"
-msgstr "Невідомий теґ умов : {0}"
+msgstr "Невідомий теґ умов: {0}"
 
 msgid "Element must not have children: {0}"
 msgstr "Елемент не повинен мати нащадків: {0}"
@@ -25873,13 +25996,13 @@ msgid "Condition is already finished at </{0}>"
 msgstr "Умови вже закінчені у </{0}>"
 
 msgid "<and> needs at least one child"
-msgstr "<та> потрібен хоча б один нащадок"
+msgstr "<and> потрібен хоча б один нащадок"
 
 msgid "<or> needs at least one child"
-msgstr "<чи> потрібен хоча б один нащадок"
+msgstr "<or> потрібен хоча б один нащадок"
 
 msgid "<not> needs at least one child"
-msgstr "<не> потрібен хоча б один нащадок"
+msgstr "<not> потрібен хоча б один нащадок"
 
 msgid "Wrong closing tag {0} (</{1}> expected)"
 msgstr "Помилковий кінцевий теґ {0} (очікується </{1}>)"
@@ -25891,7 +26014,7 @@ msgid "Group not yet evaluated"
 msgstr "Група ще не обчислена"
 
 msgid "Collection must contain at least one condition"
-msgstr "Набір потрібен мати хоча б одну умову"
+msgstr "Набір повинен мати хоча б одну умову"
 
 msgid "No ruleset has been selected!"
 msgstr "Жодного вибраного набору правил!"
@@ -25942,7 +26065,7 @@ msgid "weight (t)"
 msgstr "вага (т)"
 
 msgid "axleload (t)"
-msgstr "наватаження на вісь (т)"
+msgstr "навантаження на вісь (т)"
 
 msgid "Bookmark name"
 msgstr "Закладка"
@@ -25987,7 +26110,7 @@ msgid ""
 "List of surfaces the vehicle cannot use, values are separated by semicolons "
 "(;)"
 msgstr ""
-"Перелік типів поверхні не придатних для руху траспортних засобів, значення "
+"Перелік типів поверхні, не придатних для руху транспортних засобів, значення "
 "розділяються (;)"
 
 msgid "max. tracktype grade"
@@ -25995,8 +26118,7 @@ msgstr "макс. рівень типу покриття"
 
 msgid "Worst tracktype (1-5) the vehicle can still use, 0 for none"
 msgstr ""
-"Найгірші типи (1-5) придатні для руху траспортних засобів, 0 - рух не "
-"можливий"
+"Найгірші типи (1-5) придатні для руху траспортних засобів, 0 - рух неможливий"
 
 msgid "Change bookmark"
 msgstr "Змінити закладку"
@@ -26041,7 +26163,7 @@ msgid "Ruleset"
 msgstr "Набір правил"
 
 msgid "Use built-in rulesets"
-msgstr "Використовувати вбудовані набіри правил"
+msgstr "Використовувати вбудовані набори правил"
 
 msgid "External ruleset directory:"
 msgstr "Тека наборів правил:"
@@ -26087,7 +26209,7 @@ msgid ""
 "All manually added or edited bookmarks will be lost!"
 msgstr ""
 "Дійсно відновити типові закладки?\n"
-"Усі додані в  ручну чи скоректовані закладки будуть втрачені!"
+"Усі додані вручну чи скоректовані закладки будуть втрачені!"
 
 msgid "Bookmark reset"
 msgstr "Перевстановлення закладок"
@@ -26130,7 +26252,7 @@ msgid ""
 msgstr ""
 "Довжину потрібно зазначати позитивним десятковим числом разом з одиницею "
 "виміру \"m\", \"km\", \"mi\" чи без неї.\n"
-"Допускається використання формату  ФУТИ'' ДЮЙМИ\"."
+"Допускається використання формату ФУТИ'' ДЮЙМИ\"."
 
 msgid ""
 "Speeds should be given as numbers without unit or as numbers followed by "
@@ -26166,7 +26288,7 @@ msgid "Generate Imagery XML bounds for the selection"
 msgstr "Створити межі зображення в форматі XML для виділеного"
 
 msgid "edit bounds for selected defaults"
-msgstr "правити межі для типового виілення"
+msgstr "правити межі для типового виділення"
 
 msgid "Download imagery XML bounds"
 msgstr "Завантажити XML-межі фону"
@@ -26230,8 +26352,8 @@ msgstr "Завантаження зміщень для поточного фон
 msgid ""
 "No data for this region. Please adjust imagery layer and upload an offset."
 msgstr ""
-"Поруч немає даних.  Будь ласка, прив’яжіть фоновий знімок і відправте зсув "
-"на сервер."
+"Поруч немає даних. Будь ласка, прив’яжіть фоновий знімок і відправте зсув на "
+"сервер."
 
 msgid "Loading imagery offsets..."
 msgstr "Завантаження зсуву фону…"
@@ -26277,7 +26399,7 @@ msgid ""
 "find the corresponding feature on the imagery layer and move it accordingly."
 msgstr ""
 "Додано шар із калібрувальною геометрією. Приховайте шар з даними,\n"
-"найдіть відповідний об’єкт на знімках та посуньте їх під геометрію."
+"знайдіть відповідний об’єкт на знімках та посуньте їх під геометрію."
 
 msgid "Deprecated by {0} on {1}"
 msgstr "Відзначено як застаріле {1} користувачем {0}"
@@ -26322,7 +26444,7 @@ msgid "Server has rejected the request"
 msgstr "Сервер відхилив запит"
 
 msgid "Unable to connect to the server"
-msgstr "Не можливо з’єднатися з сервером"
+msgstr "Неможливо з’єднатися з сервером"
 
 msgid "Store Imagery Offset..."
 msgstr "Збереження зміщення фону…"
@@ -26343,13 +26465,13 @@ msgid ""
 "The selected object can be used as a calibration geometry. What do you "
 "intend to do?"
 msgstr ""
-"Обраний об’єкт може бути використаний в якості калібрувальної геометрії.  Що "
+"Обраний об’єкт може бути використаний в якості калібрувальної геометрії. Що "
 "робити?"
 
 msgid ""
 "The topmost imagery layer has no offset. Are you sure you want to upload "
 "this?"
-msgstr "Верхній фоновий шар не зміщено.  Зберегти нульовий зсув на сервері?"
+msgstr "Верхній фоновий шар не зміщено. Зберегти нульовий зсув на сервері?"
 
 msgid ""
 "You are registering an imagery offset. Other users in this area will be able "
@@ -26360,7 +26482,7 @@ msgstr ""
 "Ви зберігаєте зсув фону. Інші учасники будуть використовувати його під час "
 "креслення мапи\n"
 "цієї місцевості. Переконайтесь, що він є максимально точним, та опишіть "
-"місцевість для якої він підходить."
+"місцевість, для якої він підходить."
 
 msgid ""
 "You are registering a calibration geometry. It should be the most precisely "
@@ -26368,10 +26490,10 @@ msgid ""
 "clearly visible boundaries on various satellite imagery. Please describe "
 "this object and its whereabouts."
 msgstr ""
-"Ви зберігаєте калібрувальну геометрію.  Вона повинна бути ідеально "
+"Ви зберігаєте калібрувальну геометрію. Вона повинна бути ідеально "
 "прив’язаною, а у відповідного\n"
-"об’єкта чіткі межі і достатній для різних знімків розмір.  Опишіть об’єкт та "
-"його місце знаходження."
+"об’єкта чіткі межі і достатній для різних знімків розмір. Опишіть об’єкт та "
+"його місцезнаходження."
 
 msgid "Uploading a new offset..."
 msgstr "Надсилання нового зсуву…"
@@ -26491,9 +26613,9 @@ msgid ""
 "Resulting layer is to be saved as .osm and sent to Komzpa (me at komzpa.net) "
 "with [irs rectify] in subject."
 msgstr ""
-"Цей параметр створює вирівняний шар IRS та невелику лінію в середині нього. "
+"Цей параметр створює вирівняний шар IRS та невелику лінію всередині нього. "
 "Вам потрібно спочатку вирівняти положення тла WMS.\n"
-"Шар, який ви отримали буде збережений як .osm на надісланий до Komzpa "
+"Шар, який ви отримали, буде збережений як .osm та надісланий до Komzpa "
 "(me at komzpa.net) з темою [irs rectify]."
 
 msgid "IRS Adjustment Layer"
@@ -26524,7 +26646,7 @@ msgid "calculating Strong Connectedness"
 msgstr "розрахунок Міцності Зв’язаності"
 
 msgid "creating DigraphLayer"
-msgstr "створення ШаруОргафу"
+msgstr "створення ШаруОрграфу"
 
 msgid "JunctionChecking"
 msgstr "Перевірка Розв’язок"
@@ -26555,7 +26677,7 @@ msgstr "створити Зв’язок (OSM): розв’язку"
 
 msgid ""
 "if enabled the plugin produces osm-relations from the junction subgraphs"
-msgstr "якщо увімкнено, втулок створює зв’язки-osm з під-графів розв’язок"
+msgstr "якщо увімкнено, втулок створює зв’язки OSM з підграфів розв’язок"
 
 msgid "create the channel digraph"
 msgstr "створити канал орграфа"
@@ -26570,7 +26692,7 @@ msgid "Search "
 msgstr "Пошук "
 
 msgid "search for junctions in the channel subset"
-msgstr "пошук розв''язок у підмножині каналів"
+msgstr "пошук розв’язок у підмножині каналів"
 
 msgid ""
 "The marked channels contains a junctioncandidate (white). To test this "
@@ -26586,7 +26708,7 @@ msgid "The marked channels are not a junction:"
 msgstr "Позначені канали не є розв’язкою:"
 
 msgid "construct channel digraph and search for junctions"
-msgstr "побудувати канал орграфа ташукати розв’язки"
+msgstr "побудувати канал орграфа та шукати розв’язки"
 
 msgid "Number of {0}-ways junctions found: {1}"
 msgstr "Кількість {0}-лінійних перехрещень: {1}"
@@ -26613,7 +26735,7 @@ msgid "Lake Walker"
 msgstr "Трасувальник озер"
 
 msgid "Error creating cache directory: {0}"
-msgstr "Помилка створення каталогу для кешу: {0}"
+msgstr "Помилка створення теки для кешу: {0}"
 
 msgid "Tracing"
 msgstr "Трасування"
@@ -26725,7 +26847,7 @@ msgid ""
 "lines). Default 50000."
 msgstr ""
 "Максимальна кількість створюваних точок перед з’єднанням з початковою точкою "
-"(до спрощення лінії). Початкове значення —  50 000."
+"(до спрощення лінії). Початкове значення — 50 000."
 
 msgid ""
 "Maximum gray value to accept as water (based on Landsat IR-1 data). Can be "
@@ -26751,7 +26873,7 @@ msgstr ""
 
 msgid "Size of one landsat tile, measured in pixels. Default 2000."
 msgstr ""
-"Розмір одного квадрату Landsat, в пікселях. Початкове значення — 2 000,"
+"Розмір одного квадрату Landsat, в пікселях. Початкове значення — 2 000."
 
 msgid "Offset all points in East direction (degrees). Default 0."
 msgstr ""
@@ -26774,7 +26896,7 @@ msgid "Which WMS layer to use for tracing against. Default is IR1."
 msgstr "Який шар WMS використовувати для трасування? Типово — IR1."
 
 msgid "Maximum size of each cache directory in bytes. Default is 300MB"
-msgstr "Максимальний розмір кожного каталогу кешу в байтах. Типово — 300MB"
+msgstr "Максимальний розмір кожної теки кешу в байтах. Типово — 300MB"
 
 msgid "Maximum age of each cached file in days. Default is 100"
 msgstr "Максимальний термін зберігання файлів у кеші (днів). Типово — 100"
@@ -26783,7 +26905,7 @@ msgid "Data source text. Default is Landsat."
 msgstr "Дані вихідного тексту. Типово Landsat."
 
 msgid "Downloading image tile..."
-msgstr "Заватажується зображення квадрату мапи…"
+msgstr "Завантажується зображення квадрату мапи…"
 
 msgid "Could not acquire image"
 msgstr "Не вдалось отримати зображення"
@@ -26838,16 +26960,16 @@ msgid "Center the LiveGPS layer to current position."
 msgstr "Центрувати шар LiveGPS у поточному положенні."
 
 msgid "Auto-Center"
-msgstr "Авто-центрування"
+msgstr "Автоцентрування"
 
 msgid "Continuously center the LiveGPS layer to current position."
-msgstr "Безпереривно центрувати шар LiveGPS на поточному положенні."
+msgstr "Безперервно центрувати шар LiveGPS на поточному положенні."
 
 msgid "Open MapDust"
 msgstr "Показати MapDust"
 
 msgid "MapDust bug reports"
-msgstr "Звіт про помилки MapDust bug"
+msgstr "Звіт про помилки MapDust"
 
 msgid "Activates the MapDust bug reporter plugin"
 msgstr "Активує втулок звітування про помилки MapDust"
@@ -26902,16 +27024,15 @@ msgid ""
 "<html>A role based relation membership was copied to all new ways.<br>You "
 "should verify this and correct it when necessary.</html>"
 msgstr ""
-"<html>Роль, заснована на участі у зв’язках, була скопійована у всі нові "
-"лінії.<br>Результат необхідно перевірити і виправити, якщо буде "
-"потрібно.</html>"
+"<html>Участь у зв’язках, з урахуванням ролей, була поширена на всі нові "
+"лінії.<br>Результат необхідно перевірити та виправити за потреби.</html>"
 
 msgid ""
 "<html>A relation membership was copied to all new ways.<br>You should verify "
 "this and correct it when necessary.</html>"
 msgstr ""
-"<html>Член зв’язку був скопійований у всі нові лінії. <br> Результат "
-"потрібно перевірити та виправити за потреби.</html>"
+"<html>Участь у зв’язках була поширена на всі нові лінії. <br> Результат "
+"необхідно перевірити та виправити за потреби.</html>"
 
 msgid "Split way"
 msgstr "Розділити лінію"
@@ -26927,10 +27048,10 @@ msgstr ""
 "Будь ласка, виберіть 4 або 5 ліній, щоб призначити заборону повороту ліворуч."
 
 msgid "Please select 4 ways that form a closed relation."
-msgstr "Будь ласка, виділить 4 лінії, що утворюють закрити’ зв’язок."
+msgstr "Будь ласка, виділіть 4 лінії, що утворюють закритий зв’язок."
 
 msgid "Unable to order the ways. Please verify their directions"
-msgstr "Не можливо впорядкувати лінії. Будь ласка, перевірте їх напрямки"
+msgstr "Неможливо впорядкувати лінії. Будь ласка, перевірте їх напрямки"
 
 msgid "Create Michigan left turn restriction"
 msgstr "Створити обмеження повороту ліворуч (Мічіган)"
@@ -26943,7 +27064,7 @@ msgid ""
 "''[[network=VRR][ref=603|613]''"
 msgstr ""
 "Запит XAPI, наприклад, '''' (для завантаження всіх даних), ''[highway=*]'' "
-"або ''[[network=VRR][ref=603|613]''"
+"or ''[[network=VRR][ref=603|613]''"
 
 msgid "Download from OSM mirror..."
 msgstr "Завантаження з дзеркала OSM…"
@@ -26973,13 +27094,13 @@ msgid "Select OSM mirror URL"
 msgstr "Виберіть URL дзеркала OSM"
 
 msgid "Select OSM mirror URL to download from."
-msgstr "Оберіть URL дзеркала OSM длязавантаження."
+msgstr "Оберіть URL дзеркала OSM для завантаження."
 
 msgid "Base URL"
 msgstr "Базовий URL"
 
 msgid "Enforce meta data"
-msgstr "Задати мета дані"
+msgstr "Задати метадані"
 
 msgid "About Plugin"
 msgstr "Про втулок"
@@ -27007,7 +27128,7 @@ msgid ""
 "text)."
 msgstr ""
 "Знайдено конфіденційні дані, які до цих пір зберігаються в файл налаштувань "
-"JOSM  (у текстовому вигляді)."
+"JOSM (у текстовому вигляді)."
 
 msgid "Transfer to password manager and remove from preference file"
 msgstr "Перенести у менеджер паролів і вилучити з файлу налаштувань"
@@ -27025,7 +27146,7 @@ msgid "Finish"
 msgstr "Завершити"
 
 msgid "Confirm the setup and close this dialog"
-msgstr "Підтвердити налаштування і закрити діалогове"
+msgstr "Підтвердити налаштування і закрити діалог"
 
 msgid "JOSM/OSM API/Username"
 msgstr "JOSM/OSM API/Ім’я користувача"
@@ -27150,7 +27271,7 @@ msgid "View the full text of this license"
 msgstr "Переглянути повний текст цієї ліцензії"
 
 msgid "I refuse these terms and conditions. Cancel download."
-msgstr "Я не приймаю ці умови.  Скасувати завантаженя."
+msgstr "Я не приймаю ці умови. Скасувати завантаженя."
 
 msgid "Module bundled with opendata plugin"
 msgstr "Модуль поставляється з втулком OpenData"
@@ -27204,7 +27325,7 @@ msgid ""
 "All installed modules are up to date. JOSM does not have to download newer "
 "versions."
 msgstr ""
-"Всі встановлені модулі в актуальному стані.  JOSM не потрібно завантажувати "
+"Всі встановлені модулі в актуальному стані. JOSM не потрібно завантажувати "
 "нові версії."
 
 msgid "Modules up to date"
@@ -27223,14 +27344,14 @@ msgid "Open Data Module description URL"
 msgstr "URL з описом модуля Open Data"
 
 msgid "Download OSM data corresponding to the current data set."
-msgstr "Завантажити OSM дані пов’язані з поточним набором даних."
+msgstr "Завантажити OSM дані, пов’язані з поточним набором даних."
 
 msgid "Diff"
 msgstr "Розбіжності"
 
 msgid "Perform diff between current data set and existing OSM data."
 msgstr ""
-"Знайти відмінності між поточним набором даних і існуючими даними OSM."
+"Знайти відмінності між поточним набором даних та існуючими даними OSM."
 
 msgid "Open tools menu for this data."
 msgstr "Відкрити меню інструментів для цих даних."
@@ -27299,7 +27420,7 @@ msgid "OpenData XML files"
 msgstr "Файли OpenData XML"
 
 msgid "File to load"
-msgstr "Файл для звантаження"
+msgstr "Файл для завантаження"
 
 msgid "7Zip Files"
 msgstr "Файли 7Zip"
@@ -27427,7 +27548,7 @@ msgid ""
 "valid URL. Skipping download."
 msgstr ""
 "Попередження: Неможливо завантажити модуль ''{0}''. Посилання для його "
-"завантаження ''{1}'' не є допустим  URL. Пропускаємо завантаження."
+"завантаження ''{1}'' не є допустимим URL. Пропускаємо завантаження."
 
 msgid "Downloading Module {0}..."
 msgstr "Завантаження модуля {0}…"
@@ -27448,15 +27569,15 @@ msgid ""
 "Skipping module update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
-"Пропуск періодичного оновлення модуля.  Автоматичне оновлення в момент "
+"Пропуск періодичного оновлення модуля. Автоматичне оновлення в момент "
 "запуску відключено."
 
 msgid ""
 "Running module update after elapsed update interval. Automatic update at "
 "startup is disabled."
 msgstr ""
-"Запуск періодичного оновлення модуля.  Автоматичне оновлення в момент "
-"запуску вимкнено."
+"Запуск періодичного оновлення модуля. Автоматичне оновлення в момент запуску "
+"відключено."
 
 msgid "Could not load module {0}. Delete from preferences?"
 msgstr "Не вдалося завантажити модуль {0}. Вилучити його з налаштувань?"
@@ -27514,7 +27635,7 @@ msgid "Keep module"
 msgstr "Залишити модуль"
 
 msgid "Click to keep the module ''{0}''"
-msgstr "Клацніть щоб залишити модуль ''{0}''"
+msgstr "Клацніть, щоб залишити модуль ''{0}''"
 
 msgid "Warning: failed to delete outdated module ''{0}''."
 msgstr "Попередження: не вдалося вилучити застарілий модуль ''{0}''."
@@ -27523,15 +27644,15 @@ msgid ""
 "Warning: failed to install already downloaded module ''{0}''. Skipping "
 "installation. JOSM is still going to load the old module version."
 msgstr ""
-"Попередження: не вдалося встановити вже завантажили модуль ''{0}''. "
-"Пропускаємо встановлення. У JOSM завантажена стара версія модуля."
+"Попередження: не вдалося встановити вже завантажений модуль ''{0}''. "
+"Пропускаємо встановлення. JOSM буде працювати зі старою версією модуля."
 
 msgid ""
 "Warning: failed to install module ''{0}'' from temporary download file "
 "''{1}''. Renaming failed."
 msgstr ""
 "Попередження: не вдалося встановити модуль ''{0}'' з тимчасового файлу "
-"завантаження ''{1}''.  Перейменування не вдалося."
+"завантаження ''{1}''. Перейменування не вдалося."
 
 msgid ""
 "Do not ask again and remember my decision (go to Preferences->Modules to "
@@ -27606,7 +27727,7 @@ msgid "Open Visible..."
 msgstr "Відкрити видиме…"
 
 msgid "Open only files that are visible in current view."
-msgstr "Відкривайте тільки файли, які є видимими у поточному виді."
+msgstr "Відкривати тільки файли, які є видимими у поточному виді."
 
 msgid "No view open - cannot determine boundaries!"
 msgstr "Вид не відкритий — неможливо визначити межі!"
@@ -27615,7 +27736,7 @@ msgid "Unknown file extension: {0}"
 msgstr "Невідоме розширення файлу: {0}"
 
 msgid "Parsing file \"{0}\" failed"
-msgstr "Невдалось розібрати файл ''{0}''"
+msgstr "Не вдалось розібрати файл ''{0}''"
 
 msgid "Osmarender"
 msgstr "Osmarender"
@@ -27657,7 +27778,7 @@ msgstr ""
 "Помилка перетворення: Мінімальне значення Y повинно бути менше максимального"
 
 msgid "Transform error: Points too close"
-msgstr "Помилка перетворення: Точки дуже близько друг до друга"
+msgstr "Помилка перетворення: Точки дуже близько одна до одної"
 
 msgid "Transform error: Unsupported variant."
 msgstr "Помилка перетворення: Непідтримуваний варіант."
@@ -27690,10 +27811,10 @@ msgid "Merge close nodes"
 msgstr "Злити точки, що знаходяться поруч"
 
 msgid "Remove objects smaller than"
-msgstr "Вилучити об’єкти менші за"
+msgstr "Вилучити об’єкти, менші за"
 
 msgid "Remove objects larger than"
-msgstr "Вилучити об’єкти більші за"
+msgstr "Вилучити об’єкти, більші за"
 
 msgid "Only this color"
 msgstr "Тільки цього кольору"
@@ -27711,7 +27832,7 @@ msgid "Shape closed"
 msgstr "Замкнена форма"
 
 msgid "Single segments"
-msgstr "Поодинокі відрізки"
+msgstr "Окремі відрізки"
 
 msgid "Orthogonal shapes"
 msgstr "Ортогональні форми"
@@ -27729,7 +27850,7 @@ msgid "Projection:"
 msgstr "Проекція:"
 
 msgid "Bottom left (min) corner:"
-msgstr "Ніжній лівий (мін) кут:"
+msgstr "Нижній лівий (мін) кут:"
 
 msgid "PDF X and Y"
 msgstr "PDF X та Y"
@@ -27789,7 +27910,7 @@ msgid "File not found."
 msgstr "Файл не знайдено."
 
 msgid "Error while parsing: {0}"
-msgstr "Помилки під часу розбору: {0}"
+msgstr "Помилки під час розбору: {0}"
 
 msgid "Removing parallel segments"
 msgstr "Вилучення паралельних відрізків"
@@ -27804,7 +27925,7 @@ msgid "Joining adjacent segments"
 msgstr "З’єднання суміжних відрізків"
 
 msgid "Removing small objects"
-msgstr "Вилучення мілких об’єктів"
+msgstr "Вилучення малих об’єктів"
 
 msgid "Removing large objects"
 msgstr "Вилучення великих об’єктів"
@@ -27878,7 +27999,7 @@ msgid "keep backup files"
 msgstr "зберегти резервні копії"
 
 msgid "change file modification time:"
-msgstr "зміни час модифікації файлу:"
+msgstr "змінити час модифікації файлу:"
 
 msgid "to gps time"
 msgstr "на час за gps"
@@ -27914,7 +28035,7 @@ msgid "Override old backup files?"
 msgstr "Замінити старі резервні копії?"
 
 msgid "Keep old backups and continue"
-msgstr "Зберігайте старі резервні копії і продовжити"
+msgstr "Зберегти старі резервні копії і продовжити"
 
 msgid "Override"
 msgstr "Перезаписати"
@@ -27934,8 +28055,10 @@ msgstr "Підігнати знімки"
 msgid "Move and position photos"
 msgstr "Пересування та позиціювання знімків"
 
-msgid "Click+drag photo or shift+click to position photo."
-msgstr "Click+потягніть знімок або shift+click для позиціювання знімку."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
+msgstr ""
 
 msgid "Please load some photos."
 msgstr "Завантажте кілька знімків."
@@ -28093,7 +28216,7 @@ msgid "Calibration Files"
 msgstr "Файли калібрування"
 
 msgid "Could not find the map object."
-msgstr "Не можливо знайти об’єкт на мапі"
+msgstr "Неможливо знайти об’єкт на мапі"
 
 msgid "PicLayer failed to load or import the image."
 msgstr "PicLayer не взмозі завантажити чи імпортувати зображення."
@@ -28109,7 +28232,7 @@ msgstr "Попередження: не вдалося обробити zip-фа
 
 msgid "A calibration file associated to the picture file was found: {0}\n"
 msgstr ""
-"Калібрувальний файл, пов’язаний з файлом зображення був знайдений у: {0}\n"
+"Калібрувальний файл, пов’язаний з файлом зображення, був знайдений у: {0}\n"
 
 msgid ""
 "Set \"{0}\" to yes/no/ask in the preferences\n"
@@ -28175,13 +28298,13 @@ msgid "A polygon coordinate line must contain exactly 2 numbers"
 msgstr "Координати лінії полігону повинні містити принаймні 2 числа"
 
 msgid "Unable to parse {0} as a number"
-msgstr "Не можливо обробити {0} як число"
+msgstr "Неможливо обробити {0} як число"
 
 msgid "Invalid coordinates were found: {0}, {1}"
 msgstr "Були виявлені помилкові координати: {0}, {1}"
 
 msgid "{0} points were outside world bounds and were moved"
-msgstr "{0} точок , що знаходились за межами світу були вилучені"
+msgstr "{0} точок, що знаходились за межами світу, були вилучені"
 
 msgid "Osmosis polygon filter files"
 msgstr "Файл фільтрів полігонів Osmosis"
@@ -28196,7 +28319,7 @@ msgid "Print the Map"
 msgstr "Друк мапи"
 
 msgid "Printer"
-msgstr "Друкарка"
+msgstr "Принтер"
 
 msgid "Media"
 msgstr "Носій"
@@ -28205,7 +28328,7 @@ msgid "Orientation"
 msgstr "Орієнтація"
 
 msgid "Printer settings"
-msgstr "Налаштування друкарки"
+msgstr "Налаштування принтера"
 
 msgid "Scale"
 msgstr "Масштабувати"
@@ -28256,7 +28379,7 @@ msgid "Public Transport: Enable GTFSStops"
 msgstr "Громадський транспорт: Увімкнути зупинки GTFS"
 
 msgid "Public Transport: Catch GTFS stops"
-msgstr "Громадський транспорт: Захватити зупинки GTFS"
+msgstr "Громадський транспорт: Захопити зупинки GTFS"
 
 msgid "skipped"
 msgstr "пропущено"
@@ -28290,7 +28413,7 @@ msgid "No data found"
 msgstr "Дані відсутні"
 
 msgid "The GTFS file was empty."
-msgstr "Файл GTFSпорожній."
+msgstr "Файл GTFS порожній."
 
 msgid "Create Stops from GTFS"
 msgstr "Створити зупинки з GTFS"
@@ -28332,7 +28455,7 @@ msgid "Mark"
 msgstr "Позначити"
 
 msgid "Catch"
-msgstr "Захватити"
+msgstr "Захопити"
 
 msgid "Join"
 msgstr "Приєднати"
@@ -28350,7 +28473,7 @@ msgid "moved"
 msgstr "пересунуто"
 
 msgid "Public Transport: Join GTFS stops"
-msgstr "Громадський транспорт: Приєднати зупинки Join GTFS"
+msgstr "Громадський транспорт: Приєднати зупинки GTFS"
 
 msgid "Id"
 msgstr "Ід."
@@ -28422,7 +28545,7 @@ msgid "Ref"
 msgstr "Посилання"
 
 msgid "Stops are possible on the"
-msgstr "Зупинка можлива у"
+msgstr "Зупинка можлива"
 
 msgid "right hand side"
 msgstr "праворуч"
@@ -28446,7 +28569,7 @@ msgid "Select GPX file"
 msgstr "Вибрати файл GPX"
 
 msgid "The GPX file contained no tracks or waypoints."
-msgstr "Файл GPX не містить ні треку, а ні маршрутних точок."
+msgstr "Файл GPX не містить ні треку, ні маршрутних точок."
 
 msgid "Create Stops from GPX"
 msgstr "Створити зупинки з GPX"
@@ -28486,7 +28609,7 @@ msgid "Public Transport: Edit track stop list"
 msgstr "Громадський транспорт: Редагувати перелік зупинок"
 
 msgid "Public Transport: Relocate nodes in track stoplist"
-msgstr "Громадський транспорт: Перерозташувати точки у  переліку зупинок"
+msgstr "Громадський транспорт: Перерозташувати точки у переліку зупинок"
 
 msgid "Public Transport: sort track stop list"
 msgstr "Громадський транспорт: Відсортувати перелік зупинок"
@@ -28531,7 +28654,7 @@ msgid "Move area tags from contour to relation"
 msgstr "Перемістити теґи ділянок з контурів на зв’язки"
 
 msgid "When moving tags, consider even non-repeating ones"
-msgstr "Під час переміщення теґів, обробляти навіть ті що не повторюються"
+msgstr "Під час переміщення теґів, обробляти навіть ті, що не повторюються"
 
 msgid "Always split ways of neighbouring multipolygons"
 msgstr "Завжди розділяти лінії сусідніх мультиполігонів"
@@ -28564,7 +28687,7 @@ msgid "Move tags from ways to relation"
 msgstr "Переміщення теґів із ліній на зв’язки"
 
 msgid "Enter admin level and name for the border relation:"
-msgstr "Введіть занчення для admin level та name у зв’язках кордонів:"
+msgstr "Введіть значення для admin_level та name у зв’язках кордонів:"
 
 msgid "Admin level"
 msgstr "Admin level"
@@ -28607,7 +28730,10 @@ msgstr ""
 "Реконструкція полігонів може бути здійснена тільки для зовнішніх ліній"
 
 msgid "Reconstruct polygons from relation {0}"
-msgstr "Реконструкція полігонів із зв’язка {0}"
+msgstr "Реконструкція полігонів із зв’язку {0}"
+
+msgid "Reconstruct route"
+msgstr "Реконструювати маршрут"
 
 msgid "Open relation wiki page"
 msgstr "Відкрити сторінку вікі з інформацією про зв’язки"
@@ -28625,7 +28751,7 @@ msgid "Node without ''house'' role found"
 msgstr "Знайдено точку без ролі ''house''"
 
 msgid "Way without ''house'' or ''street'' role found"
-msgstr "Знайдено лінію без ролі  ''house'' або ''street''"
+msgstr "Знайдено лінію без ролі ''house'' або ''street''"
 
 msgid "Relation without ''house'' role found"
 msgstr "Знайдено зв’язок без ролі ''house''"
@@ -28648,6 +28774,12 @@ msgstr "Знайдено точку без ролі ''label'' або ''admin_cen
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr "Знайдено лінію без ролі ''inner'' або ''outer''"
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr "Точка без ролі ''stop'' або ''platform''"
+
+msgid "Way platform without ''platform'' role found"
+msgstr "Лінія платформи без ролі ''platform''"
+
 msgid "Revert changeset fully"
 msgstr "Повністю відмінити набір змін"
 
@@ -28670,7 +28802,7 @@ msgid "Reverted changeset"
 msgstr "Відмінений набір змін"
 
 msgid "It is not allowed to revert changeset from {0}"
-msgstr "Не допускається, скасування набору змін {0}"
+msgstr "Не допускається скасування набору змін {0}"
 
 msgid "Missing merge target for {0} with id {1}"
 msgstr "Відсутній об’єкт злиття для {0} з ідентифікатором {1}"
@@ -28695,7 +28827,7 @@ msgid ""
 "It is needed to download them before reverting. Do you want to continue?"
 msgstr ""
 "Цей набір змін містить об’єкти, яких немає в поточному наборі даних.\n"
-"Їх потрібно спочатку завантажити перед тим як відмінити. Чи бажаєте "
+"Їх потрібно спочатку завантажити, перед тим як відмінити. Чи бажаєте "
 "продовжити?"
 
 msgid "Confirm"
@@ -28708,7 +28840,7 @@ msgid "Downloading changeset"
 msgstr "Завантаження набору змін"
 
 msgid "See {0}"
-msgstr "Див {0}"
+msgstr "Див. {0}"
 
 msgid "Revert changeset #{0}"
 msgstr "Відміна набору змін №{0}"
@@ -28942,7 +29074,7 @@ msgid ""
 "Tags beginning with this prefix are never saved to OSM, but to the SDS "
 "server only."
 msgstr ""
-"Теґи, що мають цей префікс ніколи не зберігаються на сервері OSM, тільки на "
+"Теґи, що мають цей префікс, ніколи не зберігаються на сервері OSM, тільки на "
 "сервері SDS."
 
 msgid "SDS server URL"
@@ -28958,7 +29090,7 @@ msgid "Test credentials now"
 msgstr "Перевірити облікові дані"
 
 msgid "SDS tag prefix"
-msgstr "Префік для теґів SDS"
+msgstr "Префікс для теґів SDS"
 
 msgid "Connection successful."
 msgstr "З’єднання встановлено."
@@ -29013,8 +29145,8 @@ msgid ""
 "another step of the simplification that merges adjanced nodes that are "
 "closer than <u>Threshold</u> meters."
 msgstr ""
-"Точки лінії (фігури) будуть вилучені якщо всі значення <u>Angle Weight (Вага "
-"кута)</u>, <u>Area Weight (Вага площі)</u> та <u>Distance Weight (Вага "
+"Точки лінії (фігури) будуть вилучені, якщо всі значення <u>Angle Weight "
+"(Вага кута)</u>, <u>Area Weight (Вага площі)</u> та <u>Distance Weight (Вага "
 "відстані)</u> більші за 1. <u>Weight (Вага)</u> розраховується, як <u>Value "
 "(Значення)</u> / <u>Threshold (Поріг)</u>, де: <u>Value (Значення)</u> є "
 "одним зі значень <u>Angle (Кута)</u>, <u>Area (Площі)</u> та <u>Distance "
@@ -29022,11 +29154,11 @@ msgstr ""
 "лінії.<ul><li><u>Значенням</u> <u>Кута</u> є значення кута в градусах до "
 "другої точки</li><li><u>Значенням</u> <u>Площі</u> є площа "
 "трикутника</li><li><u>Значенням</u> <u>Відстані</u> є відстань Cross Track "
-"Error Distance</li></ul>Усі три <u>Ваги</u> помножені на їх <u>Множники</u> "
-"сумуються і точка з найменшою сумою  вилучається першою. Вилучення триває до "
-"тих пір доки не лишиться точок для вилучення. Об’єднання найближчих точок є "
-"наступним кроком спрощення, який зливає найближчі точки, що знаходяться "
-"ближче ніж <u>Threshold (Поріг)</u> у метрах."
+"Error Distance</li></ul>Усі три <u>Ваги</u>, помножені на їх "
+"<u>Коефіцієнти</u>, сумуються і точка з найменшою сумою вилучається першою. "
+"Вилучення триває до тих пір, доки не лишиться точок для вилучення. "
+"Об’єднання найближчих точок є наступним кроком спрощення, який зливає "
+"найближчі точки, що знаходяться ближче ніж <u>Threshold (Поріг)</u> у метрах."
 
 msgid "Angle Threshold"
 msgstr "Граничний кут"
@@ -29035,10 +29167,10 @@ msgid "Angle Factor"
 msgstr "Кутовий коефіцієнт"
 
 msgid "Area Threshold"
-msgstr "Гранична площина"
+msgstr "Гранична площа"
 
 msgid "Area Factor"
-msgstr "Коефіцієнт площини"
+msgstr "Коефіцієнт площі"
 
 msgid "Distance Threshold"
 msgstr "Гранична відстань"
@@ -29047,7 +29179,7 @@ msgid "Distance Factor"
 msgstr "Коефіцієнт відстані"
 
 msgid "Merge Nearby Nodes Threshold"
-msgstr "Злиття найближчих граничних точок"
+msgstr "Поріг злиття найближчих точок"
 
 msgid "SeaMap Editor"
 msgstr "Редактор морських мап"
@@ -29056,7 +29188,7 @@ msgid "AutoSave LiveData"
 msgstr "Автозбереження редагованих даних"
 
 msgid "Save captured data to file every minute."
-msgstr "Зберігати захоплені дані в файл кожну хвилину."
+msgstr "Зберігати захоплені дані в файл щохвилини."
 
 msgid "Error while exporting {0}: {1}"
 msgstr "Помилка під час експорту {0}: {1}"
@@ -29175,8 +29307,8 @@ msgstr "додати до існуючого зв’язку associatedStreet"
 msgid "create an associatedStreet relation"
 msgstr "створити зв’язок associatedStreet"
 
-msgid "delete outline way"
-msgstr "вилучити лінію контуру"
+msgid "keep outline way"
+msgstr "зберегти лінію зовнішнього контуру"
 
 msgid "Street name: "
 msgstr "Назва вулиці: "
@@ -29215,7 +29347,7 @@ msgid "Reverse a Terrace"
 msgstr "Зворотній ряд будинків по вулиці"
 
 msgid "Cannot reverse!"
-msgstr "Не можливо обернути!"
+msgstr "Неможливо обернути!"
 
 msgid "Reverse Terrace"
 msgstr "Зворотній ряд будинків по вулиці"
@@ -29234,7 +29366,7 @@ msgid ""
 "select a street for the addr:street tag and a node to mark the start of "
 "numbering.)"
 msgstr ""
-"Виділіть одну замкнену лінію що містить не менше чотирьох точок. (Додатково "
+"Виділіть одну замкнену лінію, що містить не менше чотирьох точок. (Додатково "
 "ви можете також виділити вулицю, яку буде додано в addr:street та точку, від "
 "якої треба починати нумерацію)"
 
@@ -29245,7 +29377,7 @@ msgid "Browse"
 msgstr "Огляд"
 
 msgid "Browse map with left button"
-msgstr "Оглядати мапу використовуючи ліву кнопку миші"
+msgstr "Оглядати мапу, використовуючи ліву кнопку миші"
 
 msgid "Merge objects nodes"
 msgstr "Об’єднати точки об’єктів"
@@ -29347,7 +29479,7 @@ msgid ""
 "{0}."
 msgstr ""
 "Tracer2Server не запущений. Будь ласка, запустіть Server.\n"
-"Якщо у вас немає сервера завантажте його з\n"
+"Якщо у вас немає сервера, завантажте його з\n"
 "{0}."
 
 msgid "Tracer2Server hasn''t found anything."
@@ -29377,7 +29509,7 @@ msgstr ""
 "Отримати всі пов’язані, але зараз відсутні, об’єкти OSM з сервера OSM."
 
 msgid "Download referenced osm objects..."
-msgstr "Заватажити пов’язані osm-об’єкти…"
+msgstr "Завантажити пов’язані osm-об’єкти…"
 
 msgid "{0} Signatures loaded. All referenced OSM objects found."
 msgstr "Завантажено {0} підпис(и|ів). Знайдено всі пов’язані OSM об’єкти."
@@ -29390,7 +29522,7 @@ msgstr ""
 "Бажаєте завантажити їх з сервера OSM?"
 
 msgid "Load objects from server"
-msgstr "Заватаження об’єктів з сервера"
+msgstr "Завантаження об’єктів з сервера"
 
 msgid "Download signed data"
 msgstr "Завантаження підписаних даних"
@@ -29483,7 +29615,7 @@ msgid "Signature Info"
 msgstr "Інформація про підпис"
 
 msgid "Sorry, there are no Signatures for the selected Node."
-msgstr "На жаль, для виділеної Точки Підпис відсутній."
+msgstr "На жаль, для виділеної точки підпис відсутній."
 
 msgid "No Signature found"
 msgstr "Підписи не знайдено"
@@ -29506,7 +29638,7 @@ msgstr ""
 "{0}={1}"
 
 msgid "Sorry, there are no Signatures for the selected Segment."
-msgstr "На жаль, для виділеного Відрізку Підпис відсутній."
+msgstr "На жаль, для виділеного відрізку підпис відсутній."
 
 msgid "Selected WaySegment was:"
 msgstr "Виділений відрізок був:"
@@ -29555,7 +29687,7 @@ msgid ""
 "You can not sign it, because the signature would lose the ID-Reference after "
 "uploading it to the OSM-server."
 msgstr ""
-"Об’єкт з  ID \"{0}\" ({1}) є новоствореним.\n"
+"Об’єкт з ID \"{0}\" ({1}) є новоствореним.\n"
 "Ви не можете підписати його, тому що після надсилання на сервер буде "
 "втрачено зв’язок між ключем та ID."
 
@@ -29675,7 +29807,7 @@ msgid "Add turn"
 msgstr "Додати поворот"
 
 msgid "Delete lane."
-msgstr "Вилучити полосу."
+msgstr "Вилучити смугу."
 
 msgid "Delete turn."
 msgstr "Вилучити поворот"
@@ -29687,13 +29819,13 @@ msgid "Put the ways in order."
 msgstr "Встановіть порядок проїзду."
 
 msgid "Relation references non-existent (regular) lane {0}"
-msgstr "Зв’язок посилається  на неіснуючу (звичайну) смугу {0}"
+msgstr "Зв’язок посилається на неіснуючу (звичайну) смугу {0}"
 
 msgid "Relation references non-existent extra lane {0}"
-msgstr "Зв’язок посилається  на неіснуючу додаткову смугу {0}"
+msgstr "Зв’язок посилається на неіснуючу додаткову смугу {0}"
 
 msgid "Integer list \"{0}\" contains unexpected values."
-msgstr "Список \"{0}\" містить не очікуванні значення."
+msgstr "Список \"{0}\" містить неочікувані значення."
 
 msgid "Create/Edit turn restriction..."
 msgstr "Створити/редагувати обмеження на поворот…"
@@ -29741,7 +29873,7 @@ msgstr ""
 "вилученим або невидимим в шарі ''{1}''"
 
 msgid "Clear the selected roles or delete the selected members"
-msgstr "Очистити вибрані ролі або вилучити виділених  членів"
+msgstr "Очистити вибрані ролі або вилучити виділених членів"
 
 msgid "Insert new relation members from object in the clipboard"
 msgstr "Вставити нових членів зв’язку з об’єктів у буфері обміну"
@@ -29804,7 +29936,7 @@ msgid "No, resolve issues first"
 msgstr "Ні, спочатку розв’язати проблеми"
 
 msgid "Cancel saving and start resolving pending issues first"
-msgstr "Відмінити збереження і спочатку розв’язати не вирішені проблеми"
+msgstr "Відмінити збереження і спочатку розв’язати невирішені проблеми"
 
 msgid "Pending errors and warnings"
 msgstr "Невирішені помилки та попередження"
@@ -29833,19 +29965,19 @@ msgstr ""
 "вилучені члени не будуть прибрані.<br>Як ви хочете продовжити"
 
 msgid "Remove deleted members and save"
-msgstr "Пибрати вилучених членів і зберегти"
+msgstr "Прибрати вилучених членів і зберегти"
 
 msgid "Cancel and return to editor"
 msgstr "Скасувати і повернутися у редактор"
 
 msgid "Deleted members in turn restriction"
-msgstr "Вилучені члени в обмежені на поворот"
+msgstr "Вилучені члени в обмеженні на поворот"
 
 msgid "Create a conflict and close this turn restriction editor"
 msgstr "Створити конфлікт і закрити редактор обмежень на поворот"
 
 msgid "Return to the turn restriction editor and resume editing"
-msgstr "Повернутись в редактор обмежень повороту та продовжити редагування"
+msgstr "Повернутись в редактор обмежень на поворот та продовжити редагування"
 
 msgid ""
 "<html>This turn restriction has been changed outside of the editor.<br>You "
@@ -29867,7 +29999,7 @@ msgstr "Вибрати це обмеження повороту"
 
 msgid "Activate the layer this turn restriction belongs to and zoom to it"
 msgstr ""
-"Активувати шар до якого відноситься це обмеження повороту та збільшити до "
+"Активувати шар, до якого відноситься це обмеження повороту, та збільшити до "
 "нього"
 
 msgid "{0} warning"
@@ -29889,7 +30021,7 @@ msgid "please select a way"
 msgstr "будь ласка, виділіть лінію"
 
 msgid "multiple objects with role ''{0}''"
-msgstr "кілька об’єктів що мають роль''{0}''"
+msgstr "кілька об’єктів, що мають роль''{0}''"
 
 msgid "Delete from turn restriction"
 msgstr "Вилучити з обмеження на поворот"
@@ -29941,7 +30073,7 @@ msgid ""
 "Select the vehicle types this turn restriction is <strong>not</strong> "
 "applicable for."
 msgstr ""
-"Оберіть тип транспортних засобів на які <strong>не</strong> не "
+"Оберіть тип транспортних засобів, на які <strong>не</strong> "
 "розповсюджується це обмеження повороту."
 
 msgid "Public Service Vehicles"
@@ -29975,7 +30107,7 @@ msgid "Move the selected vias down by one position"
 msgstr "Перемістити виділені елементи «через» вниз на одну позицію"
 
 msgid "Move the selected vias up by one position"
-msgstr "Перемістити виділені елементи «через» вверх на одну позицію"
+msgstr "Перемістити виділені елементи «через» вгору на одну позицію"
 
 msgid "Copy the selected vias to the clipboard"
 msgstr "Скопіювати виділені елементи «через» в буфер обміну"
@@ -30062,8 +30194,8 @@ msgid ""
 "restriction. If enabled, one can edit them in the Basic editor too. If "
 "disabled, editing of via-objects is possible in the Advanced Editor only."
 msgstr ""
-"Базовий редактор може додатково показати список елементів «через» у обмежені "
-"на поворот. Якщо дозволено, їх також можливо редагувати у Базовому "
+"Базовий редактор може додатково показати список елементів «через» у "
+"обмеженні на поворот. Якщо дозволено, їх також можливо редагувати у Базовому "
 "редакторі. Якщо ні, редагування елементів «через» можливо лише у Розширеному "
 "редакторі."
 
@@ -30078,14 +30210,14 @@ msgstr "Дорожні знаки — набір Б"
 
 msgid "Please select the set of road sign icons to be used in the plugin."
 msgstr ""
-"Будь ласка оберіть набір піктограм дорожніх знаків, що буде "
+"Будь ласка, оберіть набір піктограм дорожніх знаків, що буде "
 "використовуватись втулком"
 
 msgid ""
 "Warning: the preference with key ''{0}'' has an unsupported value ''{1}''. "
 "Assuming the default value ''set-a''."
 msgstr ""
-"Попередження: налаштування клавіші ''{0}'' містять непідтримуване значення "
+"Попередження: налаштування клавіші ''{0}'' містить непідтримуване значення "
 "''{1}''. Припускаємо, що типовим значенням є ''set-a''."
 
 msgid ""
@@ -30095,15 +30227,15 @@ msgid ""
 "the way with role <tt>to</tt>, though."
 msgstr ""
 "Це обмеження на поворот використовує лінію <span class=\"object-"
-"name\">{0}</span> з роллю <tt>з</tt> <strong>та</strong> з роллю "
-"<tt>до</tt>. У обмеженні на поворот, лінія з роллю <tt>з</tt> повинна хочаб "
-"відрізнятися від лінії з роллю <tt>до</tt>."
+"name\">{0}</span> з роллю <tt>from</tt> <strong>та</strong> з роллю "
+"<tt>to</tt>. У обмеженні на поворот, лінія з роллю <tt>from</tt> повинна "
+"відрізнятися від лінії з роллю <tt>to</tt>."
 
 msgid "Delete ''from''"
-msgstr "Видалити \"від\""
+msgstr "Вилучити «з» (from)"
 
 msgid "Removes the member with role ''from''"
-msgstr "Вилучає членів, що мають роль «З» (from)"
+msgstr "Вилучає членів, що мають роль «з» (from)"
 
 msgid "Delete ''to''"
 msgstr "Вилучити «до» (to)"
@@ -30140,10 +30272,10 @@ msgid ""
 "<strong>via</strong>-object.<br> It is recommended to set it as unique "
 "<strong>via</strong>-object."
 msgstr ""
-"Ліня <strong>з</strong> <span class=\"object-name\">{0}</span> та лінія "
+"Лінія <strong>з</strong> <span class=\"object-name\">{0}</span> та лінія "
 "<strong>до</strong> <span class=\"object-name\">{1}</span> перетинаються у "
 "точці <span class=\"object-name\">{2}</span>, але вона не є об’єктом "
-"<strong>через</strong>.<br> Рекомендується задати унікальний об’єкт "
+"<strong>через</strong>.<br> Рекомендується задати її як єдиний об’єкт "
 "<strong>через</strong>."
 
 msgid "Set via-Object"
@@ -30167,11 +30299,11 @@ msgstr ""
 
 msgid "A way with role <tt>from</tt> is required in a turn restriction."
 msgstr ""
-"Лінія з роллю <tt>з</tt> повинна обов’язково бути у обмежені на поворот."
+"Лінія з роллю <tt>з</tt> повинна обов’язково бути у обмеженні на поворот."
 
 msgid "A way with role <tt>to</tt> is required in a turn restriction."
 msgstr ""
-"Лінія з роллю <tt>до</tt> повинна обов’язково бути у обмежені на поворот."
+"Лінія з роллю <tt>до</tt> повинна обов’язково бути у обмеженні на поворот."
 
 msgid "Please go to the Basic editor and manually choose a way."
 msgstr "Будь ласка, перейдіть до Базового редактора та вручну оберіть лінію."
@@ -30180,41 +30312,41 @@ msgid "Add in editor"
 msgstr "Додати в редакторі"
 
 msgid "Add a way with role ''from''"
-msgstr "Додати лінію з роллю ''з''"
+msgstr "Додати лінію з роллю «з»"
 
 msgid "Add a way with role ''to''"
-msgstr "Додати лінію з роллю ''до''"
+msgstr "Додати лінію з роллю «до»"
 
 msgid ""
 "The two ways participating in the turn restriction <strong>aren''t "
 "connected.</strong>"
 msgstr ""
-"Дві лінії, що беруть участь у обмеженні на поворот <strong>не "
-"з’єднанні</strong>."
+"Дві лінії, що беруть участь у обмеженні на поворот, <strong>не "
+"з’єднані</strong>."
 
 msgid ""
 "Make sure you add one or more via objects (nodes or ways) to the turn "
 "restriction."
 msgstr ""
-"Переконайтесь, що ви додали один чи більше об’єктів з роллю ''через'' (точок "
+"Переконайтесь, що ви додали один чи більше об’єктів з роллю «через» (точок "
 "або ліній) до обмеження на поворот."
 
 msgid "Go to the Advanced Editor and add via objects"
 msgstr ""
-"Перейдіть до Розширеного редактора та додайте об’єкти з роллю ''через''"
+"Перейдіть до Розширеного редактора та додайте об’єкти з роллю «через»"
 
 msgid ""
 "A turn restriction requires exactly one way with role <tt>from</tt>. This "
 "turn restriction has {0} ways in this role. Please remove {1} of them."
 msgstr ""
-"Обмеження на поворот потребує лише одну лінію з роллю <tt>з (from)</tt>. Це "
+"Обмеження на поворот потребує лише одну лінію з роллю <tt>з</tt>. Це "
 "обмеження має таких ліній {0} шт. Будь ласка, вилучіть {1} з них."
 
 msgid ""
 "A turn restriction requires exactly one way with role <tt>to</tt>. This turn "
 "restriction has {0} ways in this role. Please remove {1} of them."
 msgstr ""
-"Обмеження на поворот потребує лише одну лінію з роллю <tt>до (to)</tt>. Це "
+"Обмеження на поворот потребує лише одну лінію з роллю <tt>до</tt>. Це "
 "обмеження має таких ліній {0} шт. Будь ласка, вилучіть {1} з них."
 
 msgid "Go to the Advanced Editor and remove the members"
@@ -30225,11 +30357,11 @@ msgid ""
 "recommended to use standard values for <tt>except</tt> only."
 msgstr ""
 "Теґ <tt>except</tt> має нестандартне значення <tt>{0}</tt>. Рекомендується "
-"використовувати тільки  стандартні значення для <tt>except</tt>."
+"використовувати тільки стандартні значення для <tt>except</tt>."
 
 msgid "Go to Basic Editor and select standard vehicle type based exceptions"
 msgstr ""
-"Перейдіть до Базового редактора та виберіть транспортні засоби на які не "
+"Перейдіть до Базового редактора та виберіть транспортні засоби, на які не "
 "розповсюджується обмеження на поворот"
 
 msgid "The required tag <tt>{0}={1}</tt> is missing."
@@ -30248,7 +30380,7 @@ msgid ""
 "should be split at the intersecting node."
 msgstr ""
 "Лінія <span class=\"object-name\">{0}</span> з роллю <tt>з</tt> та лінія "
-"<span class=\"object-name\">{1}</span> з роллю <tt>to</tt> перетинаються у "
+"<span class=\"object-name\">{1}</span> з роллю <tt>до</tt> перетинаються у "
 "точці <span class=\"object-name\">{2}</span>. <p> Обидві лінії треба "
 "розділити у точці перетину."
 
@@ -30257,9 +30389,9 @@ msgid ""
 "be split at node <span class=\"object-name\">{2}</span> where it connects to "
 "way <span class=\"object-name\">{3}</span>."
 msgstr ""
-"Лінія <span class=\"object-name\">{0}</span> з роллю <tt>{1}</tt> потрібно "
-"розділити у точці <span class=\"object-name\">{2}</span> де вона з’єднується "
-"з лінією <span class=\"object-name\">{3}</span>."
+"Лінію <span class=\"object-name\">{0}</span> з роллю <tt>{1}</tt> потрібно "
+"розділити у точці <span class=\"object-name\">{2}</span>, де вона "
+"з’єднується з лінією <span class=\"object-name\">{3}</span>."
 
 msgid "Split now"
 msgstr "Розділити зараз"
@@ -30298,15 +30430,15 @@ msgstr "Відновити об’єкт за ідентифікатором"
 
 msgid "Unable to undelete node {0}. Object has likely been redacted"
 msgstr ""
-"Неможливо відновити точку {0}. Можливо об’єкт після цього був змінений"
+"Неможливо відновити точку {0}. Можливо, об’єкт після цього був змінений"
 
 msgid "Unable to undelete way {0}. Object has likely been redacted"
 msgstr ""
-"Неможливо відновити лінію {0}. Можливо об’єкт після цього був змінений"
+"Неможливо відновити лінію {0}. Можливо, об’єкт після цього був змінений"
 
 msgid "Unable to undelete relation {0}. Object has likely been redacted"
 msgstr ""
-"Неможливо відновити зв’язок {0}. Можливо об’єкт після цього був змінений"
+"Неможливо відновити зв’язок {0}. Можливо, об’єкт після цього був змінений"
 
 msgid "Undelete Object"
 msgstr "Відновити об’єкт"
@@ -30318,10 +30450,10 @@ msgid ""
 "Enter the type and ID of the objects that should be undeleted, e.g., ''n1 "
 "w2''"
 msgstr ""
-"Введіть тип та ID об’єктів які потрібно відновити, наприклад ''n1 w2''"
+"Введіть тип та ID об’єктів, які потрібно відновити, наприклад ''n1 w2''"
 
 msgid "Select if the data should be added into a new layer"
-msgstr "Виділіть, якщо треба щоб данні додавались до нового шару"
+msgstr "Виділіть, якщо треба, щоб дані додавались до нового шару"
 
 msgid "Start undeleting"
 msgstr "Розпочати відновлення"
@@ -30346,7 +30478,7 @@ msgid "Align nodes in a way"
 msgstr "Розташувати точки у лінію"
 
 msgid "The way with selected nodes can not be straightened."
-msgstr "Лінію із виділеними точками не можливо випрямити."
+msgstr "Лінію із виділеними точками неможливо випрямити."
 
 msgid "Internal error: number of nodes is {0}."
 msgstr "Внутрішня помилка: кількість точок — {0}"
@@ -30395,7 +30527,7 @@ msgid ""
 "The selected way is not a split way, please select split points or split way "
 "too."
 msgstr ""
-"Виділена лінія не є лінією перетину, будь ласка виділіть також точки або "
+"Виділена лінія не є лінією перетину, будь ласка, виділіть також точки або "
 "лінію перетину."
 
 msgid "The selected nodes can not be consecutive nodes in the object."
@@ -30405,7 +30537,7 @@ msgid "Split adjacent ways"
 msgstr "Розділити суміжні лінії"
 
 msgid "Split adjacent ways on T-intersections"
-msgstr "Розділити суміжні лінії на Т-образному перехресті"
+msgstr "Розділити суміжні лінії на Т-подібному перехресті"
 
 msgid ""
 "There are several ways containing one of the splitting nodes. Select ways "
@@ -30421,7 +30553,7 @@ msgid ""
 "Please select at least two nodes for symmetry axis and something else to "
 "mirror."
 msgstr ""
-"Будь ласка, виділіть не менше двох точок для вісі симетрії та ще щось для "
+"Будь ласка, виділіть не менше двох точок для осі симетрії та ще щось для "
 "віддзеркалення."
 
 msgid "Copy tags from previous selection"
@@ -30510,7 +30642,7 @@ msgid "Custom URL configuration"
 msgstr "Налаштування URL користувача"
 
 msgid "Lat Lon tool"
-msgstr "Іструмент Lat Lon"
+msgstr "Створити за координатами"
 
 msgid "Create geometry by entering lat lon coordinates for it."
 msgstr "Створення геометрії за допомогою вводу координат."
@@ -30538,10 +30670,10 @@ msgid ""
 "24.5</li><li>-49 29.4 N -19 24.5 W</li></ul><li>48 deg 42' 52.13\" N, 21 "
 "deg 11' 47.60\" E</li></ul>"
 msgstr ""
-"Введіть координати для нових точок, по одній для кожної лінії.<br/>Якщо ви "
-"введете дві лінії із однаковими координатами — будуть створенні подвійні "
+"Введіть координати для нових точок, по одній для кожного рядка.<br/>Якщо ви "
+"введете два рядки з однаковими координатами — будуть створені подвійні "
 "точки.<br/>Ви можете відокремлювати широту від довготи пробілом, комою, чи "
-"комою з точкою.<br/>Використовуйте позитивні числа чи символи N, E для "
+"крапкою з комою.<br/>Використовуйте додатні числа чи символи N, E для "
 "зазначення Північного чи Східного напрямків.<br/>Для Південного та Західного "
 "напрямків ви можете використовувати від’ємні числа або символи S, "
 "W.<br/>Значення координат повинні відповідати одному з трьох "
@@ -30588,7 +30720,7 @@ msgid "Set tags for multiple objects"
 msgstr "Призначити теґи кільком об’єктам"
 
 msgid "Delete from history"
-msgstr "Вилучити із істоії"
+msgstr "Вилучити із історії"
 
 msgid "Find primitives with these tags"
 msgstr "Знайти примітиви з цими теґами"
@@ -30617,7 +30749,7 @@ msgstr ""
 "до мультиполігону, та замінювати лінію лінією"
 
 msgid "Node belongs to way(s), cannot replace."
-msgstr "Точка належить лінії(ям) — заміна не можлива."
+msgstr "Точка належить лінії(ям) — заміна неможлива."
 
 msgid "Replace geometry for node {0}"
 msgstr "Замінити геометрію для точки {0}"
@@ -30704,13 +30836,13 @@ msgstr ""
 "що з ними перетинаються!"
 
 msgid "Middle nodes"
-msgstr "Точки в середині"
+msgstr "Точки всередині"
 
 msgid "Select middle nodes"
-msgstr "Виділити точки в середині"
+msgstr "Виділити точки всередині"
 
 msgid "Please select two nodes connected by way!"
-msgstr "Будь ласка, виділіть дві точки з’єднаних лінією!"
+msgstr "Будь ласка, виділіть дві точки, з’єднані лінією!"
 
 msgid "Too many ways are added: {0}!"
 msgstr "Додано забагато ліній: {0}!"
@@ -30725,7 +30857,7 @@ msgid ""
 "Nothing found. Please select some closed ways or multipolygons to find all "
 "primitives inside them!"
 msgstr ""
-"Нічого не знайдено. Будь ласка, виберіть кілька  замкнутих ліній або "
+"Нічого не знайдено. Будь ласка, виберіть кілька замкнутих ліній або "
 "мультиполігонів, щоб знайти всі примітиви в них!"
 
 msgid "Area boundary [testing]"
@@ -30766,7 +30898,7 @@ msgid "Undo selection"
 msgstr "Відмінити виділення"
 
 msgid "Reselect last added object or selection form history"
-msgstr "Віділити знов останні додані об’єкти чи виділення із історії"
+msgstr "Виділити знов останні додані об’єкти чи виділення із історії"
 
 msgid "Unselect nodes"
 msgstr "Зняти виділення з точок"
@@ -30859,21 +30991,21 @@ msgid "Set the length around a looppoint"
 msgstr "Встановити довжину циклу біля точки зациклювання"
 
 msgid "no deinterlacing"
-msgstr "без деінтерленсінгу"
+msgstr "без деінтерлейсінгу"
 
 msgid "deinterlacing using line doubling"
-msgstr "деінтерленсінг з подвоєнням ліній"
+msgstr "деінтерлейсінг з подвоєнням ліній"
 
 msgid "deinterlacing using linear interpolation"
-msgstr "деінтерленсінгу з лінійною інтерполяцією"
+msgstr "деінтерлейсінг з лінійною інтерполяцією"
 
 msgid ""
 "VLC library is not correctly initialized. Please check that VLC {0} is "
 "correctly installed on your system. Its architecture (32/64 bits) must also "
 "be the same as the JRE that runs JOSM."
 msgstr ""
-"VLC бібліотеки ініціалізовано некоректно.  Будь ласка, перевірте, що VLC {0} "
-"правильно встановлено у вашій системі.  Його архітектура (32/64 біт) повинна "
+"Бібліотеки VLC ініціалізовано некоректно. Будь ласка, перевірте, що VLC {0} "
+"правильно встановлено у вашій системі. Його архітектура (32/64 біт) повинна "
 "бути такою ж, як JRE, на якій працює JOSM."
 
 msgid "Jump to"
@@ -30883,16 +31015,16 @@ msgid "Jump to GPS time"
 msgstr "Перейти до часу GPS"
 
 msgid "Shows current position in the video"
-msgstr "Показати поточне положення у відео-фрагменті"
+msgstr "Показати поточне положення у відеофрагменті"
 
 msgid "Sync"
 msgstr "Синхронізація"
 
 msgid "Unable to find JNA Java library!"
-msgstr "Не можливо знайти JNA Java бібліотеку!"
+msgstr "Неможливо знайти JNA Java бібліотеку!"
 
 msgid "Unable to find native libvlc library!"
-msgstr "Не можливо знайти бібліотеку libvlc"
+msgstr "Неможливо знайти бібліотеку libvlc"
 
 msgid "play"
 msgstr "відтворити"
@@ -30948,13 +31080,13 @@ msgstr ""
 
 msgid "<html>There are no ways connected to node ''{0}''. Aborting.</html>"
 msgstr ""
-"<html>Відсутні лінії під’єднані до точки ''{0}''. Переривання.</html>"
+"<html>Відсутні лінії, приєднані до точки ''{0}''. Переривання.</html>"
 
 msgid ""
 "Way downloader data inconsistency. Prior connected way ''{0}'' wasn''t "
 "discovered after download"
 msgstr ""
-"Невідповідність даних втулку завантаження ліній.  Раніше під’єднання лінія "
+"Невідповідність даних втулку завантаження ліній. Раніше приєднана лінія "
 "''{0}'' не знайдена після завантаження даних з сервера"
 
 msgid ""
@@ -30967,7 +31099,7 @@ msgstr ""
 "<html>Немає більше приєднаних ліній для завантаження з сервера.<br>Однак був "
 "знайдений можливий дублікат виділеної точки.<br><br>Виділена точка: "
 "''{0}''.<br>Можливий дублікат: ''{1}''<br>Провести злиття виділеної точки з "
-"дублікатом і продовжити завантаження лінії з сервера?</html>"
+"дублікатом і продовжити завантаження ліній з сервера?</html>"
 
 msgid "Merge duplicate node?"
 msgstr "Об’єднати дублікати точок?"
@@ -30977,7 +31109,7 @@ msgstr ""
 "<html>Немає більше приєднаних ліній для завантаження з сервера.</html>"
 
 msgid "Node ''{0}'' is a junction with more than 2 connected ways."
-msgstr "Точка ''{0}'' це з’єднання більше 2 ліній, що перетинаються."
+msgstr "Точка ''{0}'' — це з’єднання більше 2 ліній, що перетинаються."
 
 msgid "Enter search expression here.."
 msgstr "Введіть тут фразу для пошуку…"
diff --git a/i18n/po/ur.po b/i18n/po/ur.po
index e445c7c..ca82f4c 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\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: 2014-12-10 05:17+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:32+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: ur\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,19 +3933,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4478,10 +4482,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4736,6 +4765,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6076,6 +6120,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr ""
 
@@ -7058,9 +7108,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7842,9 +7889,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8524,6 +8568,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr ""
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8970,6 +9017,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12350,6 +12400,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12530,7 +12583,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12542,7 +12595,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13502,9 +13555,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14740,6 +14790,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15562,6 +15616,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15619,6 +15676,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17063,6 +17132,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17668,6 +17740,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19538,9 +19616,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19924,9 +19999,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19939,7 +20011,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20611,6 +20683,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20745,6 +20824,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -20990,6 +21072,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21347,6 +21432,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21365,6 +21453,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21401,6 +21495,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21439,6 +21536,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21460,9 +21560,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21497,6 +21605,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22691,6 +22802,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25708,7 +25825,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26369,6 +26488,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26408,6 +26530,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26898,7 +27026,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/vi.po b/i18n/po/vi.po
index 5845602..fbc2d3a 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: 2014-12-10 03:42+0100\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
 "PO-Revision-Date: 2013-03-13 05:33+0000\n"
 "Last-Translator: Minh Nguyễn <mxn at 1ec5.org>\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: 2014-12-10 05:17+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:33+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: vi\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -3737,6 +3737,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3943,19 +3946,20 @@ msgstr ""
 msgid "Relation is empty"
 msgstr ""
 
-msgid "<empty>"
+msgid "Role member does not match expression {0} in template {1}"
 msgstr ""
 
-msgid "Role {0} unknown"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
 msgstr ""
 
-msgid "Empty role found"
+msgid "<empty>"
 msgstr ""
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
+msgid "Empty role type found when expecting one of {0}"
 msgstr ""
 
 msgid "Role {0} missing"
@@ -4488,10 +4492,35 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr ""
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
 msgstr ""
 
-msgid "Change the folder for all user settings"
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
+
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
 msgstr ""
 
 msgid ""
@@ -4746,6 +4775,21 @@ msgstr ""
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr ""
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr ""
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr ""
 
@@ -6086,6 +6130,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr ""
+
 msgid "Object type:"
 msgstr "Loại đối tượng:"
 
@@ -7068,9 +7118,6 @@ msgstr ""
 msgid "Sort the relation members"
 msgstr ""
 
-msgid "Sort"
-msgstr ""
-
 msgid "Relation Editor: Sort"
 msgstr ""
 
@@ -7859,9 +7906,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr ""
 
-msgid "Username"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -8542,6 +8586,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "Lưu Layer"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8990,6 +9037,9 @@ msgstr ""
 msgid "Delete File from disk"
 msgstr ""
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr ""
 
@@ -12374,6 +12424,9 @@ msgstr ""
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr ""
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr ""
 
@@ -12554,7 +12607,7 @@ msgstr ""
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12566,7 +12619,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13526,9 +13579,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr ""
-
 msgid "ms"
 msgstr ""
 
@@ -14764,6 +14814,10 @@ msgstr ""
 msgid "Coins"
 msgstr ""
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr ""
 
@@ -15586,6 +15640,9 @@ msgstr ""
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr ""
 
@@ -15643,6 +15700,18 @@ msgstr ""
 msgid "Speed Camera"
 msgstr ""
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17087,6 +17156,9 @@ msgstr ""
 msgid "Fireplace"
 msgstr ""
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17692,6 +17764,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr ""
 
@@ -19562,9 +19640,6 @@ msgstr ""
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr ""
 
@@ -19948,9 +20023,6 @@ msgstr ""
 msgid "House number"
 msgstr ""
 
-msgid "House name"
-msgstr ""
-
 msgid "Street name"
 msgstr ""
 
@@ -19963,7 +20035,7 @@ msgstr ""
 msgid "Country code"
 msgstr ""
 
-msgid "Optional values for specific countries"
+msgid "House name"
 msgstr ""
 
 msgid "Subdistrict"
@@ -20635,6 +20707,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20769,6 +20848,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21014,6 +21096,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21371,6 +21456,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21389,6 +21477,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21425,6 +21519,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21463,6 +21560,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21484,9 +21584,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21521,6 +21629,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22715,6 +22826,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr ""
 
@@ -25732,7 +25849,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26393,6 +26512,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr ""
 
@@ -26432,6 +26554,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr ""
 
@@ -26922,7 +27050,7 @@ msgstr ""
 msgid "create an associatedStreet relation"
 msgstr ""
 
-msgid "delete outline way"
+msgid "keep outline way"
 msgstr ""
 
 msgid "Street name: "
diff --git a/i18n/po/zh_CN.po b/i18n/po/zh_CN.po
index 60c9138..8843911 100644
--- a/i18n/po/zh_CN.po
+++ b/i18n/po/zh_CN.po
@@ -10,16 +10,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: josm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-10-03 16:07+0000\n"
-"Last-Translator: rc1028 <q371320247 at live.com>\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-20 15:38+0000\n"
+"Last-Translator: mmyfl <Unknown>\n"
 "Language-Team: 汉语 <>\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: 2014-12-10 05:21+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:38+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: zh_CN\n"
 
 msgid "yard"
@@ -1123,7 +1123,7 @@ msgid "Report bug"
 msgstr "报告故障"
 
 msgid "Report a ticket to JOSM bugtracker"
-msgstr ""
+msgstr "回报给 JOSM 错误追踪系统"
 
 msgid "Restart"
 msgstr "重新启动"
@@ -1521,13 +1521,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 "上传选择范围"
@@ -1789,19 +1789,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 ""
@@ -3732,6 +3732,9 @@ msgstr "互联网标签"
 msgid "Checks for errors in internet-related tags."
 msgstr "检查互联网相关标签的错误。"
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr "“{0}”:{1}"
 
@@ -3802,8 +3805,7 @@ msgid ""
 "Multipolygon relation should be tagged with area tags and not the outer way"
 msgid_plural ""
 "Multipolygon relation should be tagged with area tags and not the outer ways"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "多边形关系应用区域标签标记,而非外侧路径"
 
 msgid "Style for inner way equals multipolygon"
 msgstr "内部路径的样式等同多重多边形"
@@ -3940,20 +3942,21 @@ msgstr "关系类型不明"
 msgid "Relation is empty"
 msgstr "关系是空白的"
 
-msgid "<empty>"
-msgstr "<空白>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "不明的角色 {0}"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "发现空白角色"
+msgid "<empty>"
+msgstr "<空白>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
-msgstr "角色“{0}”的成员与“{1}”不匹配"
+msgid "Role {0} unknown in templates {1}"
+msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "角色 {0} 成员的类型错误"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "缺少角色 {0}"
@@ -4487,11 +4490,36 @@ msgstr "禁止访问特定资源,以逗号分隔"
 msgid "options provided as Java system properties"
 msgstr "提供 Java 系统属性的选项"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/到/JOSM/文件夹/的路径/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "改变所有用户设定值的文件夹"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -4747,6 +4775,21 @@ msgstr "图层不在列表中。"
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "图层“{0}”必须在图层列表中"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "用户名"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "点击以取消目前的操作"
 
@@ -6103,6 +6146,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "排序"
+
 msgid "Object type:"
 msgstr "对象类型:"
 
@@ -7087,9 +7136,6 @@ msgstr "选择已选定关系成员中的对象"
 msgid "Sort the relation members"
 msgstr "排序关系成员"
 
-msgid "Sort"
-msgstr "排序"
-
 msgid "Relation Editor: Sort"
 msgstr "关系编辑器:排序"
 
@@ -7788,7 +7834,7 @@ msgid "Object still in use"
 msgstr "对象仍然在使用"
 
 msgid "Error header \"{0}\" did not match with an expected pattern"
-msgstr ""
+msgstr "错误:头部\"{0}\"与预期的模式不匹配"
 
 msgid "Upload"
 msgstr "上传"
@@ -7895,9 +7941,6 @@ msgstr "输入主机凭据"
 msgid "Enter credentials for HTTP proxy"
 msgstr "输入 HTTP 代理服务器所需凭证"
 
-msgid "Username"
-msgstr "用户名"
-
 msgid "Password"
 msgstr "密码"
 
@@ -8578,6 +8621,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "保存图层"
 
+msgid "Note"
+msgstr "注释"
+
 msgid "Notes layer"
 msgstr "注释层"
 
@@ -9031,6 +9077,9 @@ msgstr "从图层删除相片"
 msgid "Delete File from disk"
 msgstr "从磁盘删除文件"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "下一幅"
 
@@ -11676,7 +11725,7 @@ msgid "Elements of type {0} are supported."
 msgstr "支持类型 {0} 的元素。"
 
 msgid "Edit also …"
-msgstr ""
+msgstr "亦编辑…"
 
 msgid "Apply Preset"
 msgstr "应用预设组合"
@@ -12472,6 +12521,9 @@ msgstr "缺少必要的属性“{0}”。"
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "属性“{0}”有不合法的 long 数值。得到“{1}”。"
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "准备 OSM 数据..."
 
@@ -12653,7 +12705,7 @@ msgstr "读取通讯许可证版本"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12665,7 +12717,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13637,9 +13689,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr "<html><p>对不起,无法粘贴缓存中的标签,缓存中没有JOSM对象或适当的文本。</p></html>"
 
-msgid "Invalid bz2 file."
-msgstr "无效的 bz2 文件。"
-
 msgid "ms"
 msgstr "毫秒"
 
@@ -14873,6 +14922,10 @@ msgstr ""
 msgid "Coins"
 msgstr "硬币"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "电子钱包或收费卡"
 
@@ -15695,6 +15748,9 @@ msgstr "以自行车穿越"
 msgid "Cross on horseback"
 msgstr "骑马穿越"
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "禁止通行"
 
@@ -15752,6 +15808,18 @@ msgstr "第二名称"
 msgid "Speed Camera"
 msgstr "测速照相"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17196,6 +17264,9 @@ msgstr "野餐区"
 msgid "Fireplace"
 msgstr "壁炉"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr "公共烧烤区"
 
@@ -17801,6 +17872,12 @@ msgstr "吸"
 msgid "Count"
 msgstr "数目"
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "运动"
 
@@ -19671,9 +19748,6 @@ msgstr "玩具"
 msgid "vouchers"
 msgstr "券"
 
-msgid "Note"
-msgstr "注释"
-
 msgid "Geography"
 msgstr "地理"
 
@@ -20057,9 +20131,6 @@ msgstr "通用名称缩写"
 msgid "House number"
 msgstr "门牌号码"
 
-msgid "House name"
-msgstr "房屋名称"
-
 msgid "Street name"
 msgstr "街道名称"
 
@@ -20072,8 +20143,8 @@ msgstr "城市名称"
 msgid "Country code"
 msgstr "国家代码"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "房屋名称"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20744,6 +20815,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20878,6 +20956,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21123,6 +21204,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21480,6 +21564,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21498,6 +21585,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21534,6 +21627,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21572,6 +21668,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr "简短的街道名称"
 
@@ -21593,9 +21692,17 @@ msgstr "临时公路类型"
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21630,6 +21737,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr "没有类型的关系"
 
@@ -22902,6 +23012,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "街道名称:"
 
@@ -25960,7 +26076,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26621,6 +26739,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr "从关系 {0} 中重建多边形"
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "打卡关系的维基页面"
 
@@ -26660,6 +26781,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "还原整个修改集合"
 
@@ -27154,8 +27281,8 @@ msgstr "添加到已经存在的 associatedStreet 关系"
 msgid "create an associatedStreet relation"
 msgstr "建立 associatedStreet 关系"
 
-msgid "delete outline way"
-msgstr "删除轮廓路径"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "街道名称: "
diff --git a/i18n/po/zh_TW.po b/i18n/po/zh_TW.po
index de31122..9b3ea0a 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: 2014-12-10 03:42+0100\n"
-"PO-Revision-Date: 2014-12-06 16:09+0000\n"
+"POT-Creation-Date: 2014-12-29 01:14+0100\n"
+"PO-Revision-Date: 2014-12-20 14:53+0000\n"
 "Last-Translator: yellowsoar <Unknown>\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: 2014-12-10 05:20+0000\n"
-"X-Generator: Launchpad (build 17283)\n"
+"X-Launchpad-Export-Date: 2014-12-29 05:37+0000\n"
+"X-Generator: Launchpad (build 17286)\n"
 "Language: zh_TW\n"
 
 msgid "{0}: option ''{1}'' is ambiguous"
@@ -77,7 +77,7 @@ msgid "Building main menu"
 msgstr "正在建立主選單"
 
 msgid "Help"
-msgstr "說明"
+msgstr "輔助說明"
 
 msgid "Initializing OSM API"
 msgstr "初始化 OSM API"
@@ -800,7 +800,7 @@ msgstr "將節點合併到最舊的一個中。"
 msgid ""
 "Please select at least two nodes to merge or one node that is close to "
 "another node."
-msgstr ""
+msgstr "請至少選取兩個要合併的節點或一個離其他節點很近的節點。"
 
 msgid "Abort Merging"
 msgstr "放棄合併"
@@ -814,8 +814,7 @@ msgstr "不能合併節點:必須刪除仍被 {1} 使用的路徑 {0}"
 
 msgid "Merge {0} node"
 msgid_plural "Merge {0} nodes"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "合併{0}節點"
 
 msgid "Merge selection"
 msgstr "合併選擇區域"
@@ -832,6 +831,8 @@ msgid ""
 "data</b>.<br />You should instead check and merge each object, <b>one by "
 "one</b>.<br /><br />Are you sure you want to continue?"
 msgstr ""
+"您正要合併layers\"{0}\"與layers\"{1}\"上的多個物件,<br /><br /><b>但並不建議合併這樣的資料</b>,<br "
+"/>您應該<b>逐一<b>再次確認要合併的物件。<br /><br />您確定要繼續合併嗎?"
 
 msgid "Mirror"
 msgstr "鏡射"
@@ -988,7 +989,7 @@ msgstr "直角化 / 復原"
 msgid ""
 "Orthogonalize Shape / Undo<br>Please select nodes that were moved by the "
 "previous Orthogonalize Shape action!"
-msgstr ""
+msgstr "直角化形狀 / 復原 <br>請選取因前次直角化而位移的節點!"
 
 msgid ""
 "<html>You are using the EPSG:4326 projection which might lead<br>to "
@@ -1112,19 +1113,19 @@ msgid "Could not rename file ''{0}''"
 msgstr "無法重新命名檔案「{0}」"
 
 msgid "Report bug"
-msgstr ""
+msgstr "回報錯誤"
 
 msgid "Report a ticket to JOSM bugtracker"
-msgstr ""
+msgstr "回報給JOSM錯誤追蹤"
 
 msgid "Restart"
 msgstr "重新啟動"
 
 msgid "Restart the application."
-msgstr ""
+msgstr "重新啟動程式"
 
 msgid "Click to restart later."
-msgstr ""
+msgstr "稍後重新啟動"
 
 msgid "Reverse way"
 msgstr "反轉路徑"
@@ -1324,8 +1325,7 @@ msgstr ""
 
 msgid "Split way {0} into {1} part"
 msgid_plural "Split way {0} into {1} parts"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "將路徑 {0} 分割成 {1} 部分"
 
 msgid "Toggle GPX Lines"
 msgstr "切換 GPX 線條"
@@ -1401,7 +1401,7 @@ msgid_plural "Dupe {0} nodes into {1} nodes"
 msgstr[0] "將 {0} 節點重製到 {1} 節點"
 
 msgid "Unglue confirmation"
-msgstr ""
+msgstr "確認分離"
 
 msgid ""
 "You are about to unglue nodes outside of the area you have "
@@ -3724,6 +3724,9 @@ msgstr ""
 msgid "Checks for errors in internet-related tags."
 msgstr ""
 
+msgid " URL cannot be converted to ASCII: {0}"
+msgstr ""
+
 msgid "''{0}'': {1}"
 msgstr ""
 
@@ -3930,20 +3933,21 @@ msgstr "關係類型不明"
 msgid "Relation is empty"
 msgstr "關係是空白的"
 
-msgid "<empty>"
-msgstr "<空白>"
+msgid "Role member does not match expression {0} in template {1}"
+msgstr ""
 
-msgid "Role {0} unknown"
-msgstr "不明的角色 {0}"
+msgid ""
+"Role member type {0} does not match accepted list of {1} in template {2}"
+msgstr ""
 
-msgid "Empty role found"
-msgstr "發現空白角色"
+msgid "<empty>"
+msgstr "<空白>"
 
-msgid "Member for role ''{0}'' does not match ''{1}''"
+msgid "Role {0} unknown in templates {1}"
 msgstr ""
 
-msgid "Member for role {0} of wrong type"
-msgstr "角色 {0} 成員的類型錯誤"
+msgid "Empty role type found when expecting one of {0}"
+msgstr ""
 
 msgid "Role {0} missing"
 msgstr "缺少角色 {0}"
@@ -4477,11 +4481,36 @@ msgstr ""
 msgid "options provided as Java system properties"
 msgstr "選項提供為 Java 系統屬性"
 
-msgid "/PATH/TO/JOSM/FOLDER/         "
-msgstr "/PATH/TO/JOSM/FOLDER/         "
+msgid "/PATH/TO/JOSM/PREF    "
+msgstr ""
+
+msgid "Set the preferences directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/USERDATA"
+msgstr ""
+
+msgid "Set the user data directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/CACHE   "
+msgstr ""
+
+msgid "Set the cache directory"
+msgstr ""
+
+msgid "/PATH/TO/JOSM/HOMEDIR "
+msgstr ""
+
+msgid ""
+"Relocate all 3 directories to homedir. Cache directory will be in "
+"homedir/cache"
+msgstr ""
 
-msgid "Change the folder for all user settings"
-msgstr "改變所有使用者設定值的資料夾"
+msgid ""
+"-Djosm.home has lower precedence, i.e. the specific setting overrides the "
+"general one"
+msgstr ""
 
 msgid ""
 "note: For some tasks, JOSM needs a lot of memory. It can be necessary to add "
@@ -4736,6 +4765,21 @@ msgstr "圖層不在清單中。"
 msgid "Layer ''{0}'' must be in list of layers"
 msgstr "圖層「{0}」必須在圖層的清單中"
 
+msgid "Default (open, closed, new)"
+msgstr ""
+
+msgid "Username"
+msgstr "使用者名稱"
+
+msgid "Created date"
+msgstr ""
+
+msgid "Last change date"
+msgstr ""
+
+msgid "Select note sorting method"
+msgstr ""
+
 msgid "Click to cancel the current operation"
 msgstr "點選以取消目前的操作"
 
@@ -6075,6 +6119,12 @@ msgstr ""
 msgid "Reopen note with message:"
 msgstr ""
 
+msgid "Sort notes"
+msgstr ""
+
+msgid "Sort"
+msgstr "排序"
+
 msgid "Object type:"
 msgstr "物件類型:"
 
@@ -7053,9 +7103,6 @@ msgstr "選擇已選取關係成員中的物件"
 msgid "Sort the relation members"
 msgstr "排序關係成員"
 
-msgid "Sort"
-msgstr "排序"
-
 msgid "Relation Editor: Sort"
 msgstr "關係編輯器:排序"
 
@@ -7854,9 +7901,6 @@ msgstr ""
 msgid "Enter credentials for HTTP proxy"
 msgstr "輸入 HTTP 代理伺服器所需憑證"
 
-msgid "Username"
-msgstr "使用者名稱"
-
 msgid "Password"
 msgstr "密碼"
 
@@ -8534,6 +8578,9 @@ msgstr ""
 msgid "Save Layer"
 msgstr "儲存圖層"
 
+msgid "Note"
+msgstr ""
+
 msgid "Notes layer"
 msgstr ""
 
@@ -8982,6 +9029,9 @@ msgstr "從圖層移除相片"
 msgid "Delete File from disk"
 msgstr "從磁碟刪除檔案"
 
+msgid "Copy image path"
+msgstr ""
+
 msgid "Next"
 msgstr "下一幅"
 
@@ -12411,6 +12461,9 @@ msgstr "缺少必要的屬性「{0}」。"
 msgid "Illegal long value for attribute ''{0}''. Got ''{1}''."
 msgstr "屬性「{0}」有不合格的 long 數值。得到「{1}」。"
 
+msgid "{0} bytes have been read"
+msgstr ""
+
 msgid "Prepare OSM data..."
 msgstr "準備 OSM 資料..."
 
@@ -12592,7 +12645,7 @@ msgstr "讀取通訊協定版本"
 msgid "Cannot start remotecontrol server on port {0}: {1}"
 msgstr ""
 
-msgid "RemoteControl::Accepting connections on port {0}"
+msgid "RemoteControl::Accepting connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server stopped."
@@ -12604,7 +12657,7 @@ msgstr ""
 msgid "Unable to initialize Remote Control HTTPS Server"
 msgstr ""
 
-msgid "RemoteControl::Accepting secure connections on port {0}"
+msgid "RemoteControl::Accepting secure connections on {0}:{1}"
 msgstr ""
 
 msgid "RemoteControl::Server (https) stopped."
@@ -13575,9 +13628,6 @@ msgid ""
 "contain any JOSM object or suitable text. </p></html>"
 msgstr ""
 
-msgid "Invalid bz2 file."
-msgstr "無效的 bz2 檔案。"
-
 msgid "ms"
 msgstr ""
 
@@ -14815,6 +14865,10 @@ msgstr ""
 msgid "Coins"
 msgstr "硬幣"
 
+msgctxt "payment"
+msgid "Notes"
+msgstr ""
+
 msgid "Electronic purses and Charge cards"
 msgstr "電子錢包或收費卡"
 
@@ -15637,6 +15691,9 @@ msgstr "以自行車穿越"
 msgid "Cross on horseback"
 msgstr ""
 
+msgid "Optional values for specific countries"
+msgstr ""
+
 msgid "Stop"
 msgstr "禁止通行"
 
@@ -15694,6 +15751,18 @@ msgstr "第二名稱"
 msgid "Speed Camera"
 msgstr "測速照相"
 
+msgid "Traffic Mirror"
+msgstr ""
+
+msgctxt "junction=yes"
+msgid "Named Junction"
+msgstr ""
+
+msgid ""
+"Used in some countries for a named road junction who’s name serves for local "
+"orientation."
+msgstr ""
+
 msgid "Elevator"
 msgstr ""
 
@@ -17138,6 +17207,9 @@ msgstr "野餐區"
 msgid "Fireplace"
 msgstr "壁爐"
 
+msgid "Picnic Table"
+msgstr ""
+
 msgid "Public Grill"
 msgstr ""
 
@@ -17743,6 +17815,12 @@ msgstr ""
 msgid "Count"
 msgstr ""
 
+msgid "Advertising Column"
+msgstr ""
+
+msgid "Billboard"
+msgstr ""
+
 msgid "Sports"
 msgstr "運動用品"
 
@@ -19613,9 +19691,6 @@ msgstr "玩具"
 msgid "vouchers"
 msgstr ""
 
-msgid "Note"
-msgstr ""
-
 msgid "Geography"
 msgstr "地理學"
 
@@ -19999,9 +20074,6 @@ msgstr ""
 msgid "House number"
 msgstr "門牌號碼"
 
-msgid "House name"
-msgstr "房屋名稱"
-
 msgid "Street name"
 msgstr "街道名稱"
 
@@ -20014,8 +20086,8 @@ msgstr "城市名稱"
 msgid "Country code"
 msgstr "國碼"
 
-msgid "Optional values for specific countries"
-msgstr ""
+msgid "House name"
+msgstr "房屋名稱"
 
 msgid "Subdistrict"
 msgstr ""
@@ -20686,6 +20758,13 @@ msgstr ""
 msgid "VoGIS: DOM (Surface model)"
 msgstr ""
 
+msgid ""
+"AGIV(laanderen) aerial imagery (covers Brussels region as well) (2013)"
+msgstr ""
+
+msgid "Geoservices Wallonie aerial imagery (2009)"
+msgstr ""
+
 msgid "IBGE Mapa de Setores Urbanos"
 msgstr ""
 
@@ -20820,6 +20899,9 @@ msgstr ""
 msgid "Hamburg (40 cm)"
 msgstr ""
 
+msgid "Hamburg (20 cm)"
+msgstr ""
+
 msgid "Hamburg (DK5)"
 msgstr ""
 
@@ -21065,6 +21147,9 @@ msgstr ""
 msgid "Kanton Aargau 25cm (AGIS 2011)"
 msgstr ""
 
+msgid "Kanton Aargau 25cm (AGIS 2014)"
+msgstr ""
+
 msgid "Stadt Uster Orthophoto 2008 10cm"
 msgstr ""
 
@@ -21422,6 +21507,9 @@ msgstr ""
 msgid "{0} without {1}, {2} or {3}"
 msgstr ""
 
+msgid "{0} together with {1}"
+msgstr ""
+
 msgid "{0} on suspicious object"
 msgstr ""
 
@@ -21440,6 +21528,12 @@ msgstr ""
 msgid "{0} should be on the node where {1} and {2} intersect"
 msgstr ""
 
+msgid "alternative name without {0}"
+msgstr ""
+
+msgid "incomplete usage of {0} on a way without {1}"
+msgstr ""
+
 msgid "{0}={1} is deprecated"
 msgstr ""
 
@@ -21476,6 +21570,9 @@ msgstr ""
 msgid "{0} should be replaced with {1}"
 msgstr ""
 
+msgid "{0} = {1}; remove {0}"
+msgstr ""
+
 msgid ""
 "{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or "
 "''both''."
@@ -21514,6 +21611,9 @@ msgstr ""
 msgid "Overlapping Identical Landuses"
 msgstr ""
 
+msgid "{0} must be connected to a way"
+msgstr ""
+
 msgid "abbreviated street name"
 msgstr ""
 
@@ -21535,9 +21635,17 @@ msgstr ""
 msgid "street name contains ss"
 msgstr ""
 
+msgid ""
+"Value of ''{0}'' should either be ''{1}'' or ''{2}''. For sidewalks use "
+"''{3}'' instead."
+msgstr ""
+
 msgid "{0} with multiple values"
 msgstr ""
 
+msgid "empty value in semicolon-separated ''{0}''"
+msgstr ""
+
 msgid "numerical key"
 msgstr ""
 
@@ -21572,6 +21680,9 @@ msgstr ""
 msgid "{0} must be a numeric value"
 msgstr ""
 
+msgid "{0} must be a positive integer number"
+msgstr ""
+
 msgid "relation without type"
 msgstr ""
 
@@ -22799,6 +22910,12 @@ msgstr ""
 msgid "merge nodes"
 msgstr ""
 
+msgid "How often thinning operation should be applied (Default {0})."
+msgstr ""
+
+msgid "Thinning Iterations"
+msgstr ""
+
 msgid "Street Name:"
 msgstr "街道名稱:"
 
@@ -25857,7 +25974,9 @@ msgstr ""
 msgid "Move and position photos"
 msgstr ""
 
-msgid "Click+drag photo or shift+click to position photo."
+msgid ""
+"Click+drag photo, shift+click to position photo, control+click to set "
+"direction."
 msgstr ""
 
 msgid "Please load some photos."
@@ -26518,6 +26637,9 @@ msgstr ""
 msgid "Reconstruct polygons from relation {0}"
 msgstr ""
 
+msgid "Reconstruct route"
+msgstr ""
+
 msgid "Open relation wiki page"
 msgstr "開啟關係 wiki 頁面"
 
@@ -26557,6 +26679,12 @@ msgstr ""
 msgid "Way without ''inner'' or ''outer'' role found"
 msgstr ""
 
+msgid "Node without ''stop'' or ''platform'' role found"
+msgstr ""
+
+msgid "Way platform without ''platform'' role found"
+msgstr ""
+
 msgid "Revert changeset fully"
 msgstr "還原整個變更組合"
 
@@ -27047,8 +27175,8 @@ msgstr "加入已經存在的 associatedStreet 關係"
 msgid "create an associatedStreet relation"
 msgstr "建立 associatedStreet 關係"
 
-msgid "delete outline way"
-msgstr "刪除輪廓路徑"
+msgid "keep outline way"
+msgstr ""
 
 msgid "Street name: "
 msgstr "街道名稱: "
diff --git a/images/presets/cattle_grid.png b/images/presets/cattle_grid.png
deleted file mode 100644
index 2ee5629..0000000
Binary files a/images/presets/cattle_grid.png and /dev/null differ
diff --git a/images/presets/motorway_exit.png b/images/presets/motorway_exit.png
deleted file mode 100644
index 7adb9ce..0000000
Binary files a/images/presets/motorway_exit.png and /dev/null differ
diff --git a/images/presets/stile.png b/images/presets/stile.png
deleted file mode 100644
index 38abf87..0000000
Binary files a/images/presets/stile.png and /dev/null differ
diff --git a/images/presets/traffic-light.png b/images/presets/traffic-light.png
deleted file mode 100644
index a14e4c2..0000000
Binary files a/images/presets/traffic-light.png and /dev/null differ
diff --git a/linux/latest/usr/share/man/man1/josm-latest.1 b/linux/latest/usr/share/man/man1/josm-latest.1
index d19ade2..2145fe1 100644
--- a/linux/latest/usr/share/man/man1/josm-latest.1
+++ b/linux/latest/usr/share/man/man1/josm-latest.1
@@ -1,4 +1,4 @@
-.TH JOSM 1 "September  4, 2014"
+.TH JOSM 1 "December 20, 2014"
 .\" Please adjust this date whenever revising the manpage.
 .SH NAME
 josm \- Java OpenStreetMap Editor
@@ -61,6 +61,22 @@ Print debugging messages to console
 .TP
 .B \-\-offline=<osm_api|josm_website|all>
 Disable access to the given resource(s), separated by comma
+.SH JAVA PROPERTIES
+The following options can be set by using Java system properties (i.e. \-Dkey=value
+passed to java, or specified inside JAVA_OPTS).
+.TP
+.B josm.pref=<path>
+Set the JOSM preferences directory.
+.TP
+.B josm.userdata=<path>
+Set the JOSM user data directory.
+.TP
+.B josm.cache=<path>
+Set the JOSM cache directory.
+.TP
+.B josm.home=<homedir>
+Relocate all 3 directories to homedir. Cache directory will be in homedir/cache.
+Default is ~/.josm/.
 .SH ENVIRONMENT
 .IP JAVA_HOME
 Specify an alternate Java environment.
@@ -99,6 +115,7 @@ Dirk Stöcker
 Many minor contributions and patches by others; see SVN history
 at http://josm.openstreetmap.de/svn/ for details. Use
 "josm-dev AT openstreetmap.org" to contact still active authors.
+The logo has been designed by Ilya Palikov.
 .PP
 This manual page was initially written by Andreas Putzo <andreas at putzo.net>,
 for the Debian project (but may be used by others).
diff --git a/linux/tested/usr/share/man/man1/josm.1 b/linux/tested/usr/share/man/man1/josm.1
index 5b435c5..7f65af5 100644
--- a/linux/tested/usr/share/man/man1/josm.1
+++ b/linux/tested/usr/share/man/man1/josm.1
@@ -1,4 +1,4 @@
-.TH JOSM 1 "September  4, 2014"
+.TH JOSM 1 "December 20, 2014"
 .\" Please adjust this date whenever revising the manpage.
 .SH NAME
 josm \- Java OpenStreetMap Editor
@@ -61,6 +61,22 @@ Print debugging messages to console
 .TP
 .B \-\-offline=<osm_api|josm_website|all>
 Disable access to the given resource(s), separated by comma
+.SH JAVA PROPERTIES
+The following options can be set by using Java system properties (i.e. \-Dkey=value
+passed to java, or specified inside JAVA_OPTS).
+.TP
+.B josm.pref=<path>
+Set the JOSM preferences directory.
+.TP
+.B josm.userdata=<path>
+Set the JOSM user data directory.
+.TP
+.B josm.cache=<path>
+Set the JOSM cache directory.
+.TP
+.B josm.home=<homedir>
+Relocate all 3 directories to homedir. Cache directory will be in homedir/cache.
+Default is ~/.josm/.
 .SH ENVIRONMENT
 .IP JAVA_HOME
 Specify an alternate Java environment.
@@ -99,6 +115,7 @@ Dirk Stöcker
 Many minor contributions and patches by others; see SVN history
 at http://josm.openstreetmap.de/svn/ for details. Use
 "josm-dev AT openstreetmap.org" to contact still active authors.
+The logo has been designed by Ilya Palikov.
 .PP
 This manual page was initially written by Andreas Putzo <andreas at putzo.net>,
 for the Debian project (but may be used by others).
diff --git a/src/org/openstreetmap/josm/Main.java b/src/org/openstreetmap/josm/Main.java
index 040ce67..1eb476b 100644
--- a/src/org/openstreetmap/josm/Main.java
+++ b/src/org/openstreetmap/josm/Main.java
@@ -35,6 +35,10 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import java.util.logging.Handler;
+import java.util.logging.Level;
+import java.util.logging.LogRecord;
+import java.util.logging.Logger;
 
 import javax.swing.Action;
 import javax.swing.InputMap;
@@ -60,6 +64,7 @@ import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.actions.search.SearchAction;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.Preferences;
+import org.openstreetmap.josm.data.ProjectionBounds;
 import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.ViewportData;
 import org.openstreetmap.josm.data.coor.CoordinateFormat;
@@ -67,6 +72,7 @@ import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.PrimitiveDeepCopy;
+import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.data.projection.ProjectionChangeListener;
 import org.openstreetmap.josm.data.validation.OsmValidator;
@@ -614,6 +620,42 @@ public abstract class Main {
             }
         });
         FeatureAdapter.registerTranslationAdapter(I18n.getTranslationAdapter());
+        FeatureAdapter.registerLoggingAdapter(new FeatureAdapter.LoggingAdapter() {
+            @Override
+            public Logger getLogger(String name) {
+                Logger logger = Logger.getAnonymousLogger();
+                logger.setUseParentHandlers(false);
+                logger.setLevel(Level.ALL);
+                if (logger.getHandlers().length == 0) {
+                    logger.addHandler(new Handler() {
+                        @Override
+                        public void publish(LogRecord record) {
+                            String msg = MessageFormat.format(record.getMessage(), record.getParameters());
+                            if (record.getLevel().intValue() >= Level.SEVERE.intValue()) {
+                                Main.error(msg);
+                            } else if (record.getLevel().intValue() >= Level.WARNING.intValue()) {
+                                Main.warn(msg);
+                            } else if (record.getLevel().intValue() >= Level.INFO.intValue()) {
+                                Main.info(msg);
+                            } else if (record.getLevel().intValue() >= Level.FINE.intValue()) {
+                                Main.debug(msg);
+                            } else {
+                                Main.trace(msg);
+                            }
+                        }
+
+                        @Override
+                        public void flush() {
+                        }
+
+                        @Override
+                        public void close() throws SecurityException {
+                        }
+                    });
+                }
+                return logger;
+            }
+        });
 
         if (initListener != null) {
             initListener.updateStatus(tr("Updating user interface"));
@@ -651,17 +693,54 @@ public abstract class Main {
     }
 
     /**
-     * Add a new layer to the map. If no map exists, create one.
+     * Add a new layer to the map.
+     *
+     * If no map exists, create one.
+     *
+     * @param layer the layer
+     *
+     * @see #addLayer(Layer, ProjectionBounds)
+     * @see #addLayer(Layer, ViewportData)
      */
-    public final synchronized void addLayer(final Layer layer) {
+    public final void addLayer(final Layer layer) {
+        BoundingXYVisitor v = new BoundingXYVisitor();
+        layer.visitBoundingBox(v);
+        addLayer(layer, v.getBounds());
+    }
+
+    /**
+     * Add a new layer to the map.
+     *
+     * If no map exists, create one.
+     *
+     * @param layer the layer
+     * @param bounds the bounds of the layer (target zoom area); can be null, then
+     * the viewport isn't changed
+     */
+    public final synchronized void addLayer(final Layer layer, ProjectionBounds bounds) {
+        addLayer(layer, bounds == null ? null : new ViewportData(bounds));
+    }
+
+    /**
+     * Add a new layer to the map.
+     *
+     * If no map exists, create one.
+     *
+     * @param layer the layer
+     * @param viewport the viewport to zoom to; can be null, then the viewport
+     * isn't changed
+     */
+    public final synchronized void addLayer(final Layer layer, ViewportData viewport) {
         boolean noMap = map == null;
         if (noMap) {
-            createMapFrame(layer, null);
+            createMapFrame(layer, viewport);
         }
         layer.hookUpMapView();
         map.mapView.addLayer(layer);
         if (noMap) {
             Main.map.setVisible(true);
+        } else if (viewport != null) {
+            Main.map.mapView.zoomTo(viewport);
         }
     }
 
@@ -982,8 +1061,8 @@ public abstract class Main {
             dialog.getModel().populate(layersWithUnmodifiedChanges);
             dialog.setVisible(true);
             switch(dialog.getUserAction()) {
-            case CANCEL: return false;
             case PROCEED: return true;
+            case CANCEL:
             default: return false;
             }
         }
@@ -1156,6 +1235,16 @@ public abstract class Main {
     }
 
     /**
+     * Determines if JOSM currently runs with Java 8 or later.
+     * @return {@code true} if the current JVM is at least Java 8, {@code false} otherwise
+     * @since 7894
+     */
+    public static boolean isJava8orLater() {
+        String version = System.getProperty("java.version");
+        return version != null && !version.matches("^(1\\.)?[7].*");
+    }
+
+    /**
      * Checks that JOSM is at least running with Java 7.
      * @since 7001
      */
diff --git a/src/org/openstreetmap/josm/actions/AlignInLineAction.java b/src/org/openstreetmap/josm/actions/AlignInLineAction.java
index 47528ef..c470485 100644
--- a/src/org/openstreetmap/josm/actions/AlignInLineAction.java
+++ b/src/org/openstreetmap/josm/actions/AlignInLineAction.java
@@ -11,6 +11,8 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import javax.swing.JOptionPane;
 
@@ -26,14 +28,20 @@ import org.openstreetmap.josm.gui.Notification;
 import org.openstreetmap.josm.tools.Shortcut;
 
 /**
- * Aligns all selected nodes into a straight line (useful for
- * roads that should be straight, but have side roads and
+ * Aligns all selected nodes into a straight line (useful for roads that should be straight, but have side roads and
  * therefore need multiple nodes)
  *
- * Case 1: Only ways selected, align each ways taking care of intersection.
- * Case 2: Single node selected, align this node relative to the surrounding nodes.
- * Case 3: Single node and ways selected, align this node relative to the surrounding nodes only parts of selected ways.
- * Case 4: Only nodes selected, align these nodes respect to the line passing through the most distant nodes.
+ * <pre>
+ * Case 1: 1 or 2 ways selected and no nodes selected: align nodes of ways taking care of intersection.
+ * Case 2: Single node selected and no ways selected: align this node relative to all referrer ways (2 at most).
+ * Case 3: Single node and ways selected: align this node relative to selected ways.
+ * Case 4.1: Only nodes selected, part of a non-closed way: align these nodes on the line passing through the
+ *   extremity nodes (most distant in the way sequence). See https://josm.openstreetmap.de/ticket/9605#comment:3
+ * Case 4.2: Only nodes selected, part of a closed way: align these nodes on the line passing through the most distant
+ *   nodes.
+ * Case 4.3: Only nodes selected, part of multiple ways: align these nodes on the line passing through the most distant
+ *   nodes.
+ * </pre>
  *
  * @author Matthew Newton
  */
@@ -70,21 +78,19 @@ public final class AlignInLineAction extends JosmAction {
     }
 
     /**
-     * Compute 2 anchor points to align a set of nodes.
-     * If all nodes are part of a same way anchor points are choose farthest relative to this way,
-     * else choose farthest nodes.
-     * @param nodes Nodes to be aligned
-     * @param resultOut Array of size >= 2
+     * Return 2 nodes making up the line along which provided nodes must be aligned.
+     *
+     * @param nodes Nodes to be aligned.
+     * @return A array of two nodes.
      */
-    private void nodePairFurthestApart(List<Node> nodes, Node[] resultOut) {
-        if(resultOut.length < 2)
-            throw new IllegalArgumentException();
-
+    private Node[] nodePairFurthestApart(List<Node> nodes) {
         Node nodea = null;
         Node nodeb = null;
 
-        // Intersection of all ways referred by each node
-        HashSet<Way> waysRef = null;
+        // Detect if selected nodes are on the same way.
+
+        // Get ways passing though all selected nodes.
+        Set<Way> waysRef = null;
         for(Node n: nodes) {
             Collection<Way> ref = OsmPrimitive.getFilteredList(n.getReferrers(), Way.class);
             if(waysRef == null)
@@ -92,38 +98,63 @@ public final class AlignInLineAction extends JosmAction {
             else
                 waysRef.retainAll(ref);
         }
-        if(waysRef.size() == 1) {
-            // All nodes are part of the same way. See #9605
-            HashSet<Node> remainNodes = new HashSet<>(nodes);
-            Way way = waysRef.iterator().next();
-            for(Node n: way.getNodes()) {
-                if(!remainNodes.contains(n)) continue;
-                if(nodea == null) nodea = n;
-                if(remainNodes.size() == 1) {
-                    nodeb = remainNodes.iterator().next();
-                    break;
-                }
-                remainNodes.remove(n);
+
+        // Nodes belongs to multiple ways, return most distant nodes.
+        if (waysRef.size() != 1)
+            return nodeFurthestAppart(nodes);
+
+        // All nodes are part of the same way. See #9605.
+        Way way = waysRef.iterator().next();
+
+        if (way.isClosed()) {
+            // Align these nodes on the line passing through the most distant nodes.
+            return nodeFurthestAppart(nodes);
+        }
+
+        // The way is open, align nodes on the line passing through the extremity nodes (most distant in the way
+        // sequence). See #9605#comment:3.
+        Set<Node> remainNodes = new HashSet<>(nodes);
+        for (Node n : way.getNodes()) {
+            if (!remainNodes.contains(n))
+                continue;
+            if (nodea == null)
+                nodea = n;
+            if (remainNodes.size() == 1) {
+                nodeb = remainNodes.iterator().next();
+                break;
             }
-        } else {
-            // Find from the selected nodes two that are the furthest apart.
-            // Let's call them A and B.
-            double distance = 0;
-            for (int i = 0; i < nodes.size()-1; i++) {
-                Node n = nodes.get(i);
-                for (int j = i+1; j < nodes.size(); j++) {
-                    Node m = nodes.get(j);
-                    double dist = Math.sqrt(n.getEastNorth().distance(m.getEastNorth()));
-                    if (dist > distance) {
-                        nodea = n;
-                        nodeb = m;
-                        distance = dist;
-                    }
+            remainNodes.remove(n);
+        }
+
+        return new Node[] { nodea, nodeb };
+    }
+
+    /**
+     * Return the two nodes the most distant from the provided list.
+     *
+     * @param nodes List of nodes to analyze.
+     * @return An array containing the two most distant nodes.
+     */
+    private Node[] nodeFurthestAppart(List<Node> nodes) {
+        Node node1 = null, node2 = null;
+        double minSqDistance = 0;
+        int nb;
+
+        nb = nodes.size();
+        for (int i = 0; i < nb - 1; i++) {
+            Node n = nodes.get(i);
+            for (int j = i + 1; j < nb; j++) {
+                Node m = nodes.get(j);
+                double sqDist = n.getEastNorth().distanceSq(m.getEastNorth());
+                if (sqDist > minSqDistance) {
+                    node1 = n;
+                    node2 = m;
+                    minSqDistance = sqDist;
                 }
             }
         }
-        resultOut[0] = nodea;
-        resultOut[1] = nodeb;
+
+        return new Node[] { node1, node2 };
     }
 
     /**
@@ -160,7 +191,7 @@ public final class AlignInLineAction extends JosmAction {
                     throw new InvalidSelection();
                 cmd = alignSingleNode(selectedNodes.get(0), lines);
             }
-            /// More than 3 nodes selected -> align those nodes
+            // More than 3 nodes and way(s) selected -> align selected nodes. Don't care of way(s).
             else if(selectedNodes.size() >= 3) {
                 cmd = alignOnlyNodes(selectedNodes);
             }
@@ -181,20 +212,15 @@ public final class AlignInLineAction extends JosmAction {
     }
 
     /**
-     * Align nodes in case that only nodes are selected
+     * Align nodes in case 3 or more nodes are selected.
      *
-     * The general algorithm here is to find the two selected nodes
-     * that are furthest apart, and then to align all other selected
-     * nodes onto the straight line between these nodes.
-
-     * @param nodes Nodes to be aligned
-     * @return Command that perform action
-     * @throws InvalidSelection
+     * @param nodes Nodes to be aligned.
+     * @return Command that perform action.
+     * @throws InvalidSelection If the nodes have same coordinates.
      */
     private Command alignOnlyNodes(List<Node> nodes) throws InvalidSelection {
-        Node[] anchors = new Node[2]; // oh, java I love you so much..
-        // use the nodes furthest apart as anchors
-        nodePairFurthestApart(nodes, anchors);
+        // Choose nodes used as anchor points for projection.
+        Node[] anchors = nodePairFurthestApart(nodes);
         Collection<Command> cmds = new ArrayList<>(nodes.size());
         Line line = new Line(anchors[0], anchors[1]);
         for(Node node: nodes)
@@ -211,8 +237,8 @@ public final class AlignInLineAction extends JosmAction {
      */
     private Command alignMultiWay(Collection<Way> ways) throws InvalidSelection {
         // Collect all nodes and compute line equation
-        HashSet<Node> nodes = new HashSet<>();
-        HashMap<Way, Line> lines = new HashMap<>();
+        Set<Node> nodes = new HashSet<>();
+        Map<Way, Line> lines = new HashMap<>();
         for(Way w: ways) {
             if(w.firstNode() == w.lastNode())
                 throw new InvalidSelection(tr("Can not align a polygon. Abort."));
@@ -249,8 +275,8 @@ public final class AlignInLineAction extends JosmAction {
      * @throws InvalidSelection
      */
     private List<Line> getInvolvedLines(Node node, List<Way> refWays) throws InvalidSelection {
-        ArrayList<Line> lines = new ArrayList<>();
-        ArrayList<Node> neighbors = new ArrayList<>();
+        List<Line> lines = new ArrayList<>();
+        List<Node> neighbors = new ArrayList<>();
         for(Way way: refWays) {
             List<Node> nodes = way.getNodes();
             neighbors.clear();
diff --git a/src/org/openstreetmap/josm/actions/AutoScaleAction.java b/src/org/openstreetmap/josm/actions/AutoScaleAction.java
index 1f538d0..e1a4db5 100644
--- a/src/org/openstreetmap/josm/actions/AutoScaleAction.java
+++ b/src/org/openstreetmap/josm/actions/AutoScaleAction.java
@@ -84,7 +84,7 @@ public class AutoScaleAction extends JosmAction {
         // in most other cases as well.
         bboxCalculator.enlargeBoundingBox();
         if (bboxCalculator.getBounds() != null) {
-            Main.map.mapView.recalculateCenterScale(bboxCalculator);
+            Main.map.mapView.zoomTo(bboxCalculator);
         }
     }
 
@@ -173,7 +173,7 @@ public class AutoScaleAction extends JosmAction {
             default:
                 BoundingXYVisitor bbox = getBoundingBox();
                 if (bbox != null && bbox.getBounds() != null) {
-                    Main.map.mapView.recalculateCenterScale(bbox);
+                    Main.map.mapView.zoomTo(bbox);
                 }
             }
         }
diff --git a/src/org/openstreetmap/josm/actions/DistributeAction.java b/src/org/openstreetmap/josm/actions/DistributeAction.java
index b874a85..c6daf22 100644
--- a/src/org/openstreetmap/josm/actions/DistributeAction.java
+++ b/src/org/openstreetmap/josm/actions/DistributeAction.java
@@ -154,7 +154,7 @@ public final class DistributeAction extends JosmAction {
         Set<Node> result = new HashSet<>();
         for (Iterator<Node> it = col.iterator(); it.hasNext();) {
             Node n = it.next();
-            if (n.getCoor() == null) {
+            if (!n.isLatLonKnown()) {
                 it.remove();
                 result.add(n);
             }
diff --git a/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java b/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java
index 46f281b..ebc7bc1 100644
--- a/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java
+++ b/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java
@@ -33,13 +33,16 @@ import org.openstreetmap.josm.gui.widgets.JosmTextField;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
 
+/**
+ * Adjust the position of an imagery layer.
+ * @since 3715
+ */
 public class ImageryAdjustAction extends MapMode implements MouseListener, MouseMotionListener, AWTEventListener{
-    static ImageryOffsetDialog offsetDialog;
-    static Cursor cursor = ImageProvider.getCursor("normal", "move");
+    private static ImageryOffsetDialog offsetDialog;
+    private static Cursor cursor = ImageProvider.getCursor("normal", "move");
 
-    double oldDx, oldDy;
-    boolean mouseDown;
-    EastNorth prevEastNorth;
+    private double oldDx, oldDy;
+    private EastNorth prevEastNorth;
     private ImageryLayer layer;
     private MapMode oldMapMode;
 
@@ -107,12 +110,14 @@ public class ImageryAdjustAction extends MapMode implements MouseListener, Mouse
 
     @Override
     public void eventDispatched(AWTEvent event) {
-        if (!(event instanceof KeyEvent)) return;
-        if (event.getID() != KeyEvent.KEY_PRESSED) return;
-        if (layer == null) return;
-        if (offsetDialog != null && offsetDialog.areFieldsInFocus()) return;
+        if (!(event instanceof KeyEvent)
+          || (event.getID() != KeyEvent.KEY_PRESSED)
+          || (layer == null)
+          || (offsetDialog != null && offsetDialog.areFieldsInFocus())) {
+            return;
+        }
         KeyEvent kev = (KeyEvent)event;
-        double dx = 0, dy = 0;
+        int dx = 0, dy = 0;
         switch (kev.getKeyCode()) {
         case KeyEvent.VK_UP : dy = +1; break;
         case KeyEvent.VK_DOWN : dy = -1; break;
@@ -172,10 +177,14 @@ public class ImageryAdjustAction extends MapMode implements MouseListener, Mouse
         super.actionPerformed(e);
     }
 
-    class ImageryOffsetDialog extends ExtendedDialog implements FocusListener {
-        public final JosmTextField tOffset = new JosmTextField();
-        JosmTextField tBookmarkName = new JosmTextField();
+    private class ImageryOffsetDialog extends ExtendedDialog implements FocusListener {
+        private final JosmTextField tOffset = new JosmTextField();
+        private final JosmTextField tBookmarkName = new JosmTextField();
         private boolean ignoreListener;
+
+        /**
+         * Constructs a new {@code ImageryOffsetDialog}.
+         */
         public ImageryOffsetDialog() {
             super(Main.parent,
                     tr("Adjust imagery offset"),
@@ -186,7 +195,8 @@ public class ImageryAdjustAction extends MapMode implements MouseListener, Mouse
             JPanel pnl = new JPanel(new GridBagLayout());
             pnl.add(new JMultilineLabel(tr("Use arrow keys or drag the imagery layer with mouse to adjust the imagery offset.\n" +
                     "You can also enter east and north offset in the {0} coordinates.\n" +
-                    "If you want to save the offset as bookmark, enter the bookmark name below",Main.getProjection().toString())), GBC.eop());
+                    "If you want to save the offset as bookmark, enter the bookmark name below",
+                    Main.getProjection().toString())), GBC.eop());
             pnl.add(new JLabel(tr("Offset: ")),GBC.std());
             pnl.add(tOffset,GBC.eol().fill(GBC.HORIZONTAL).insets(0,0,0,5));
             pnl.add(new JLabel(tr("Bookmark name: ")),GBC.std());
@@ -198,12 +208,13 @@ public class ImageryAdjustAction extends MapMode implements MouseListener, Mouse
             setupDialog();
         }
 
-        public boolean areFieldsInFocus() {
+        private boolean areFieldsInFocus() {
             return tOffset.hasFocus();
         }
 
         @Override
         public void focusGained(FocusEvent e) {
+            // Do nothing
         }
 
         @Override
@@ -229,13 +240,13 @@ public class ImageryAdjustAction extends MapMode implements MouseListener, Mouse
             }
         }
 
-        public final void updateOffset() {
+        private final void updateOffset() {
             ignoreListener = true;
             updateOffsetIntl();
             ignoreListener = false;
         }
 
-        public final void updateOffsetIntl() {
+        private final void updateOffsetIntl() {
             // Support projections with very small numbers (e.g. 4326)
             int precision = Main.getProjection().getDefaultZoomInPPD() >= 1.0 ? 2 : 7;
             // US locale to force decimal separator to be '.'
@@ -264,8 +275,9 @@ public class ImageryAdjustAction extends MapMode implements MouseListener, Mouse
         @Override
         protected void buttonAction(int buttonIndex, ActionEvent evt) {
             if (buttonIndex == 0 && tBookmarkName.getText() != null && !tBookmarkName.getText().isEmpty() &&
-                    OffsetBookmark.getBookmarkByName(layer, tBookmarkName.getText()) != null) {
-                if (!confirmOverwriteBookmark()) return;
+                    OffsetBookmark.getBookmarkByName(layer, tBookmarkName.getText()) != null &&
+                    !confirmOverwriteBookmark()) {
+                return;
             }
             super.buttonAction(buttonIndex, evt);
         }
diff --git a/src/org/openstreetmap/josm/actions/InfoAction.java b/src/org/openstreetmap/josm/actions/InfoAction.java
index c35c717..01fc939 100644
--- a/src/org/openstreetmap/josm/actions/InfoAction.java
+++ b/src/org/openstreetmap/josm/actions/InfoAction.java
@@ -1,19 +1,23 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.actions;
 
-import java.awt.event.ActionEvent;
-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.Collection;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.dialogs.InspectPrimitiveDialog;
 import org.openstreetmap.josm.tools.Shortcut;
 
+/**
+ * Display advanced object information about OSM nodes, ways, or relations.
+ * @since 1697
+ */
 public class InfoAction extends JosmAction {
 
     /**
diff --git a/src/org/openstreetmap/josm/actions/InfoWebAction.java b/src/org/openstreetmap/josm/actions/InfoWebAction.java
index 70654e4..3de4175 100644
--- a/src/org/openstreetmap/josm/actions/InfoWebAction.java
+++ b/src/org/openstreetmap/josm/actions/InfoWebAction.java
@@ -11,8 +11,15 @@ import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.tools.Shortcut;
 
+/**
+ * Display object information about OSM nodes, ways, or relations in web browser.
+ * @since 4408
+ */
 public class InfoWebAction extends AbstractInfoAction {
 
+    /**
+     * Constructs a new {@code InfoWebAction}.
+     */
     public InfoWebAction() {
         super(tr("Advanced info (web)"), "info",
                 tr("Display object information about OSM nodes, ways, or relations in web browser."),
diff --git a/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java b/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
index 8b8fce5..9329c17 100644
--- a/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
+++ b/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
@@ -37,12 +37,14 @@ import org.openstreetmap.josm.tools.Shortcut;
  * <li><b>Join Node to Way</b>: Include a node into the nearest way segments. The node does not move</li>
  * <li><b>Move Node onto Way</b>: Move the node onto the nearest way segments and include it</li>
  * </ul>
+ * @since 466
  */
 public class JoinNodeWayAction extends JosmAction {
 
     protected final boolean joinWayToNode;
 
-    protected JoinNodeWayAction(boolean joinWayToNode, String name, String iconName, String tooltip, Shortcut shortcut, boolean registerInToolbar) {
+    protected JoinNodeWayAction(boolean joinWayToNode, String name, String iconName, String tooltip,
+            Shortcut shortcut, boolean registerInToolbar) {
         super(name, iconName, tooltip, shortcut, registerInToolbar);
         this.joinWayToNode = joinWayToNode;
     }
@@ -53,8 +55,10 @@ public class JoinNodeWayAction extends JosmAction {
      */
     public static JoinNodeWayAction createJoinNodeToWayAction() {
         JoinNodeWayAction action = new JoinNodeWayAction(false,
-                tr("Join Node to Way"), /* ICON */ "joinnodeway", tr("Include a node into the nearest way segments"),
-                Shortcut.registerShortcut("tools:joinnodeway", tr("Tool: {0}", tr("Join Node to Way")), KeyEvent.VK_J, Shortcut.DIRECT), true);
+                tr("Join Node to Way"), /* ICON */ "joinnodeway",
+                tr("Include a node into the nearest way segments"),
+                Shortcut.registerShortcut("tools:joinnodeway", tr("Tool: {0}", tr("Join Node to Way")),
+                        KeyEvent.VK_J, Shortcut.DIRECT), true);
         action.putValue("help", ht("/Action/JoinNodeWay"));
         return action;
     }
@@ -65,8 +69,11 @@ public class JoinNodeWayAction extends JosmAction {
      */
     public static JoinNodeWayAction createMoveNodeOntoWayAction() {
         JoinNodeWayAction action = new JoinNodeWayAction(true,
-                tr("Move Node onto Way"), /* ICON*/ "movenodeontoway", tr("Move the node onto the nearest way segments and include it"),
-                Shortcut.registerShortcut("tools:movenodeontoway", tr("Tool: {0}", tr("Move Node onto Way")), KeyEvent.VK_N, Shortcut.DIRECT), true);
+                tr("Move Node onto Way"), /* ICON*/ "movenodeontoway",
+                tr("Move the node onto the nearest way segments and include it"),
+                Shortcut.registerShortcut("tools:movenodeontoway", tr("Tool: {0}", tr("Move Node onto Way")),
+                        KeyEvent.VK_N, Shortcut.DIRECT), true);
+        action.putValue("help", ht("/Action/MoveNodeWay"));
         return action;
     }
 
@@ -94,7 +101,7 @@ public class JoinNodeWayAction extends JosmAction {
                     continue;
                 }
 
-                if (ws.getFirstNode() != node && ws.getSecondNode() != node) {
+                if (!ws.getFirstNode().equals(node) && !ws.getSecondNode().equals(node)) {
                     insertPoints.put(ws.way, ws.lowerIndex);
                 }
             }
@@ -136,7 +143,8 @@ public class JoinNodeWayAction extends JosmAction {
                 }
                 List<Node> nodesToAdd = new LinkedList<>();
                 nodesToAdd.addAll(nodesInSegment);
-                Collections.sort(nodesToAdd, new NodeDistanceToRefNodeComparator(w.getNode(segmentIndex), w.getNode(segmentIndex+1), !joinWayToNode));
+                Collections.sort(nodesToAdd, new NodeDistanceToRefNodeComparator(
+                        w.getNode(segmentIndex), w.getNode(segmentIndex+1), !joinWayToNode));
                 wayNodes.addAll(segmentIndex + 1, nodesToAdd);
             }
             Way wnew = new Way(w);
diff --git a/src/org/openstreetmap/josm/actions/JosmAction.java b/src/org/openstreetmap/josm/actions/JosmAction.java
index 91790af..6d06751 100644
--- a/src/org/openstreetmap/josm/actions/JosmAction.java
+++ b/src/org/openstreetmap/josm/actions/JosmAction.java
@@ -334,7 +334,6 @@ public abstract class JosmAction extends AbstractAction implements Destroyable {
 
     /**
      * Adapter for selection change events
-     *
      */
     private class SelectionChangeAdapter implements SelectionChangedListener {
         @Override
diff --git a/src/org/openstreetmap/josm/actions/JumpToAction.java b/src/org/openstreetmap/josm/actions/JumpToAction.java
index 6978497..356c9bf 100644
--- a/src/org/openstreetmap/josm/actions/JumpToAction.java
+++ b/src/org/openstreetmap/josm/actions/JumpToAction.java
@@ -1,6 +1,7 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.actions;
 
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.BorderLayout;
@@ -39,6 +40,7 @@ public class JumpToAction extends JosmAction {
         super(tr("Jump To Position"), (ImageProvider) null, tr("Opens a dialog that allows to jump to a specific location"),
                 Shortcut.registerShortcut("tools:jumpto", tr("Tool: {0}", tr("Jump To Position")),
                         KeyEvent.VK_J, Shortcut.CTRL), true, "action/jumpto", true);
+        putValue("help", ht("/Action/JumpToPosition"));
     }
 
     private final JosmTextField url = new JosmTextField();
diff --git a/src/org/openstreetmap/josm/actions/LassoModeAction.java b/src/org/openstreetmap/josm/actions/LassoModeAction.java
index b07f35d..893cdfd 100644
--- a/src/org/openstreetmap/josm/actions/LassoModeAction.java
+++ b/src/org/openstreetmap/josm/actions/LassoModeAction.java
@@ -8,8 +8,15 @@ import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.ImageProvider;
 
+/**
+ * Lasso selection mode: select objects within a hand-drawn region.
+ * @since 5152
+ */
 public class LassoModeAction extends MapMode {
 
+    /**
+     * Constructs a new {@code LassoModeAction}.
+     */
     public LassoModeAction() {
         super(tr("Lasso Mode"),
                 /* ICON(mapmode/) */ "rope",
diff --git a/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java b/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
index db00fc2..3b89f7d 100644
--- a/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
+++ b/src/org/openstreetmap/josm/actions/MapRectifierWMSmenuAction.java
@@ -1,6 +1,7 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.actions;
 
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.GridBagConstraints;
@@ -22,13 +23,18 @@ import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.imagery.ImageryInfo;
 import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.layer.WMSLayer;
+import org.openstreetmap.josm.gui.widgets.JosmTextField;
+import org.openstreetmap.josm.gui.widgets.UrlLabel;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Shortcut;
 import org.openstreetmap.josm.tools.Utils;
-import org.openstreetmap.josm.gui.widgets.JosmTextField;
-import org.openstreetmap.josm.gui.widgets.UrlLabel;
 
+/**
+ * Download rectified images from various services.
+ * @since 3715
+ */
 public class MapRectifierWMSmenuAction extends JosmAction {
+
     /**
      * Class that bundles all required information of a rectifier service
      */
@@ -38,7 +44,7 @@ public class MapRectifierWMSmenuAction extends JosmAction {
         private final String wmsUrl;
         private final Pattern urlRegEx;
         private final Pattern idValidator;
-        public JRadioButton btn;
+        private JRadioButton btn;
 
         /**
          * @param name Name of the rectifing service
@@ -55,16 +61,19 @@ public class MapRectifierWMSmenuAction extends JosmAction {
             this.idValidator = Pattern.compile(idValidator);
         }
 
-        public boolean isSelected() {
+        private boolean isSelected() {
             return btn.isSelected();
         }
     }
 
     /**
-     * List of available rectifier services. May be extended from the outside
+     * List of available rectifier services.
      */
-    public List<RectifierService> services = new ArrayList<>();
+    private final List<RectifierService> services = new ArrayList<>();
 
+    /**
+     * Constructs a new {@code MapRectifierWMSmenuAction}.
+     */
     public MapRectifierWMSmenuAction() {
         super(tr("Rectified Image..."),
                 "OLmarker",
@@ -74,6 +83,7 @@ public class MapRectifierWMSmenuAction extends JosmAction {
                         KeyEvent.CHAR_UNDEFINED, Shortcut.NONE),
                 true
         );
+        putValue("help", ht("/Menu/Imagery"));
 
         // Add default services
         services.add(
diff --git a/src/org/openstreetmap/josm/actions/MergeLayerAction.java b/src/org/openstreetmap/josm/actions/MergeLayerAction.java
index 2366054..a68009f 100644
--- a/src/org/openstreetmap/josm/actions/MergeLayerAction.java
+++ b/src/org/openstreetmap/josm/actions/MergeLayerAction.java
@@ -45,7 +45,7 @@ public class MergeLayerAction extends AbstractMergeAction {
             public void run() {
                 boolean layerMerged = false;
                 for (final Layer sourceLayer: sourceLayers) {
-                    if (sourceLayer != null && sourceLayer != targetLayer) {
+                    if (sourceLayer != null && !sourceLayer.equals(targetLayer)) {
                         if (sourceLayer instanceof OsmDataLayer && targetLayer instanceof OsmDataLayer
                                 && ((OsmDataLayer)sourceLayer).isUploadDiscouraged() != ((OsmDataLayer)targetLayer).isUploadDiscouraged()) {
                             if (warnMergingUploadDiscouragedLayers(sourceLayer, targetLayer)) {
diff --git a/src/org/openstreetmap/josm/actions/MergeNodesAction.java b/src/org/openstreetmap/josm/actions/MergeNodesAction.java
index 99e4b04..9547eab 100644
--- a/src/org/openstreetmap/josm/actions/MergeNodesAction.java
+++ b/src/org/openstreetmap/josm/actions/MergeNodesAction.java
@@ -71,7 +71,8 @@ public class MergeNodesAction extends JosmAction {
         List<Node> selectedNodes = OsmPrimitive.getFilteredList(selection, Node.class);
 
         if (selectedNodes.size() == 1) {
-            List<Node> nearestNodes = Main.map.mapView.getNearestNodes(Main.map.mapView.getPoint(selectedNodes.get(0)), selectedNodes, OsmPrimitive.isUsablePredicate);
+            List<Node> nearestNodes = Main.map.mapView.getNearestNodes(
+                    Main.map.mapView.getPoint(selectedNodes.get(0)), selectedNodes, OsmPrimitive.isUsablePredicate);
             if (nearestNodes.isEmpty()) {
                 new Notification(
                         tr("Please select at least two nodes to merge or one node that is close to another node."))
@@ -141,9 +142,8 @@ public class MergeNodesAction extends JosmAction {
 
             return new Node(new EastNorth(east2 / weight, north2 / weight));
         default:
-            throw new RuntimeException("unacceptable merge-nodes.mode");
+            throw new IllegalStateException("unacceptable merge-nodes.mode");
         }
-
     }
 
     /**
@@ -197,14 +197,13 @@ public class MergeNodesAction extends JosmAction {
         for (Way w: OsmPrimitive.getFilteredList(OsmPrimitive.getReferrer(nodesToDelete), Way.class)) {
             List<Node> newNodes = new ArrayList<>(w.getNodesCount());
             for (Node n: w.getNodes()) {
-                if (! nodesToDelete.contains(n) && n != targetNode) {
+                if (! nodesToDelete.contains(n) && !n.equals(targetNode)) {
                     newNodes.add(n);
                 } else if (newNodes.isEmpty()) {
                     newNodes.add(targetNode);
-                } else if (newNodes.get(newNodes.size()-1) != targetNode) {
+                } else if (!newNodes.get(newNodes.size()-1).equals(targetNode)) {
                     // make sure we collapse a sequence of deleted nodes
                     // to exactly one occurrence of the merged target node
-                    //
                     newNodes.add(targetNode);
                 } else {
                     // drop the node
@@ -316,7 +315,7 @@ public class MergeNodesAction extends JosmAction {
         try {
             TagCollection nodeTags = TagCollection.unionOfAllPrimitives(nodes);
             List<Command> resultion = CombinePrimitiveResolverDialog.launchIfNecessary(nodeTags, nodes, Collections.singleton(targetNode));
-            LinkedList<Command> cmds = new LinkedList<>();
+            List<Command> cmds = new LinkedList<>();
 
             // the nodes we will have to delete
             //
@@ -336,7 +335,7 @@ public class MergeNodesAction extends JosmAction {
 
             // build the commands
             //
-            if (targetNode != targetLocationNode) {
+            if (!targetNode.equals(targetLocationNode)) {
                 LatLon targetLocationCoor = targetLocationNode.getCoor();
                 if (!targetNode.getCoor().equals(targetLocationCoor)) {
                     Node newTargetNode = new Node(targetNode);
diff --git a/src/org/openstreetmap/josm/actions/MergeSelectionAction.java b/src/org/openstreetmap/josm/actions/MergeSelectionAction.java
index 0a1c0ae..051d7a9 100644
--- a/src/org/openstreetmap/josm/actions/MergeSelectionAction.java
+++ b/src/org/openstreetmap/josm/actions/MergeSelectionAction.java
@@ -9,7 +9,6 @@ import java.awt.event.KeyEvent;
 import java.util.Collection;
 import java.util.List;
 
-import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.visitor.MergeSourceBuildingVisitor;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
@@ -19,7 +18,15 @@ import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
 
+/**
+ * Merge the currently selected objects into another layer.
+ * @since 1890
+ */
 public class MergeSelectionAction extends AbstractMergeAction {
+
+    /**
+     * Constructs a new {@code MergeSelectionAction}.
+     */
     public MergeSelectionAction() {
         super(tr("Merge selection"), "dialogs/mergedown", tr("Merge the currently selected objects into another layer"),
             Shortcut.registerShortcut("system:mergeselection", tr("Edit: {0}", tr("Merge selection")),
@@ -29,7 +36,10 @@ public class MergeSelectionAction extends AbstractMergeAction {
         putValue("help", ht("/Action/MergeSelection"));
     }
 
-    public void mergeSelected(DataSet source) {
+    /**
+     * Merge the currently selected objects into another layer.
+     */
+    public void mergeSelected() {
         List<Layer> targetLayers = LayerListDialog.getInstance().getModel().getPossibleMergeTargets(getEditLayer());
         if (targetLayers.isEmpty()) {
             warnNoTargetLayersForSourceLayer(getEditLayer());
@@ -38,11 +48,11 @@ public class MergeSelectionAction extends AbstractMergeAction {
         Layer targetLayer = askTargetLayer(targetLayers);
         if (targetLayer == null)
             return;
-        if (getEditLayer().isUploadDiscouraged() && targetLayer instanceof OsmDataLayer && !((OsmDataLayer)targetLayer).isUploadDiscouraged()
-                && getEditLayer().data.getAllSelected().size() > 1) {
-            if (warnMergingUploadDiscouragedObjects(targetLayer)) {
-                return;
-            }
+        if (getEditLayer().isUploadDiscouraged() && targetLayer instanceof OsmDataLayer
+                && !((OsmDataLayer)targetLayer).isUploadDiscouraged()
+                && getEditLayer().data.getAllSelected().size() > 1
+                && warnMergingUploadDiscouragedObjects(targetLayer)) {
+            return;
         }
         MergeSourceBuildingVisitor builder = new MergeSourceBuildingVisitor(getEditLayer().data);
         ((OsmDataLayer)targetLayer).mergeFrom(builder.build());
@@ -52,7 +62,7 @@ public class MergeSelectionAction extends AbstractMergeAction {
     public void actionPerformed(ActionEvent e) {
         if (getEditLayer() == null || getEditLayer().data.getAllSelected().isEmpty())
             return;
-        mergeSelected(getEditLayer().data);
+        mergeSelected();
     }
 
     @Override
@@ -70,7 +80,9 @@ public class MergeSelectionAction extends AbstractMergeAction {
     }
 
     /**
-     * returns true if the user wants to cancel, false if they want to continue
+     * Warns the user about merging too many objects with different upload policies.
+     * @param targetLayer Target layer
+     * @return true if the user wants to cancel, false if they want to continue
      */
     public static final boolean warnMergingUploadDiscouragedObjects(Layer targetLayer) {
         return GuiHelper.warnUser(tr("Merging too many objects with different upload policies"),
@@ -78,7 +90,8 @@ public class MergeSelectionAction extends AbstractMergeAction {
                 tr("You are about to merge more than 1 object between layers ''{0}'' and ''{1}''.<br /><br />"+
                         "<b>This is not the recommended way of merging such data</b>.<br />"+
                         "You should instead check and merge each object, <b>one by one</b>.<br /><br />"+
-                        "Are you sure you want to continue?", getEditLayer().getName(), targetLayer.getName(), targetLayer.getName())+
+                        "Are you sure you want to continue?",
+                        getEditLayer().getName(), targetLayer.getName(), targetLayer.getName())+
                 "</html>",
                 ImageProvider.get("dialogs", "mergedown"), tr("Ignore this hint and merge anyway"));
     }
diff --git a/src/org/openstreetmap/josm/actions/MirrorAction.java b/src/org/openstreetmap/josm/actions/MirrorAction.java
index b44217b..94ed2ee 100644
--- a/src/org/openstreetmap/josm/actions/MirrorAction.java
+++ b/src/org/openstreetmap/josm/actions/MirrorAction.java
@@ -9,6 +9,7 @@ import java.awt.event.KeyEvent;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedList;
+import java.util.Set;
 
 import javax.swing.JOptionPane;
 
@@ -44,7 +45,7 @@ public final class MirrorAction extends JosmAction {
     @Override
     public void actionPerformed(ActionEvent e) {
         Collection<OsmPrimitive> sel = getCurrentDataSet().getSelected();
-        HashSet<Node> nodes = new HashSet<>();
+        Set<Node> nodes = new HashSet<>();
 
         for (OsmPrimitive osm : sel) {
             if (osm instanceof Node) {
diff --git a/src/org/openstreetmap/josm/actions/MoveAction.java b/src/org/openstreetmap/josm/actions/MoveAction.java
index c898815..f5872fc 100644
--- a/src/org/openstreetmap/josm/actions/MoveAction.java
+++ b/src/org/openstreetmap/josm/actions/MoveAction.java
@@ -31,7 +31,7 @@ public class MoveAction extends JosmAction {
     private Direction myDirection;
 
     // any better idea?
-    private static String calltosupermustbefirststatementinconstructor_text(Direction dir) {
+    private static String calltosupermustbefirststatementinconstructortext(Direction dir) {
         String directiontext;
         if        (dir == Direction.UP)   {
             directiontext = tr("up");
@@ -60,9 +60,13 @@ public class MoveAction extends JosmAction {
         return sc;
     }
 
+    /**
+     * Constructs a new {@code MoveAction}.
+     * @param dir direction
+     */
     public MoveAction(Direction dir) {
-        super(tr("Move {0}", calltosupermustbefirststatementinconstructor_text(dir)), null,
-                tr("Moves Objects {0}", calltosupermustbefirststatementinconstructor_text(dir)),
+        super(tr("Move {0}", calltosupermustbefirststatementinconstructortext(dir)), null,
+                tr("Moves Objects {0}", calltosupermustbefirststatementinconstructortext(dir)),
                 calltosupermustbefirststatementinconstructor(dir), false);
         myDirection = dir;
         putValue("help", ht("/Action/Move"));
@@ -119,8 +123,8 @@ public class MoveAction extends JosmAction {
         if (c instanceof MoveCommand && affectedNodes.equals(((MoveCommand)c).getParticipatingPrimitives())) {
             ((MoveCommand)c).moveAgain(distx, disty);
         } else {
-            Main.main.undoRedo.add(
-                    c = new MoveCommand(selection, distx, disty));
+            c = new MoveCommand(selection, distx, disty);
+            Main.main.undoRedo.add(c);
         }
         getCurrentDataSet().endUpdate();
 
diff --git a/src/org/openstreetmap/josm/actions/MoveNodeAction.java b/src/org/openstreetmap/josm/actions/MoveNodeAction.java
index c7a923f..535da43 100644
--- a/src/org/openstreetmap/josm/actions/MoveNodeAction.java
+++ b/src/org/openstreetmap/josm/actions/MoveNodeAction.java
@@ -20,6 +20,9 @@ import org.openstreetmap.josm.gui.dialogs.LatLonDialog;
  */
 public final class MoveNodeAction extends JosmAction {
 
+    /**
+     * Constructs a new {@code MoveNodeAction}.
+     */
     public MoveNodeAction() {
         super(tr("Move Node..."), "movenode", tr("Edit latitude and longitude of a node."),
                 null, /* no shortcut */
diff --git a/src/org/openstreetmap/josm/actions/OpenFileAction.java b/src/org/openstreetmap/josm/actions/OpenFileAction.java
index d14caa5..616597b 100644
--- a/src/org/openstreetmap/josm/actions/OpenFileAction.java
+++ b/src/org/openstreetmap/josm/actions/OpenFileAction.java
@@ -51,7 +51,7 @@ public class OpenFileAction extends DiskAccessAction {
     /**
      * The {@link ExtensionFileFilter} matching .url files
      */
-    public static final ExtensionFileFilter urlFileFilter = new ExtensionFileFilter("url", "url", tr("URL Files") + " (*.url)");
+    public static final ExtensionFileFilter URL_FILE_FILTER = new ExtensionFileFilter("url", "url", tr("URL Files") + " (*.url)");
 
     /**
      * Create an open action. The name is "Open a file".
@@ -198,9 +198,11 @@ public class OpenFileAction extends DiskAccessAction {
              * Find the importer with the chosen file filter
              */
             FileImporter chosenImporter = null;
-            for (FileImporter importer : ExtensionFileFilter.importers) {
-                if (fileFilter == importer.filter) {
-                    chosenImporter = importer;
+            if (fileFilter != null) {
+                for (FileImporter importer : ExtensionFileFilter.importers) {
+                    if (fileFilter.equals(importer.filter)) {
+                        chosenImporter = importer;
+                    }
                 }
             }
             /**
@@ -257,7 +259,7 @@ public class OpenFileAction extends DiskAccessAction {
                             continue FILES;
                         }
                     }
-                    if (urlFileFilter.accept(f)) {
+                    if (URL_FILE_FILTER.accept(f)) {
                         urlFiles.add(f);
                     } else {
                         filesWithUnknownImporter.add(f);
diff --git a/src/org/openstreetmap/josm/actions/OpenLocationAction.java b/src/org/openstreetmap/josm/actions/OpenLocationAction.java
index 5a7fecb..0689ede 100644
--- a/src/org/openstreetmap/josm/actions/OpenLocationAction.java
+++ b/src/org/openstreetmap/josm/actions/OpenLocationAction.java
@@ -54,7 +54,8 @@ public class OpenLocationAction extends JosmAction {
     public OpenLocationAction() {
         /* I18N: Command to download a specific location/URL */
         super(tr("Open Location..."), "openlocation", tr("Open an URL."),
-                Shortcut.registerShortcut("system:open_location", tr("File: {0}", tr("Open Location...")), KeyEvent.VK_L, Shortcut.CTRL), true);
+                Shortcut.registerShortcut("system:open_location", tr("File: {0}", tr("Open Location...")),
+                        KeyEvent.VK_L, Shortcut.CTRL), true);
         putValue("help", ht("/Action/OpenLocation"));
         this.downloadTasks = new ArrayList<>();
         addDownloadTaskClass(DownloadOsmTask.class);
@@ -73,7 +74,8 @@ public class OpenLocationAction extends JosmAction {
      * @param cbHistory
      */
     protected void restoreUploadAddressHistory(HistoryComboBox cbHistory) {
-        List<String> cmtHistory = new LinkedList<>(Main.pref.getCollection(getClass().getName() + ".uploadAddressHistory", new LinkedList<String>()));
+        List<String> cmtHistory = new LinkedList<>(Main.pref.getCollection(getClass().getName() + ".uploadAddressHistory",
+                new LinkedList<String>()));
         // we have to reverse the history, because ComboBoxHistory will reverse it again in addElement()
         //
         Collections.reverse(cmtHistory);
@@ -174,10 +176,10 @@ public class OpenLocationAction extends JosmAction {
 
     /**
      * Open the given URL.
-     * @param new_layer true if the URL needs to be opened in a new layer, false otherwise
+     * @param newLayer true if the URL needs to be opened in a new layer, false otherwise
      * @param url The URL to open
      */
-    public void openUrl(boolean new_layer, final String url) {
+    public void openUrl(boolean newLayer, final String url) {
         PleaseWaitProgressMonitor monitor = new PleaseWaitProgressMonitor(tr("Download Data"));
         Collection<DownloadTask> tasks = findDownloadTasks(url, false);
         DownloadTask task = null;
@@ -186,7 +188,7 @@ public class OpenLocationAction extends JosmAction {
             // TODO: handle multiple suitable tasks ?
             try {
                 task = tasks.iterator().next();
-                future = task.loadUrl(new_layer, url, monitor);
+                future = task.loadUrl(newLayer, url, monitor);
             } catch (IllegalArgumentException e) {
                 Main.error(e);
             }
diff --git a/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java b/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
index 9c6673a..f4bd065 100644
--- a/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
+++ b/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
@@ -303,7 +303,7 @@ public final class OrthogonalizeAction extends JosmAction {
 
         // rotate
         for (Node n: allNodes) {
-            EastNorth tmp = EN.rotate_cc(pivot, n.getEastNorth(), - headingAll);
+            EastNorth tmp = EN.rotateCC(pivot, n.getEastNorth(), - headingAll);
             nX.put(n, tmp.east());
             nY.put(n, tmp.north());
         }
@@ -383,7 +383,7 @@ public final class OrthogonalizeAction extends JosmAction {
         final Collection<Command> commands = new LinkedList<>();
         for (Node n: allNodes) {
             EastNorth tmp = new EastNorth(nX.get(n), nY.get(n));
-            tmp = EN.rotate_cc(pivot, tmp, headingAll);
+            tmp = EN.rotateCC(pivot, tmp, headingAll);
             final double dx = tmp.east()  - n.getEastNorth().east();
             final double dy = tmp.north() - n.getEastNorth().north();
             if (headingNodes.contains(n)) { // The heading nodes should not have changed
@@ -417,11 +417,13 @@ public final class OrthogonalizeAction extends JosmAction {
             nNode = way.getNodes().size();
             nSeg = nNode - 1;
         }
+
         /**
          * Estimate the direction of the segments, given the first segment points in the
          * direction <code>pInitialDirection</code>.
          * Then sum up all horizontal / vertical segments to have a good guess for the
          * heading of the entire way.
+         * @param pInitialDirection initial direction
          * @throws InvalidUserInputException
          */
         public void calcDirections(Direction pInitialDirection) throws InvalidUserInputException {
@@ -521,8 +523,10 @@ public final class OrthogonalizeAction extends JosmAction {
         private EN() {
             // Hide implicit public constructor for utility class
         }
-        // rotate counter-clock-wise
-        public static EastNorth rotate_cc(EastNorth pivot, EastNorth en, double angle) {
+        /**
+         * Rotate counter-clock-wise.
+         */
+        public static EastNorth rotateCC(EastNorth pivot, EastNorth en, double angle) {
             double cosPhi = Math.cos(angle);
             double sinPhi = Math.sin(angle);
             double x = en.east() - pivot.east();
diff --git a/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java b/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java
index 921bf0d..016ad44 100644
--- a/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java
+++ b/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java
@@ -1,6 +1,11 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.actions;
 
+import java.awt.event.ActionEvent;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.TreeMap;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.osm.BBox;
@@ -11,11 +16,6 @@ import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.tools.Geometry;
 
-import java.awt.event.ActionEvent;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.TreeMap;
-
 /**
  * This allows to select a polygon/multipolgon by an internal point.
  */
@@ -71,7 +71,7 @@ public class SelectByInternalPointAction extends JosmAction {
     }
 
     /**
-     * Select a polygon or multipolgon by an internal point.
+     * Select a polygon or multipolygon by an internal point.
      *
      * @param internalPoint the internal point.
      * @param doAdd         whether to add selected polygon to the current selection.
diff --git a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
index 675e85d..960cb14 100644
--- a/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
+++ b/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
@@ -14,6 +14,7 @@ import java.util.regex.Pattern;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.DataSource;
+import org.openstreetmap.josm.data.ProjectionBounds;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
@@ -249,14 +250,21 @@ public class DownloadOsmTask extends AbstractDownloadTask {
             return createNewLayer(null);
         }
 
-        protected void computeBboxAndCenterScale(Bounds bounds) {
+        protected ProjectionBounds computeBbox(Bounds bounds) {
             BoundingXYVisitor v = new BoundingXYVisitor();
             if (bounds != null) {
                 v.visit(bounds);
             } else {
                 v.computeBoundingBox(dataSet.getNodes());
             }
-            Main.map.mapView.recalculateCenterScale(v);
+            return v.getBounds();
+        }
+
+        protected void computeBboxAndCenterScale(Bounds bounds) {
+            ProjectionBounds pb = computeBbox(bounds);
+            BoundingXYVisitor v = new BoundingXYVisitor();
+            v.visit(pb);
+            Main.map.mapView.zoomTo(v);
         }
 
         protected OsmDataLayer addNewLayerIfRequired(String newLayerName, Bounds bounds) {
@@ -266,15 +274,7 @@ public class DownloadOsmTask extends AbstractDownloadTask {
                 // or it is not clear which layer to merge to
                 //
                 final OsmDataLayer layer = createNewLayer(newLayerName);
-                final boolean isDisplayingMapView = Main.isDisplayingMapView();
-
-                Main.main.addLayer(layer);
-
-                // If the mapView is not there yet, we cannot calculate the bounds (see constructor of MapView).
-                // Otherwise jump to the current download.
-                if (isDisplayingMapView) {
-                    computeBboxAndCenterScale(bounds);
-                }
+                Main.main.addLayer(layer, computeBbox(bounds));
                 return layer;
             }
             return null;
diff --git a/src/org/openstreetmap/josm/actions/mapmode/AddNoteAction.java b/src/org/openstreetmap/josm/actions/mapmode/AddNoteAction.java
index ac9ed64..c3441bf 100644
--- a/src/org/openstreetmap/josm/actions/mapmode/AddNoteAction.java
+++ b/src/org/openstreetmap/josm/actions/mapmode/AddNoteAction.java
@@ -13,7 +13,8 @@ import org.openstreetmap.josm.data.osm.NoteData;
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.NoteInputDialog;
 import org.openstreetmap.josm.gui.Notification;
-import org.openstreetmap.josm.gui.dialogs.NoteDialog;
+import org.openstreetmap.josm.gui.dialogs.NotesDialog;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.ImageProvider;
 
 /**
@@ -33,9 +34,7 @@ public class AddNoteAction extends MapMode {
         super(tr("Add a new Note"), "addnote.png",
             tr("Add note mode"),
             mapFrame, ImageProvider.getCursor("crosshair", "create_note"));
-        if (data == null) {
-            throw new IllegalArgumentException("Note data must not be null");
-        }
+        CheckParameterUtil.ensureParameterNotNull(data, "data");
         noteData = data;
     }
 
@@ -62,7 +61,7 @@ public class AddNoteAction extends MapMode {
         LatLon latlon = Main.map.mapView.getLatLon(e.getPoint().x, e.getPoint().y);
 
         NoteInputDialog dialog = new NoteInputDialog(Main.parent, tr("Create new note"), tr("Create note"));
-        dialog.showNoteDialog(tr("Enter a detailed comment to create a note"), NoteDialog.ICON_NEW);
+        dialog.showNoteDialog(tr("Enter a detailed comment to create a note"), NotesDialog.ICON_NEW);
 
         if (dialog.getValue() != 1) {
             Main.debug("User aborted note creation");
diff --git a/src/org/openstreetmap/josm/actions/upload/FixDataHook.java b/src/org/openstreetmap/josm/actions/upload/FixDataHook.java
index c9c45ea..b1de040 100644
--- a/src/org/openstreetmap/josm/actions/upload/FixDataHook.java
+++ b/src/org/openstreetmap/josm/actions/upload/FixDataHook.java
@@ -79,8 +79,8 @@ public class FixDataHook implements UploadHook {
             for (Entry<String, String> e : keys.entrySet()) {
                 String v = Tag.removeWhiteSpaces(e.getValue());
                 String k = Tag.removeWhiteSpaces(e.getKey());
+                boolean drop = k.isEmpty() || v.isEmpty();
                 if(!e.getKey().equals(k)) {
-                    boolean drop = k.isEmpty() || v.isEmpty();
                     if(drop || !keys.containsKey(k)) {
                         newKeys.remove(e.getKey());
                         if(!drop)
@@ -91,6 +91,8 @@ public class FixDataHook implements UploadHook {
                         newKeys.remove(k);
                     else
                         newKeys.put(k, v);
+                } else if (drop) {
+                    newKeys.remove(e.getKey());
                 }
             }
             boolean changed = !keys.equals(newKeys);
diff --git a/src/org/openstreetmap/josm/corrector/ReverseWayNoTagCorrector.java b/src/org/openstreetmap/josm/corrector/ReverseWayNoTagCorrector.java
index a0cc978..6fc84cf 100644
--- a/src/org/openstreetmap/josm/corrector/ReverseWayNoTagCorrector.java
+++ b/src/org/openstreetmap/josm/corrector/ReverseWayNoTagCorrector.java
@@ -28,7 +28,7 @@ public final class ReverseWayNoTagCorrector {
     private ReverseWayNoTagCorrector() {
         // Hide default constructor for utils classes
     }
-    
+
     /**
      * Tags that imply a semantic meaning from the way direction and cannot be changed.
      */
@@ -44,7 +44,7 @@ public final class ReverseWayNoTagCorrector {
             new Tag("waterway", "drain"),
             new Tag("waterway", "canal")
     }));
-    
+
     /**
      * Replies the tags that imply a semantic meaning from <code>way</code> direction and cannot be changed.
      * @param way The way to look for
@@ -53,7 +53,7 @@ public final class ReverseWayNoTagCorrector {
     public static final TagCollection getDirectionalTags(Way way) {
         return directionalTags.intersect(TagCollection.from(way));
     }
-    
+
     /**
      * Tests whether way can be reversed without semantic change.
      * Looks for tags like natural=cliff, barrier=retaining_wall.
@@ -63,7 +63,7 @@ public final class ReverseWayNoTagCorrector {
     public static boolean isReversible(Way way) {
         return getDirectionalTags(way).isEmpty();
     }
-    
+
     protected static String getHTML(TagCollection tags) {
         if (tags.size() == 1) {
             return tags.iterator().next().toString();
@@ -73,7 +73,7 @@ public final class ReverseWayNoTagCorrector {
             return "";
         }
     }
-    
+
     protected static boolean confirmReverseWay(Way way, TagCollection tags) {
         String msg = trn(
                 // Singular, if a single tag is impacted
@@ -99,12 +99,14 @@ public final class ReverseWayNoTagCorrector {
                 null
         );
         switch(ret) {
-            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION : return true;
-            case JOptionPane.YES_OPTION: return true;
-            default: return false;
+            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION:
+            case JOptionPane.YES_OPTION:
+                return true;
+            default:
+                return false;
         }
     }
-    
+
     /**
      * Checks the given way can be safely reversed and asks user to confirm the operation if it not the case.
      * @param way The way to check
diff --git a/src/org/openstreetmap/josm/data/AutosaveTask.java b/src/org/openstreetmap/josm/data/AutosaveTask.java
index 587a1f4..6e8cc08 100644
--- a/src/org/openstreetmap/josm/data/AutosaveTask.java
+++ b/src/org/openstreetmap/josm/data/AutosaveTask.java
@@ -84,8 +84,8 @@ public class AutosaveTask extends TimerTask implements LayerChangeListener, List
     private final Object layersLock = new Object();
     private final Deque<File> deletedLayers = new LinkedList<>();
 
-    private final File autosaveDir = new File(Main.pref.getPreferencesDir() + AUTOSAVE_DIR);
-    private final File deletedLayersDir = new File(Main.pref.getPreferencesDir() + DELETED_LAYERS_DIR);
+    private final File autosaveDir = new File(Main.pref.getUserDataDirectory(), AUTOSAVE_DIR);
+    private final File deletedLayersDir = new File(Main.pref.getUserDataDirectory(), DELETED_LAYERS_DIR);
 
     public void schedule() {
         if (PROP_INTERVAL.get() > 0) {
@@ -158,7 +158,7 @@ public class AutosaveTask extends TimerTask implements LayerChangeListener, List
                     File pidFile = new File(autosaveDir, filename+".pid");
                     try (PrintStream ps = new PrintStream(pidFile, "UTF-8")) {
                         ps.println(ManagementFactory.getRuntimeMXBean().getName());
-                    } catch (Throwable t) {
+                    } catch (Exception t) {
                         Main.error(t);
                     }
                     return result;
@@ -208,7 +208,7 @@ public class AutosaveTask extends TimerTask implements LayerChangeListener, List
                 if (PROP_NOTIFICATION.get() && !layersInfo.isEmpty()) {
                     displayNotification();
                 }
-            } catch (Throwable t) {
+            } catch (Exception t) {
                 // Don't let exception stop time thread
                 Main.error("Autosave failed:");
                 Main.error(t);
@@ -307,7 +307,7 @@ public class AutosaveTask extends TimerTask implements LayerChangeListener, List
                             String pid = jvmId.split("@")[0];
                             skipFile = jvmPerfDataFileExists(pid);
                         }
-                    } catch (Throwable t) {
+                    } catch (Exception t) {
                         Main.error(t);
                     }
                 }
diff --git a/src/org/openstreetmap/josm/data/CustomConfigurator.java b/src/org/openstreetmap/josm/data/CustomConfigurator.java
index 2bb9cd9..ea3fc24 100644
--- a/src/org/openstreetmap/josm/data/CustomConfigurator.java
+++ b/src/org/openstreetmap/josm/data/CustomConfigurator.java
@@ -156,7 +156,7 @@ public final class CustomConfigurator {
      * @param text - message to display, HTML allowed
      */
     public static void messageBox(String type, String text) {
-        if (type==null || type.length()==0) type="plain";
+        if (type==null || type.isEmpty()) type="plain";
 
         switch (type.charAt(0)) {
             case 'i': JOptionPane.showMessageDialog(Main.parent, text, tr("Information"), JOptionPane.INFORMATION_MESSAGE); break;
@@ -389,17 +389,17 @@ public final class CustomConfigurator {
     }
 
     private static String getDirectoryByAbbr(String base) {
-            String dir;
-            if ("prefs".equals(base) || base.length()==0) {
-                dir = Main.pref.getPreferencesDir();
-            } else if ("cache".equals(base)) {
-                dir = Main.pref.getCacheDirectory().getAbsolutePath();
-            } else if ("plugins".equals(base)) {
-                dir = Main.pref.getPluginsDirectory().getAbsolutePath();
-            } else {
-                dir = null;
-            }
-            return dir;
+        String dir;
+        if ("prefs".equals(base) || base.isEmpty()) {
+            dir = Main.pref.getPreferencesDirectory().getAbsolutePath();
+        } else if ("cache".equals(base)) {
+            dir = Main.pref.getCacheDirectory().getAbsolutePath();
+        } else if ("plugins".equals(base)) {
+            dir = Main.pref.getPluginsDirectory().getAbsolutePath();
+        } else {
+            dir = null;
+        }
+        return dir;
     }
 
     public static Preferences clonePreferences(Preferences pref) {
@@ -458,7 +458,7 @@ public final class CustomConfigurator {
                 engine = new ScriptEngineManager().getEngineByName("rhino");
                 engine.eval("API={}; API.pref={}; API.fragments={};");
 
-                engine.eval("homeDir='"+normalizeDirName(Main.pref.getPreferencesDir()) +"';");
+                engine.eval("homeDir='"+normalizeDirName(Main.pref.getPreferencesDirectory().getAbsolutePath()) +"';");
                 engine.eval("josmVersion="+Version.getInstance().getVersion()+";");
                 String className = CustomConfigurator.class.getName();
                 engine.eval("API.messageBox="+className+".messageBox");
@@ -628,7 +628,7 @@ public final class CustomConfigurator {
             String locText = evalVars(elem.getAttribute(LanguageInfo.getJOSMLocaleCode()+".text"));
             if (locText.length()>0) text=locText;
             String var = elem.getAttribute("var");
-            if (var.length()==0) var="result";
+            if (var.isEmpty()) var="result";
 
             String input = evalVars(elem.getAttribute("input"));
             if ("true".equals(input)) {
diff --git a/src/org/openstreetmap/josm/data/Preferences.java b/src/org/openstreetmap/josm/data/Preferences.java
index 60e25dc..77e57fc 100644
--- a/src/org/openstreetmap/josm/data/Preferences.java
+++ b/src/org/openstreetmap/josm/data/Preferences.java
@@ -21,6 +21,7 @@ import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
@@ -29,6 +30,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.ResourceBundle;
+import java.util.Set;
 import java.util.SortedMap;
 import java.util.TreeMap;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -83,14 +85,19 @@ public class Preferences {
     /**
      * Internal storage for the preference directory.
      * Do not access this variable directly!
-     * @see #getPreferencesDirFile()
+     * @see #getPreferencesDirectory()
      */
-    private File preferencesDirFile = null;
+    private File preferencesDir = null;
 
     /**
      * Internal storage for the cache directory.
      */
-    private File cacheDirFile = null;
+    private File cacheDir = null;
+
+    /**
+     * Internal storage for the user data directory.
+     */
+    private File userdataDir = null;
 
     /**
      * Determines if preferences file is saved each time a property is changed.
@@ -529,42 +536,70 @@ public class Preferences {
     /**
      * Returns the location of the user defined preferences directory
      * @return The location of the user defined preferences directory
+     * @deprecated use #getPreferencesDirectory() to access preferences directory
+     * or #getUserDataDirectory to access user data directory
      */
+    @Deprecated
     public String getPreferencesDir() {
-        final String path = getPreferencesDirFile().getPath();
+        final String path = getPreferencesDirectory().getPath();
         if (path.endsWith(File.separator))
             return path;
         return path + File.separator;
     }
 
     /**
-     * Returns the user defined preferences directory
-     * @return The user defined preferences directory
+     * Returns the user defined preferences directory, containing the preferences.xml file
+     * @return The user defined preferences directory, containing the preferences.xml file
+     * @since 7834
      */
-    public File getPreferencesDirFile() {
-        if (preferencesDirFile != null)
-            return preferencesDirFile;
+    public File getPreferencesDirectory() {
+        if (preferencesDir != null)
+            return preferencesDir;
         String path;
-        path = System.getProperty("josm.home");
+        path = System.getProperty("josm.pref");
         if (path != null) {
-            preferencesDirFile = new File(path).getAbsoluteFile();
+            preferencesDir = new File(path).getAbsoluteFile();
         } else {
-            path = System.getenv("APPDATA");
+            path = System.getProperty("josm.home");
             if (path != null) {
-                preferencesDirFile = new File(path, "JOSM");
+                preferencesDir = new File(path).getAbsoluteFile();
             } else {
-                preferencesDirFile = new File(System.getProperty("user.home"), ".josm");
+                preferencesDir = Main.platform.getDefaultPrefDirectory();
             }
         }
-        return preferencesDirFile;
+        return preferencesDir;
     }
 
     /**
-     * Returns the user preferences file
-     * @return The user preferences file
+     * Returns the user data directory, containing autosave, plugins, etc.
+     * Depending on the OS it may be the same directory as preferences directory.
+     * @return The user data directory, containing autosave, plugins, etc.
+     * @since 7834
+     */
+    public File getUserDataDirectory() {
+        if (userdataDir != null)
+            return userdataDir;
+        String path;
+        path = System.getProperty("josm.userdata");
+        if (path != null) {
+            userdataDir = new File(path).getAbsoluteFile();
+        } else {
+            path = System.getProperty("josm.home");
+            if (path != null) {
+                userdataDir = new File(path).getAbsoluteFile();
+            } else {
+                userdataDir = Main.platform.getDefaultUserDataDirectory();
+            }
+        }
+        return userdataDir;
+    }
+
+    /**
+     * Returns the user preferences file (preferences.xml)
+     * @return The user preferences file (preferences.xml)
      */
     public File getPreferenceFile() {
-        return new File(getPreferencesDirFile(), "preferences.xml");
+        return new File(getPreferencesDirectory(), "preferences.xml");
     }
 
     /**
@@ -572,7 +607,7 @@ public class Preferences {
      * @return The user plugin directory
      */
     public File getPluginsDirectory() {
-        return new File(getPreferencesDirFile(), "plugins");
+        return new File(getUserDataDirectory(), "plugins");
     }
 
     /**
@@ -584,61 +619,69 @@ public class Preferences {
      * @return the cache directory
      */
     public File getCacheDirectory() {
-        if (cacheDirFile != null)
-            return cacheDirFile;
+        if (cacheDir != null)
+            return cacheDir;
         String path = System.getProperty("josm.cache");
         if (path != null) {
-            cacheDirFile = new File(path).getAbsoluteFile();
+            cacheDir = new File(path).getAbsoluteFile();
         } else {
-            path = get("cache.folder", null);
+            path = System.getProperty("josm.home");
             if (path != null) {
-                cacheDirFile = new File(path);
+                cacheDir = new File(path, "cache");
             } else {
-                cacheDirFile = new File(getPreferencesDirFile(), "cache");
+                path = get("cache.folder", null);
+                if (path != null) {
+                    cacheDir = new File(path).getAbsoluteFile();
+                } else {
+                    cacheDir = Main.platform.getDefaultCacheDirectory();
+                }
             }
         }
-        if (!cacheDirFile.exists() && !cacheDirFile.mkdirs()) {
-            Main.warn(tr("Failed to create missing cache directory: {0}", cacheDirFile.getAbsoluteFile()));
+        if (!cacheDir.exists() && !cacheDir.mkdirs()) {
+            Main.warn(tr("Failed to create missing cache directory: {0}", cacheDir.getAbsoluteFile()));
             JOptionPane.showMessageDialog(
                     Main.parent,
-                    tr("<html>Failed to create missing cache directory: {0}</html>", cacheDirFile.getAbsoluteFile()),
+                    tr("<html>Failed to create missing cache directory: {0}</html>", cacheDir.getAbsoluteFile()),
                     tr("Error"),
                     JOptionPane.ERROR_MESSAGE
             );
         }
-        return cacheDirFile;
+        return cacheDir;
     }
 
-    /**
-     * @return A list of all existing directories where resources could be stored.
-     */
-    public Collection<String> getAllPossiblePreferenceDirs() {
-        LinkedList<String> locations = new LinkedList<>();
-        locations.add(getPreferencesDir());
-        String s;
-        if ((s = System.getenv("JOSM_RESOURCES")) != null) {
+    private void addPossibleResourceDir(Set<String> locations, String s) {
+        if (s != null) {
             if (!s.endsWith(File.separator)) {
-                s = s + File.separator;
+                s += File.separator;
             }
             locations.add(s);
         }
-        if ((s = System.getProperty("josm.resources")) != null) {
-            if (!s.endsWith(File.separator)) {
-                s = s + File.separator;
+    }
+
+    /**
+     * Returns a set of all existing directories where resources could be stored.
+     * @return A set of all existing directories where resources could be stored.
+     */
+    public Collection<String> getAllPossiblePreferenceDirs() {
+        Set<String> locations = new HashSet<>();
+        addPossibleResourceDir(locations, getPreferencesDirectory().getPath());
+        addPossibleResourceDir(locations, getUserDataDirectory().getPath());
+        addPossibleResourceDir(locations, System.getenv("JOSM_RESOURCES"));
+        addPossibleResourceDir(locations, System.getProperty("josm.resources"));
+        if (Main.isPlatformWindows()) {
+            String appdata = System.getenv("APPDATA");
+            if (System.getenv("ALLUSERSPROFILE") != null && appdata != null
+                    && appdata.lastIndexOf(File.separator) != -1) {
+                appdata = appdata.substring(appdata.lastIndexOf(File.separator));
+                locations.add(new File(new File(System.getenv("ALLUSERSPROFILE"),
+                        appdata), "JOSM").getPath());
             }
-            locations.add(s);
+        } else {
+            locations.add("/usr/local/share/josm/");
+            locations.add("/usr/local/lib/josm/");
+            locations.add("/usr/share/josm/");
+            locations.add("/usr/lib/josm/");
         }
-        String appdata = System.getenv("APPDATA");
-        if (System.getenv("ALLUSERSPROFILE") != null && appdata != null
-                && appdata.lastIndexOf(File.separator) != -1) {
-            appdata = appdata.substring(appdata.lastIndexOf(File.separator));
-            locations.add(new File(new File(System.getenv("ALLUSERSPROFILE"),
-                    appdata), "JOSM").getPath());
-        }
-        locations.add("/usr/local/share/josm/");
-        locations.add("/usr/local/lib/josm/");
-        locations.add("/usr/share/josm/");
-        locations.add("/usr/lib/josm/");
         return locations;
     }
 
@@ -815,7 +858,7 @@ public class Preferences {
      */
     public void init(boolean reset) {
         // get the preferences.
-        File prefDir = getPreferencesDirFile();
+        File prefDir = getPreferencesDirectory();
         if (prefDir.exists()) {
             if(!prefDir.isDirectory()) {
                 Main.warn(tr("Failed to initialize preferences. Preference directory ''{0}'' is not a directory.", prefDir.getAbsoluteFile()));
@@ -1331,10 +1374,10 @@ public class Preferences {
     public void updateSystemProperties() {
         if(getBoolean("prefer.ipv6", false)) {
             // never set this to false, only true!
-            updateSystemProperty("java.net.preferIPv6Addresses", "true");
+            Utils.updateSystemProperty("java.net.preferIPv6Addresses", "true");
         }
-        updateSystemProperty("http.agent", Version.getInstance().getAgentString());
-        updateSystemProperty("user.language", get("language"));
+        Utils.updateSystemProperty("http.agent", Version.getInstance().getAgentString());
+        Utils.updateSystemProperty("user.language", get("language"));
         // Workaround to fix a Java bug.
         // Force AWT toolkit to update its internal preferences (fix #3645).
         // This ugly hack comes from Sun bug database: https://bugs.openjdk.java.net/browse/JDK-6292739
@@ -1348,35 +1391,15 @@ public class Preferences {
         // Workaround to fix a Java "feature"
         // See http://stackoverflow.com/q/7615645/2257172 and #9875
         if (getBoolean("jdk.tls.disableSNIExtension", true)) {
-            updateSystemProperty("jsse.enableSNIExtension", "false");
+            Utils.updateSystemProperty("jsse.enableSNIExtension", "false");
         }
         // Workaround to fix another Java bug
         // Force Java 7 to use old sorting algorithm of Arrays.sort (fix #8712).
         // See Oracle bug database: https://bugs.openjdk.java.net/browse/JDK-7075600
         // and https://bugs.openjdk.java.net/browse/JDK-6923200
         if (getBoolean("jdk.Arrays.useLegacyMergeSort", !Version.getInstance().isLocalBuild())) {
-            updateSystemProperty("java.util.Arrays.useLegacyMergeSort", "true");
-        }
-    }
-
-    /**
-     * Updates a given system property.
-     * @param key The property key
-     * @param value The property value
-     * @return the previous value of the system property, or {@code null} if it did not have one.
-     * @since 6851
-     */
-    public static String updateSystemProperty(String key, String value) {
-        if (value != null) {
-            String old = System.setProperty(key, value);
-            if (!key.toLowerCase().contains("password")) {
-                Main.debug("System property '"+key+"' set to '"+value+"'. Old value was '"+old+"'");
-            } else {
-                Main.debug("System property '"+key+"' changed.");
-            }
-            return old;
+            Utils.updateSystemProperty("java.util.Arrays.useLegacyMergeSort", "true");
         }
-        return null;
     }
 
     /**
diff --git a/src/org/openstreetmap/josm/data/ProjectionBounds.java b/src/org/openstreetmap/josm/data/ProjectionBounds.java
index 8f129ef..6ace11d 100644
--- a/src/org/openstreetmap/josm/data/ProjectionBounds.java
+++ b/src/org/openstreetmap/josm/data/ProjectionBounds.java
@@ -83,4 +83,7 @@ public class ProjectionBounds {
         return new EastNorth(maxEast, maxNorth);
     }
 
+    public boolean hasExtend() {
+        return minEast != maxEast || minNorth != maxNorth;
+    }
 }
diff --git a/src/org/openstreetmap/josm/data/ViewportData.java b/src/org/openstreetmap/josm/data/ViewportData.java
index b00a80e..d31ee19 100644
--- a/src/org/openstreetmap/josm/data/ViewportData.java
+++ b/src/org/openstreetmap/josm/data/ViewportData.java
@@ -2,15 +2,25 @@
 package org.openstreetmap.josm.data;
 
 import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 
 /**
- * Simple data class that keeps map center and scale in one object.
+ * Data class to keep viewport information.
+ *
+ * This can be either a combination of map center and map scale or
+ * a rectangle in east-north coordinate space.
+ *
+ * Either of those will be null, so the consumer of the ViewportData
+ * object has to check, which one is set.
+ *
  * @since 5670 (creation)
- * @since 6992 (extraction in this package) 
+ * @since 6992 (extraction in this package)
  */
 public class ViewportData {
-    private EastNorth center;
-    private Double scale;
+    private final EastNorth center;
+    private final Double scale;
+
+    private final ProjectionBounds bounds;
 
     /**
      * Constructs a new {@code ViewportData}.
@@ -18,8 +28,18 @@ public class ViewportData {
      * @param scale Scale factor in east-/north-units per pixel
      */
     public ViewportData(EastNorth center, Double scale) {
+        CheckParameterUtil.ensureParameterNotNull(center);
+        CheckParameterUtil.ensureParameterNotNull(scale);
         this.center = center;
         this.scale = scale;
+        this.bounds = null;
+    }
+
+    public ViewportData(ProjectionBounds bounds) {
+        CheckParameterUtil.ensureParameterNotNull(bounds);
+        this.center = null;
+        this.scale = null;
+        this.bounds = bounds;
     }
 
     /**
@@ -37,4 +57,12 @@ public class ViewportData {
     public Double getScale() {
         return scale;
     }
+
+    /**
+     * Return the bounds in east-north coordinate space.
+     * @return the bounds
+     */
+    public ProjectionBounds getBounds() {
+        return bounds;
+    }
 }
diff --git a/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java b/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java
index 80fac83..455c45b 100644
--- a/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java
+++ b/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java
@@ -17,6 +17,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 
+import org.openstreetmap.josm.tools.Utils;
+
 /**
 * Abstract class to represent common features of the datatypes primitives.
 *
@@ -508,7 +510,7 @@ public abstract class AbstractPrimitive implements IPrimitive {
      * Set the given value to the given key. If key is null, does nothing. If value is null,
      * removes the key and behaves like {@link #remove(String)}.
      *
-     * @param key  The key, for which the value is to be set. Can be null, does nothing in this case.
+     * @param key  The key, for which the value is to be set. Can be null or empty, does nothing in this case.
      * @param value The value for the key. If null, removes the respective key/value pair.
      *
      * @see #remove(String)
@@ -516,7 +518,7 @@ public abstract class AbstractPrimitive implements IPrimitive {
     @Override
     public void put(String key, String value) {
         Map<String, String> originalKeys = getKeys();
-        if (key == null)
+        if (key == null || Utils.strip(key).isEmpty())
             return;
         else if (value == null) {
             remove(key);
diff --git a/src/org/openstreetmap/josm/data/osm/DataSet.java b/src/org/openstreetmap/josm/data/osm/DataSet.java
index 82b04a3..18a6bfa 100644
--- a/src/org/openstreetmap/josm/data/osm/DataSet.java
+++ b/src/org/openstreetmap/josm/data/osm/DataSet.java
@@ -25,6 +25,7 @@ import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.Data;
 import org.openstreetmap.josm.data.DataSource;
+import org.openstreetmap.josm.data.ProjectionBounds;
 import org.openstreetmap.josm.data.SelectionChangedListener;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -38,6 +39,7 @@ import org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent;
 import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent;
 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
+import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.data.projection.ProjectionChangeListener;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
@@ -1347,4 +1349,16 @@ public final class DataSet implements Data, Cloneable, ProjectionChangeListener
     public void projectionChanged(Projection oldValue, Projection newValue) {
         invalidateEastNorthCache();
     }
+
+    public ProjectionBounds getDataSourceBoundingBox() {
+        BoundingXYVisitor bbox = new BoundingXYVisitor();
+        for (DataSource source : dataSources) {
+            bbox.visit(source.bounds);
+        }
+        if (bbox.hasExtend()) {
+            return bbox.getBounds();
+        }
+        return null;
+    }
+
 }
diff --git a/src/org/openstreetmap/josm/data/osm/DatasetConsistencyTest.java b/src/org/openstreetmap/josm/data/osm/DatasetConsistencyTest.java
index 7276a02..48f1cc5 100644
--- a/src/org/openstreetmap/josm/data/osm/DatasetConsistencyTest.java
+++ b/src/org/openstreetmap/josm/data/osm/DatasetConsistencyTest.java
@@ -91,7 +91,7 @@ public class DatasetConsistencyTest {
     public void checkCompleteNodesWithoutCoordinates() {
         long startTime = System.currentTimeMillis();
         for (Node node : dataSet.getNodes()) {
-            if (!node.isIncomplete() && node.isVisible() && (node.getCoor() == null || node.getEastNorth() == null)) {
+            if (!node.isIncomplete() && node.isVisible() && !node.isLatLonKnown()) {
                 printError("COMPLETE WITHOUT COORDINATES", "%s is not incomplete but has null coordinates", node);
             }
         }
diff --git a/src/org/openstreetmap/josm/data/osm/Node.java b/src/org/openstreetmap/josm/data/osm/Node.java
index 7c475fe..5422325 100644
--- a/src/org/openstreetmap/josm/data/osm/Node.java
+++ b/src/org/openstreetmap/josm/data/osm/Node.java
@@ -34,7 +34,12 @@ public final class Node extends OsmPrimitive implements INode {
     private double east = Double.NaN;
     private double north = Double.NaN;
 
-    private boolean isLatLonKnown() {
+    /**
+     * Determines if this node has valid coordinates.
+     * @return {@code true} if this node has valid coordinates
+     * @since 7828
+     */
+    public final boolean isLatLonKnown() {
         return !Double.isNaN(lat) && !Double.isNaN(lon);
     }
 
@@ -197,7 +202,7 @@ public final class Node extends OsmPrimitive implements INode {
     @Override
     void setDataset(DataSet dataSet) {
         super.setDataset(dataSet);
-        if (!isIncomplete() && isVisible() && (getCoor() == null || getEastNorth() == null))
+        if (!isIncomplete() && isVisible() && !isLatLonKnown())
             throw new DataIntegrityProblemException("Complete node with null coordinates: " + toString());
     }
 
diff --git a/src/org/openstreetmap/josm/data/osm/NoteData.java b/src/org/openstreetmap/josm/data/osm/NoteData.java
index 034a229..d991d08 100644
--- a/src/org/openstreetmap/josm/data/osm/NoteData.java
+++ b/src/org/openstreetmap/josm/data/osm/NoteData.java
@@ -2,6 +2,8 @@
 package org.openstreetmap.josm.data.osm;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -22,6 +24,64 @@ public class NoteData {
 
     private final List<Note> noteList;
     private Note selectedNote = null;
+    private Comparator<Note> comparator = DEFAULT_COMPARATOR;
+
+    /**
+     * Sorts notes in the following order:
+     * 1) Open notes
+     * 2) Closed notes
+     * 3) New notes
+     * Within each subgroup it sorts by ID
+     */
+    public static final Comparator<Note> DEFAULT_COMPARATOR = new Comparator<Note>() {
+        @Override
+        public int compare(Note n1, Note n2) {
+            if (n1.getId() < 0 && n2.getId() > 0) {
+                return 1;
+            }
+            if (n1.getId() > 0 && n2.getId() < 0) {
+                return -1;
+            }
+            if (n1.getState() == State.closed && n2.getState() == State.open) {
+                return 1;
+            }
+            if (n1.getState() == State.open && n2.getState() == State.closed) {
+                return -1;
+            }
+            return Long.valueOf(Math.abs(n1.getId())).compareTo(Long.valueOf(Math.abs(n2.getId())));
+        }
+    };
+
+    /** Sorts notes strictly by creation date */
+    public static final Comparator<Note> DATE_COMPARATOR = new Comparator<Note>() {
+        @Override
+        public int compare(Note n1, Note n2) {
+            return n1.getCreatedAt().compareTo(n2.getCreatedAt());
+        }
+    };
+
+    /** Sorts notes by user, then creation date */
+    public static final Comparator<Note> USER_COMPARATOR = new Comparator<Note>() {
+        @Override
+        public int compare(Note n1, Note n2) {
+            String n1User = n1.getFirstComment().getUser().getName();
+            String n2User = n2.getFirstComment().getUser().getName();
+            if (n1User.equals(n2User)) {
+                return n1.getCreatedAt().compareTo(n2.getCreatedAt());
+            }
+            return n1.getFirstComment().getUser().getName().compareTo(n2.getFirstComment().getUser().getName());
+        }
+    };
+
+    /** Sorts notes by the last modified date */
+    public static final Comparator<Note> LAST_ACTION_COMPARATOR = new Comparator<Note>() {
+        @Override
+        public int compare(Note n1, Note n2) {
+            Date n1Date = n1.getComments().get(n1.getComments().size()-1).getCommentTimestamp();
+            Date n2Date = n2.getComments().get(n2.getComments().size()-1).getCommentTimestamp();
+            return n1Date.compareTo(n2Date);
+        }
+    };
 
     /**
      * Construct a new note container with an empty note list
@@ -36,6 +96,7 @@ public class NoteData {
      */
     public NoteData(List<Note> notes) {
         noteList = notes;
+        Collections.sort(notes, comparator);
         for (Note note : notes) {
             if (note.getId() <= newNoteId) {
                 newNoteId = note.getId() - 1;
@@ -194,6 +255,7 @@ public class NoteData {
     }
 
     private void dataUpdated() {
+        Collections.sort(noteList, comparator);
         Main.map.noteDialog.setNoteList(noteList);
         Main.map.mapView.repaint();
     }
@@ -216,4 +278,18 @@ public class NoteData {
         }
         dataUpdated();
     }
+
+    /** @return The current comparator being used to sort the note list */
+    public Comparator<Note> getCurrentSortMethod() {
+        return comparator;
+    }
+
+    /** Set the comparator to be used to sort the note list. Several are available
+     * as public static members of this class.
+     * @param comparator - The Note comparator to sort by
+     */
+    public void setSortMethod(Comparator<Note> comparator) {
+        this.comparator = comparator;
+        dataUpdated();
+    }
 }
diff --git a/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java b/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java
index 981bb7f..0953431 100644
--- a/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java
+++ b/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java
@@ -46,14 +46,21 @@ public enum OsmPrimitiveType {
         for (OsmPrimitiveType type : OsmPrimitiveType.values()) {
             if (type.getAPIName().equals(typeName)) return type;
         }
-        throw new IllegalArgumentException(MessageFormat.format("Parameter ''{0}'' is not a valid type name. Got ''{1}''.", "typeName", typeName));
+        throw new IllegalArgumentException(MessageFormat.format(
+                "Parameter ''{0}'' is not a valid type name. Got ''{1}''.", "typeName", typeName));
     }
 
+    /**
+     * Determines the OSM primitive type of the given object.
+     * @param obj the OSM object to inspect
+     * @return the OSM primitive type of {@code obj}
+     * @throws IllegalArgumentException if {@code obj} is null or of unknown type
+     */
     public static OsmPrimitiveType from(IPrimitive obj) {
         if (obj instanceof INode) return NODE;
         if (obj instanceof IWay) return WAY;
         if (obj instanceof IRelation) return RELATION;
-        throw new IllegalArgumentException();
+        throw new IllegalArgumentException("Unknown type: "+obj);
     }
 
     public static OsmPrimitiveType from(String value) {
diff --git a/src/org/openstreetmap/josm/data/osm/OsmUtils.java b/src/org/openstreetmap/josm/data/osm/OsmUtils.java
index 6a3af8b..fe9da98 100644
--- a/src/org/openstreetmap/josm/data/osm/OsmUtils.java
+++ b/src/org/openstreetmap/josm/data/osm/OsmUtils.java
@@ -7,6 +7,7 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.TextTagParser;
 
@@ -64,7 +65,7 @@ public final class OsmUtils {
         CheckParameterUtil.ensureParameterNotNull(assertion, "assertion");
         final String[] x = assertion.split("\\s+", 2);
         final OsmPrimitive p = "n".equals(x[0]) || "node".equals(x[0])
-                ? new Node()
+                ? new Node(LatLon.ZERO)
                 : "w".equals(x[0]) || "way".equals(x[0])
                 ? new Way()
                 : "r".equals(x[0]) || "relation".equals(x[0])
diff --git a/src/org/openstreetmap/josm/data/osm/Relation.java b/src/org/openstreetmap/josm/data/osm/Relation.java
index f9527f5..33e0297 100644
--- a/src/org/openstreetmap/josm/data/osm/Relation.java
+++ b/src/org/openstreetmap/josm/data/osm/Relation.java
@@ -474,7 +474,7 @@ public final class Relation extends OsmPrimitive implements IRelation {
     }
 
     @Override
-    public void setDataset(DataSet dataSet) {
+    void setDataset(DataSet dataSet) {
         super.setDataset(dataSet);
         checkMembers();
         bbox = null; // bbox might have changed if relation was in ds, was removed, modified, added back to dataset
diff --git a/src/org/openstreetmap/josm/data/osm/RelationMember.java b/src/org/openstreetmap/josm/data/osm/RelationMember.java
index 2657b4f..eb0ffba 100644
--- a/src/org/openstreetmap/josm/data/osm/RelationMember.java
+++ b/src/org/openstreetmap/josm/data/osm/RelationMember.java
@@ -3,6 +3,8 @@ package org.openstreetmap.josm.data.osm;
 
 import java.util.Arrays;
 
+import org.openstreetmap.josm.tools.CheckParameterUtil;
+
 /**
  * A linkage class that can be used by an relation to keep a list of
  * members. Since membership may be qualified by a "role", a simple
@@ -127,12 +129,11 @@ public class RelationMember implements PrimitiveId {
      * @param member Cannot be null
      * @throws IllegalArgumentException thrown if member is <code>null</code>
      */
-    public RelationMember(String role, OsmPrimitive member) throws IllegalArgumentException{
+    public RelationMember(String role, OsmPrimitive member) {
+        CheckParameterUtil.ensureParameterNotNull(member, "member");
         if (role == null) {
             role = "";
         }
-        if (member == null)
-            throw new IllegalArgumentException("Relation member cannot be null");
         this.role = role;
         this.member = member;
     }
diff --git a/src/org/openstreetmap/josm/data/osm/Way.java b/src/org/openstreetmap/josm/data/osm/Way.java
index 71aabe5..386f27c 100644
--- a/src/org/openstreetmap/josm/data/osm/Way.java
+++ b/src/org/openstreetmap/josm/data/osm/Way.java
@@ -600,7 +600,7 @@ public final class Way extends OsmPrimitive implements IWay {
             }
             if (Main.pref.getBoolean("debug.checkNullCoor", true)) {
                 for (Node n: nodes) {
-                    if (n.isVisible() && !n.isIncomplete() && (n.getCoor() == null || n.getEastNorth() == null))
+                    if (n.isVisible() && !n.isIncomplete() && !n.isLatLonKnown())
                         throw new DataIntegrityProblemException("Complete visible node with null coordinates: " + toString(),
                                 "<html>" + tr("Complete node {0} with null coordinates in way {1}",
                                 DefaultNameFormatter.getInstance().formatAsHtmlUnorderedList(n),
@@ -618,7 +618,7 @@ public final class Way extends OsmPrimitive implements IWay {
     }
 
     @Override
-    public void setDataset(DataSet dataSet) {
+    void setDataset(DataSet dataSet) {
         super.setDataset(dataSet);
         checkNodes();
     }
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/BoundingXYVisitor.java b/src/org/openstreetmap/josm/data/osm/visitor/BoundingXYVisitor.java
index 6b298d1..3c45b28 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/BoundingXYVisitor.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/BoundingXYVisitor.java
@@ -84,9 +84,8 @@ public class BoundingXYVisitor extends AbstractVisitor {
         }
     }
 
-    public boolean hasExtend()
-    {
-        return bounds != null && !bounds.getMin().equals(bounds.getMax());
+    public boolean hasExtend() {
+        return bounds != null && bounds.hasExtend();
     }
 
     /**
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 a723378..0f288f3 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
@@ -1457,7 +1457,6 @@ public class StyledMapRenderer extends AbstractMapRenderer {
         private final int from;
         private final int to;
         private final List<StyleRecord> output;
-        private final DataSet data;
 
         private final ElemStyles styles = MapPaintStyles.getStyles();
 
@@ -1471,14 +1470,12 @@ public class StyledMapRenderer extends AbstractMapRenderer {
          * @param from first index of <code>input</code> to use
          * @param to last index + 1
          * @param output the list of styles to which styles will be added
-         * @param data the data set
          */
-        public ComputeStyleListWorker(final List<? extends OsmPrimitive> input, int from, int to, List<StyleRecord> output, DataSet data) {
+        public ComputeStyleListWorker(final List<? extends OsmPrimitive> input, int from, int to, List<StyleRecord> output) {
             this.input = input;
             this.from = from;
             this.to = to;
             this.output = output;
-            this.data = data;
             this.styles.setDrawMultipolygon(drawMultipolygon);
         }
 
@@ -1594,7 +1591,7 @@ public class StyledMapRenderer extends AbstractMapRenderer {
                 int from = i*bucketsize;
                 int to = Math.min((i+1)*bucketsize, prims.size());
                 List<StyleRecord> target = singleThread ? allStyleElems : new ArrayList<StyleRecord>(to - from);
-                tasks.add(new ComputeStyleListWorker(prims, from, to, target, data));
+                tasks.add(new ComputeStyleListWorker(prims, from, to, target));
             }
             if (singleThread) {
                 try {
diff --git a/src/org/openstreetmap/josm/data/validation/OsmValidator.java b/src/org/openstreetmap/josm/data/validation/OsmValidator.java
index 03b6059..a901201 100644
--- a/src/org/openstreetmap/josm/data/validation/OsmValidator.java
+++ b/src/org/openstreetmap/josm/data/validation/OsmValidator.java
@@ -153,7 +153,7 @@ public class OsmValidator implements LayerChangeListener {
      * @return The validator directory
      */
     public static String getValidatorDir() {
-        return Main.pref.getPreferencesDir() + "validator/";
+        return new File(Main.pref.getUserDataDirectory(), "validator").getAbsolutePath();
     }
 
     /**
@@ -173,7 +173,7 @@ public class OsmValidator implements LayerChangeListener {
     private void loadIgnoredErrors() {
         ignoredErrors.clear();
         if (Main.pref.getBoolean(ValidatorPreference.PREF_USE_IGNORE, true)) {
-            Path path = Paths.get(getValidatorDir() + "ignorederrors");
+            Path path = Paths.get(getValidatorDir()).resolve("ignorederrors");
             if (Files.exists(path)) {
                 try {
                     ignoredErrors.addAll(Files.readAllLines(path, StandardCharsets.UTF_8));
@@ -195,8 +195,8 @@ public class OsmValidator implements LayerChangeListener {
     }
 
     public static void saveIgnoredErrors() {
-        try (PrintWriter out = new PrintWriter(new OutputStreamWriter(
-                new FileOutputStream(getValidatorDir() + "ignorederrors"), StandardCharsets.UTF_8), false)) {
+        try (PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(
+                new File(getValidatorDir(), "ignorederrors")), StandardCharsets.UTF_8), false)) {
             for (String e : ignoredErrors) {
                 out.println(e);
             }
@@ -281,7 +281,7 @@ public class OsmValidator implements LayerChangeListener {
      * the original value fixed for EPSG:4326 (10000) using heuristics (that is, test&error
      * until most bugs were discovered while keeping the processing time reasonable)
      */
-    public final void initializeGridDetail() {
+    public static final void initializeGridDetail() {
         String code = Main.getProjection().toCode();
         if (Arrays.asList(ProjectionPreference.wgs84.allCodes()).contains(code)) {
             OsmValidator.griddetail = 10000;
diff --git a/src/org/openstreetmap/josm/data/validation/TestError.java b/src/org/openstreetmap/josm/data/validation/TestError.java
index fef299f..12a95e1 100644
--- a/src/org/openstreetmap/josm/data/validation/TestError.java
+++ b/src/org/openstreetmap/josm/data/validation/TestError.java
@@ -326,6 +326,6 @@ public class TestError implements Comparable<TestError>, DataSetListener {
 
     @Override
     public String toString() {
-        return "TestError [tester=" + tester + ", code=" + code + "]";
+        return "TestError [tester=" + tester + ", code=" + code + ", message=" + message + "]";
     }
 }
diff --git a/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java b/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java
index 9ca54e0..a5d45fa 100644
--- a/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java
+++ b/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java
@@ -17,7 +17,6 @@
 package org.openstreetmap.josm.data.validation.routines;
 
 import java.util.Arrays;
-import java.util.List;
 
 /**
  * <p><b>Domain name</b> validation routines.</p>
@@ -46,6 +45,8 @@ import java.util.List;
  *         (<code>.arpa</code>, etc.)</li>
  *     <li>{@link #isValidGenericTld} - validates generic TLDs
  *         (<code>.com, .org</code>, etc.)</li>
+ *     <li>{@link #isValidIdnTld} - validates IDN TLDs
+ *         (<code>.xn--*</code>, etc.)</li>
  *     <li>{@link #isValidCountryCodeTld} - validates country code TLDs
  *         (<code>.us, .uk, .cn</code>, etc.)</li>
  *   </ul>
@@ -56,7 +57,7 @@ import java.util.List;
  * {@link java.net.InetAddress} for that functionality.)
  * </p>
  *
- * @version $Revision: 1227719 $ $Date: 2012-01-05 18:45:51 +0100 (Thu, 05 Jan 2012) $
+ * @version $Revision: 1640271 $ $Date: 2014-11-18 02:32:15 2014 UTC (Tue, 18 Nov 2014) $
  * @since Validator 1.4
  */
 public class DomainValidator extends AbstractValidator {
@@ -64,8 +65,12 @@ public class DomainValidator extends AbstractValidator {
     // Regular expression strings for hostnames (derived from RFC2396 and RFC 1123)
     private static final String DOMAIN_LABEL_REGEX = "\\p{Alnum}(?>[\\p{Alnum}-]*\\p{Alnum})*";
     private static final String TOP_LABEL_REGEX = "\\p{Alpha}{2,}";
+    // JOSM PATCH BEGIN
+    // See #10862 - IDN TLDs in ASCII form
+    private static final String TOP_LABEL_IDN_REGEX = "(?:xn|XN)--\\p{Alnum}{2,}(?:-\\p{Alpha}{2,})?";
     private static final String DOMAIN_NAME_REGEX =
-            "^(?:" + DOMAIN_LABEL_REGEX + "\\.)+" + "(" + TOP_LABEL_REGEX + ")$";
+            "^(?:" + DOMAIN_LABEL_REGEX + "\\.)+" + "(" + TOP_LABEL_REGEX + "|" + TOP_LABEL_IDN_REGEX + ")$";
+    // JOSM PATCH END
 
     private final boolean allowLocal;
 
@@ -126,6 +131,7 @@ public class DomainValidator extends AbstractValidator {
      * @param domain the parameter to check for domain name syntax
      * @return true if the parameter is a valid domain name
      */
+    @Override
     public boolean isValid(String domain) {
         String[] groups = domainRegex.match(domain);
         if (groups != null && groups.length > 0) {
@@ -151,6 +157,7 @@ public class DomainValidator extends AbstractValidator {
         }
         return isValidInfrastructureTld(tld)
                 || isValidGenericTld(tld)
+                || isValidIdnTld(tld)
                 || isValidCountryCodeTld(tld);
     }
 
@@ -162,7 +169,7 @@ public class DomainValidator extends AbstractValidator {
      * @return true if the parameter is an infrastructure TLD
      */
     public boolean isValidInfrastructureTld(String iTld) {
-        return INFRASTRUCTURE_TLD_LIST.contains(chompLeadingDot(iTld.toLowerCase()));
+        return Arrays.binarySearch(INFRASTRUCTURE_TLDS, (chompLeadingDot(iTld.toLowerCase()))) >= 0;
     }
 
     /**
@@ -173,7 +180,18 @@ public class DomainValidator extends AbstractValidator {
      * @return true if the parameter is a generic TLD
      */
     public boolean isValidGenericTld(String gTld) {
-        return GENERIC_TLD_LIST.contains(chompLeadingDot(gTld.toLowerCase()));
+        return Arrays.binarySearch(GENERIC_TLDS, chompLeadingDot(gTld.toLowerCase())) >= 0;
+    }
+
+    /**
+     * Returns true if the specified <code>String</code> matches any
+     * IANA-defined IDN top-level domain. Leading dots are ignored
+     * if present. The search is case-sensitive.
+     * @param iTld the parameter to check for IDN TLD status
+     * @return true if the parameter is an IDN TLD
+     */
+    public boolean isValidIdnTld(String iTld) {
+        return Arrays.binarySearch(IDN_TLDS, chompLeadingDot(iTld.toUpperCase())) >= 0;
     }
 
     /**
@@ -184,7 +202,7 @@ public class DomainValidator extends AbstractValidator {
      * @return true if the parameter is a country code TLD
      */
     public boolean isValidCountryCodeTld(String ccTld) {
-        return COUNTRY_CODE_TLD_LIST.contains(chompLeadingDot(ccTld.toLowerCase()));
+        return Arrays.binarySearch(COUNTRY_CODE_TLDS, chompLeadingDot(ccTld.toLowerCase())) >= 0;
     }
 
     /**
@@ -195,7 +213,7 @@ public class DomainValidator extends AbstractValidator {
      * @return true if the parameter is an local TLD
      */
     public boolean isValidLocalTld(String iTld) {
-        return LOCAL_TLD_LIST.contains(chompLeadingDot(iTld.toLowerCase()));
+        return Arrays.binarySearch(LOCAL_TLDS, chompLeadingDot(iTld.toLowerCase())) >= 0;
     }
 
     private String chompLeadingDot(String str) {
@@ -217,27 +235,505 @@ public class DomainValidator extends AbstractValidator {
     };
 
     private static final String[] GENERIC_TLDS = new String[] {
-        "aero",               // air transport industry
-        "asia",               // Pan-Asia/Asia Pacific
-        "biz",                // businesses
-        "cat",                // Catalan linguistic/cultural community
-        "com",                // commercial enterprises
-        "coop",               // cooperative associations
-        "info",               // informational sites
-        "jobs",               // Human Resource managers
-        "mobi",               // mobile products and services
-        "museum",             // museums, surprisingly enough
-        "name",               // individuals' sites
-        "net",                // internet support infrastructure/business
-        "org",                // noncommercial organizations
-        "pro",                // credentialed professionals and entities
-        "tel",                // contact data for businesses and individuals
-        "travel",             // entities in the travel industry
-        "gov",                // United States Government
-        "edu",                // accredited postsecondary US education entities
-        "mil",                // United States Military
-        "int"                 // organizations established by international treaty
+        "abogado",
+        "academy",
+        "accountants",
+        "active",
+        "actor",
+        "aero",
+        "agency",
+        "airforce",
+        "allfinanz",
+        "alsace",
+        "archi",
+        "army",
+        "arpa",
+        "asia",
+        "associates",
+        "attorney",
+        "auction",
+        "audio",
+        "autos",
+        "axa",
+        "band",
+        "bar",
+        "bargains",
+        "bayern",
+        "beer",
+        "berlin",
+        "best",
+        "bid",
+        "bike",
+        "bio",
+        "biz",
+        "black",
+        "blackfriday",
+        "blue",
+        "bmw",
+        "bnpparibas",
+        "boo",
+        "boutique",
+        "brussels",
+        "budapest",
+        "build",
+        "builders",
+        "business",
+        "buzz",
+        "bzh",
+        "cab",
+        "cal",
+        "camera",
+        "camp",
+        "cancerresearch",
+        "capetown",
+        "capital",
+        "caravan",
+        "cards",
+        "care",
+        "career",
+        "careers",
+        "casa",
+        "cash",
+        "cat",
+        "catering",
+        "center",
+        "ceo",
+        "cern",
+        "channel",
+        "cheap",
+        "christmas",
+        "chrome",
+        "church",
+        "citic",
+        "city",
+        "claims",
+        "cleaning",
+        "click",
+        "clinic",
+        "clothing",
+        "club",
+        "codes",
+        "coffee",
+        "college",
+        "cologne",
+        "com",
+        "community",
+        "company",
+        "computer",
+        "condos",
+        "construction",
+        "consulting",
+        "contractors",
+        "cooking",
+        "cool",
+        "coop",
+        "country",
+        "credit",
+        "creditcard",
+        "crs",
+        "cruises",
+        "cuisinella",
+        "cymru",
+        "dad",
+        "dance",
+        "dating",
+        "day",
+        "deals",
+        "degree",
+        "democrat",
+        "dental",
+        "dentist",
+        "desi",
+        "diamonds",
+        "diet",
+        "digital",
+        "direct",
+        "directory",
+        "discount",
+        "dnp",
+        "domains",
+        "durban",
+        "dvag",
+        "eat",
+        "edu",
+        "education",
+        "email",
+        "engineer",
+        "engineering",
+        "enterprises",
+        "equipment",
+        "esq",
+        "estate",
+        "eus",
+        "events",
+        "exchange",
+        "expert",
+        "exposed",
+        "fail",
+        "farm",
+        "feedback",
+        "finance",
+        "financial",
+        "fish",
+        "fishing",
+        "fitness",
+        "flights",
+        "florist",
+        "flsmidth",
+        "fly",
+        "foo",
+        "forsale",
+        "foundation",
+        "frl",
+        "frogans",
+        "fund",
+        "furniture",
+        "futbol",
+        "gal",
+        "gallery",
+        "gbiz",
+        "gent",
+        "gift",
+        "gifts",
+        "gives",
+        "glass",
+        "gle",
+        "global",
+        "globo",
+        "gmail",
+        "gmo",
+        "gmx",
+        "google",
+        "gop",
+        "gov",
+        "graphics",
+        "gratis",
+        "green",
+        "gripe",
+        "guide",
+        "guitars",
+        "guru",
+        "hamburg",
+        "haus",
+        "healthcare",
+        "help",
+        "here",
+        "hiphop",
+        "hiv",
+        "holdings",
+        "holiday",
+        "homes",
+        "horse",
+        "host",
+        "hosting",
+        "house",
+        "how",
+        "ibm",
+        "immo",
+        "immobilien",
+        "industries",
+        "info",
+        "ing",
+        "ink",
+        "institute",
+        "insure",
+        "int",
+        "international",
+        "investments",
+        "jetzt",
+        "jobs",
+        "joburg",
+        "juegos",
+        "kaufen",
+        "kim",
+        "kitchen",
+        "kiwi",
+        "koeln",
+        "krd",
+        "kred",
+        "lacaixa",
+        "land",
+        "lawyer",
+        "lease",
+        "lgbt",
+        "life",
+        "lighting",
+        "limited",
+        "limo",
+        "link",
+        "loans",
+        "london",
+        "lotto",
+        "ltda",
+        "luxe",
+        "luxury",
+        "maison",
+        "management",
+        "mango",
+        "market",
+        "marketing",
+        "media",
+        "meet",
+        "melbourne",
+        "meme",
+        "menu",
+        "miami",
+        "mil",
+        "mini",
+        "mobi",
+        "moda",
+        "moe",
+        "monash",
+        "mortgage",
+        "moscow",
+        "motorcycles",
+        "mov",
+        "museum",
+        "nagoya",
+        "name",
+        "navy",
+        "net",
+        "network",
+        "neustar",
+        "new",
+        "nexus",
+        "ngo",
+        "nhk",
+        "ninja",
+        "nra",
+        "nrw",
+        "nyc",
+        "okinawa",
+        "ong",
+        "onl",
+        "ooo",
+        "org",
+        "organic",
+        "otsuka",
+        "ovh",
+        "paris",
+        "partners",
+        "parts",
+        "pharmacy",
+        "photo",
+        "photography",
+        "photos",
+        "physio",
+        "pics",
+        "pictures",
+        "pink",
+        "pizza",
+        "place",
+        "plumbing",
+        "pohl",
+        "poker",
+        "post",
+        "praxi",
+        "press",
+        "pro",
+        "prod",
+        "productions",
+        "prof",
+        "properties",
+        "property",
+        "pub",
+        "qpon",
+        "quebec",
+        "realtor",
+        "recipes",
+        "red",
+        "rehab",
+        "reise",
+        "reisen",
+        "ren",
+        "rentals",
+        "repair",
+        "report",
+        "republican",
+        "rest",
+        "restaurant",
+        "reviews",
+        "rich",
+        "rio",
+        "rip",
+        "rocks",
+        "rodeo",
+        "rsvp",
+        "ruhr",
+        "ryukyu",
+        "saarland",
+        "sarl",
+        "sca",
+        "scb",
+        "schmidt",
+        "schule",
+        "scot",
+        "services",
+        "sexy",
+        "shiksha",
+        "shoes",
+        "singles",
+        "social",
+        "software",
+        "sohu",
+        "solar",
+        "solutions",
+        "soy",
+        "space",
+        "spiegel",
+        "supplies",
+        "supply",
+        "support",
+        "surf",
+        "surgery",
+        "suzuki",
+        "systems",
+        "tatar",
+        "tattoo",
+        "tax",
+        "technology",
+        "tel",
+        "tienda",
+        "tips",
+        "tirol",
+        "today",
+        "tokyo",
+        "tools",
+        "top",
+        "town",
+        "toys",
+        "trade",
+        "training",
+        "travel",
+        "tui",
+        "university",
+        "uno",
+        "uol",
+        "vacations",
+        "vegas",
+        "ventures",
+        "versicherung",
+        "vet",
+        "viajes",
+        "villas",
+        "vision",
+        "vlaanderen",
+        "vodka",
+        "vote",
+        "voting",
+        "voto",
+        "voyage",
+        "wales",
+        "wang",
+        "watch",
+        "webcam",
+        "website",
+        "wed",
+        "wedding",
+        "whoswho",
+        "wien",
+        "wiki",
+        "williamhill",
+        "wme",
+        "work",
+        "works",
+        "world",
+        "wtc",
+        "wtf",
+        "xxx",
+        "xyz",
+        "yachts",
+        "yandex",
+        "yoga",
+        "yokohama",
+        "youtube",
+        "zip",
+        "zone",
+    };
+
+    // JOSM PATCH BEGIN
+    // see #10862 - list of IDN TLDs taken from IANA on 2014-12-18
+    private static final String[] IDN_TLDS = new String[] {
+        "XN--1QQW23A",
+        "XN--3BST00M",
+        "XN--3DS443G",
+        "XN--3E0B707E",
+        "XN--45BRJ9C",
+        "XN--45Q11C",
+        "XN--4GBRIM",
+        "XN--55QW42G",
+        "XN--55QX5D",
+        "XN--6FRZ82G",
+        "XN--6QQ986B3XL",
+        "XN--80ADXHKS",
+        "XN--80AO21A",
+        "XN--80ASEHDB",
+        "XN--80ASWG",
+        "XN--90A3AC",
+        "XN--C1AVG",
+        "XN--CG4BKI",
+        "XN--CLCHC0EA0B2G2A9GCD",
+        "XN--CZR694B",
+        "XN--CZRS0T",
+        "XN--CZRU2D",
+        "XN--D1ACJ3B",
+        "XN--D1ALF",
+        "XN--FIQ228C5HS",
+        "XN--FIQ64B",
+        "XN--FIQS8S",
+        "XN--FIQZ9S",
+        "XN--FLW351E",
+        "XN--FPCRJ9C3D",
+        "XN--FZC2C9E2C",
+        "XN--GECRJ9C",
+        "XN--H2BRJ9C",
+        "XN--HXT814E",
+        "XN--I1B6B1A6A2E",
+        "XN--IO0A7I",
+        "XN--J1AMH",
+        "XN--J6W193G",
+        "XN--KPRW13D",
+        "XN--KPRY57D",
+        "XN--KPUT3I",
+        "XN--L1ACC",
+        "XN--LGBBAT1AD8J",
+        "XN--MGB9AWBF",
+        "XN--MGBA3A4F16A",
+        "XN--MGBAAM7A8H",
+        "XN--MGBAB2BD",
+        "XN--MGBAYH7GPA",
+        "XN--MGBBH1A71E",
+        "XN--MGBC0A9AZCG",
+        "XN--MGBERP4A5D4AR",
+        "XN--MGBX4CD0AB",
+        "XN--NGBC5AZD",
+        "XN--NODE",
+        "XN--NQV7F",
+        "XN--NQV7FS00EMA",
+        "XN--O3CW4H",
+        "XN--OGBPF8FL",
+        "XN--P1ACF",
+        "XN--P1AI",
+        "XN--PGBS0DH",
+        "XN--Q9JYB4C",
+        "XN--QCKA1PMC",
+        "XN--RHQV96G",
+        "XN--S9BRJ9C",
+        "XN--SES554G",
+        "XN--UNUP4Y",
+        "XN--VERMGENSBERATER-CTB",
+        "XN--VERMGENSBERATUNG-PWB",
+        "XN--VHQUV",
+        "XN--WGBH1C",
+        "XN--WGBL6A",
+        "XN--XHQ521B",
+        "XN--XKC2AL3HYE2A",
+        "XN--XKC2DL3A5EE0H",
+        "XN--YFRO4I67O",
+        "XN--YGBI2AMMX",
+        "XN--ZFR164B",
     };
+    // END JOSM PATCH
 
     private static final String[] COUNTRY_CODE_TLDS = new String[] {
         "ac",                 // Ascension Island
@@ -292,6 +788,7 @@ public class DomainValidator extends AbstractValidator {
         "cr",                 // Costa Rica
         "cu",                 // Cuba
         "cv",                 // Cape Verde
+        "cw",                 // Curaçao
         "cx",                 // Christmas Island
         "cy",                 // Cyprus
         "cz",                 // Czech Republic
@@ -448,6 +945,7 @@ public class DomainValidator extends AbstractValidator {
         "st",                 // São Tomé and Príncipe
         "su",                 // Soviet Union (deprecated)
         "sv",                 // El Salvador
+        "sx",                 // Sint Maarten
         "sy",                 // Syria
         "sz",                 // Swaziland
         "tc",                 // Turks and Caicos Islands
@@ -496,8 +994,11 @@ public class DomainValidator extends AbstractValidator {
        "localdomain"          // Also widely used as localhost.localdomain
    };
 
-    private static final List<String> INFRASTRUCTURE_TLD_LIST = Arrays.asList(INFRASTRUCTURE_TLDS);
-    private static final List<String> GENERIC_TLD_LIST = Arrays.asList(GENERIC_TLDS);
-    private static final List<String> COUNTRY_CODE_TLD_LIST = Arrays.asList(COUNTRY_CODE_TLDS);
-    private static final List<String> LOCAL_TLD_LIST = Arrays.asList(LOCAL_TLDS);
-}
+    static {
+        Arrays.sort(INFRASTRUCTURE_TLDS);
+        Arrays.sort(COUNTRY_CODE_TLDS);
+        Arrays.sort(GENERIC_TLDS);
+        Arrays.sort(IDN_TLDS);
+        Arrays.sort(LOCAL_TLDS);
+    }
+}
\ No newline at end of file
diff --git a/src/org/openstreetmap/josm/data/validation/routines/EmailValidator.java b/src/org/openstreetmap/josm/data/validation/routines/EmailValidator.java
index e6eaf73..8a41ef6 100644
--- a/src/org/openstreetmap/josm/data/validation/routines/EmailValidator.java
+++ b/src/org/openstreetmap/josm/data/validation/routines/EmailValidator.java
@@ -36,7 +36,7 @@ import java.util.regex.Pattern;
  * is no TLD "somedog"
  * </p>.
  *
- * @version $Revision: 1227719 $ $Date: 2012-01-05 18:45:51 +0100 (Thu, 05 Jan 2012) $
+ * @version $Revision: 1608584 $ $Date: 2014-07-07 19:54:07 UTC (Mon, 07 Jul 2014) $
  * @since Validator 1.4
  */
 public class EmailValidator extends AbstractValidator {
@@ -168,7 +168,8 @@ public class EmailValidator extends AbstractValidator {
             // Domain is symbolic name
             DomainValidator domainValidator =
                     DomainValidator.getInstance(allowLocal);
-            return domainValidator.isValid(domain);
+            return domainValidator.isValid(domain) ||
+                    domainValidator.isValidTld(domain);
         }
     }
 
diff --git a/src/org/openstreetmap/josm/data/validation/routines/InetAddressValidator.java b/src/org/openstreetmap/josm/data/validation/routines/InetAddressValidator.java
index 22420cb..098c4cb 100644
--- a/src/org/openstreetmap/josm/data/validation/routines/InetAddressValidator.java
+++ b/src/org/openstreetmap/josm/data/validation/routines/InetAddressValidator.java
@@ -54,6 +54,7 @@ public class InetAddressValidator extends AbstractValidator {
      * @param inetAddress the string to validate
      * @return true if the string validates as an IP address
      */
+    @Override
     public boolean isValid(String inetAddress) {
         return isValidInet4Address(inetAddress);
     }
diff --git a/src/org/openstreetmap/josm/data/validation/routines/RegexValidator.java b/src/org/openstreetmap/josm/data/validation/routines/RegexValidator.java
index 1a38791..3b1d49a 100644
--- a/src/org/openstreetmap/josm/data/validation/routines/RegexValidator.java
+++ b/src/org/openstreetmap/josm/data/validation/routines/RegexValidator.java
@@ -122,6 +122,7 @@ public class RegexValidator extends AbstractValidator {
      * @return <code>true</code> if the value is valid
      * otherwise <code>false</code>.
      */
+    @Override
     public boolean isValid(String value) {
         if (value == null) {
             return false;
diff --git a/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java b/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java
index ac9af60..dbf587f 100644
--- a/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java
+++ b/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java
@@ -68,7 +68,7 @@ import java.util.regex.Pattern;
  *  Uniform Resource Identifiers (URI): Generic Syntax
  * </a>
  *
- * @version $Revision: 1227719 $ $Date: 2012-01-05 18:45:51 +0100 (Thu, 05 Jan 2012) $
+ * @version $Revision: 1640269 $ $Date: 2014-11-18 02:28:56 UTC (Tue, 18 Nov 2014) $
  * @since Validator 1.4
  */
 public class UrlValidator extends AbstractValidator {
@@ -156,9 +156,6 @@ public class UrlValidator extends AbstractValidator {
     private static final String PORT_REGEX = "^:(\\d{1,5})$";
     private static final Pattern PORT_PATTERN = Pattern.compile(PORT_REGEX);
 
-    private static final String SIMPLE_WEBSITE = "^www[.].*";
-    private static final Pattern SIMPLE_WEBSITE_PATTERN = Pattern.compile(SIMPLE_WEBSITE);
-
     /**
      * Holds the set of current validation options.
      */
@@ -300,9 +297,6 @@ public class UrlValidator extends AbstractValidator {
         String scheme = urlMatcher.group(PARSE_URL_SCHEME);
         if (!isValidScheme(scheme)) {
             setErrorMessage(tr("URL contains an invalid protocol: {0}", scheme));
-            if (SIMPLE_WEBSITE_PATTERN.matcher(value).matches()) {
-                setFix("http://" + value);
-            }
             return false;
         }
 
diff --git a/src/org/openstreetmap/josm/data/validation/tests/Highways.java b/src/org/openstreetmap/josm/data/validation/tests/Highways.java
index c632405..fc6941b 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/Highways.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/Highways.java
@@ -85,7 +85,9 @@ public class Highways extends Test {
     @Override
     public void visit(Node n) {
         if (n.isUsable()) {
-            if (!n.hasTag("highway", "crossing") && !n.hasTag("crossing", "no") && n.isReferredByWays(2)) {
+            if (!n.hasTag("crossing", "no")
+             && !(n.hasKey("crossing") && (n.hasTag("highway", "crossing") || n.hasTag("highway", "traffic_signals")))
+             && n.isReferredByWays(2)) {
                 testMissingPedestrianCrossing(n);
             }
             if (n.hasKey("source:maxspeed")) {
@@ -150,8 +152,8 @@ public class Highways extends Test {
         }
 
         final HashSet<OsmPrimitive> referrers = new HashSet<>();
-        
-        if (way.isClosed()) { 
+
+        if (way.isClosed()) {
             // for closed way we need to check all adjacent ways
             for (Node n: way.getNodes()) {
                 referrers.addAll(n.getReferrers());
diff --git a/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java b/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java
index 99db997..6162dad 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/InternetTags.java
@@ -3,6 +3,9 @@ package org.openstreetmap.josm.data.validation.tests;
 
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.net.IDN;
+import java.util.regex.Pattern;
+
 import org.openstreetmap.josm.command.ChangePropertyCommand;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -22,13 +25,17 @@ import org.openstreetmap.josm.data.validation.routines.UrlValidator;
  */
 public class InternetTags extends Test {
 
-    protected static final int INVALID_URL = 3301;
-    protected static final int INVALID_EMAIL = 3302;
+    /** Error code for an invalid URL */
+    public static final int INVALID_URL = 3301;
+    /** Error code for an invalid e-mail */
+    public static final int INVALID_EMAIL = 3302;
+
+    private static final Pattern ASCII_PATTERN = Pattern.compile("^\\p{ASCII}+$");
 
     /**
      * List of keys subject to URL validation.
      */
-    public static String[] URL_KEYS = new String[] {
+    private static String[] URL_KEYS = new String[] {
         "url", "source:url",
         "website", "contact:website", "heritage:website", "source:website"
     };
@@ -36,7 +43,7 @@ public class InternetTags extends Test {
     /**
      * List of keys subject to email validation.
      */
-    public static String[] EMAIL_KEYS = new String[] {
+    private static String[] EMAIL_KEYS = new String[] {
         "email", "contact:email"
     };
 
@@ -47,20 +54,21 @@ public class InternetTags extends Test {
         super(tr("Internet tags"), tr("Checks for errors in internet-related tags."));
     }
 
+    /**
+     * Potentially validates a given primitive key against a given validator.
+     * @param p The OSM primitive to test
+     * @param k The key to validate
+     * @param keys The list of keys to check. If {@code k} is not inside this collection, do nothing
+     * @param validator The validator to run if {@code k} is inside {@code keys}
+     * @param code The error code to set if the validation fails
+     * @return {@code true} if the validation fails. In this case, a new error has been created.
+     */
     private boolean doTest(OsmPrimitive p, String k, String[] keys, AbstractValidator validator, int code) {
         for (String i : keys) {
             if (i.equals(k)) {
-                if (!validator.isValid(p.get(k))) {
-                    TestError error;
-                    String msg = tr("''{0}'': {1}", k, validator.getErrorMessage());
-                    String fix = validator.getFix();
-                    if (fix != null) {
-                        error = new FixableTestError(this, Severity.WARNING, msg, code, p,
-                                new ChangePropertyCommand(p, k, fix));
-                    } else {
-                        error = new TestError(this, Severity.WARNING, msg, code, p);
-                    }
-                    return errors.add(error);
+                TestError error = validateTag(p, k, validator, code);
+                if (error != null) {
+                    errors.add(error);
                 }
                 break;
             }
@@ -68,9 +76,82 @@ public class InternetTags extends Test {
         return false;
     }
 
+    /**
+     * Validates a given primitive tag against a given validator.
+     * @param p The OSM primitive to test
+     * @param k The key to validate
+     * @param validator The validator to run
+     * @param code The error code to set if the validation fails
+     * @return The error if the validation fails, {@code null} otherwise
+     * @since 7824
+     */
+    public TestError validateTag(OsmPrimitive p, String k, AbstractValidator validator, int code) {
+        TestError error = doValidateTag(p, k, null, validator, code);
+        if (error != null) {
+            // Workaround to https://issues.apache.org/jira/browse/VALIDATOR-290
+            // Apache Commons Validator 1.4.1-SNAPSHOT does not support yet IDN URLs
+            // To remove if it gets fixed on Apache side
+            String v = p.get(k);
+            if (!ASCII_PATTERN.matcher(v).matches()) {
+                try {
+                    String protocol = "";
+                    if (v.contains("://")) {
+                        protocol = v.substring(0, v.indexOf("://")+3);
+                    }
+                    String domain = !protocol.isEmpty() ? v.substring(protocol.length(), v.length()) : v;
+                    String ending = "";
+                    if (domain.contains("/")) {
+                        int idx = domain.indexOf("/");
+                        ending = domain.substring(idx, domain.length());
+                        domain = domain.substring(0, idx);
+                    }
+                    // Try to apply ToASCII algorithm
+                    error = doValidateTag(p, k, protocol+IDN.toASCII(domain)+ending, validator, code);
+                } catch (IllegalArgumentException e) {
+                    error.setMessage(error.getMessage() +
+                            tr(" URL cannot be converted to ASCII: {0}", e.getMessage()));
+                }
+            }
+        }
+        return error;
+    }
+
+    /**
+     * Validates a given primitive tag against a given validator.
+     * @param p The OSM primitive to test
+     * @param k The key to validate
+     * @param v The value to validate. May be {@code null} to use {@code p.get(k)}
+     * @param validator The validator to run
+     * @param code The error code to set if the validation fails
+     * @return The error if the validation fails, {@code null} otherwise
+     */
+    private TestError doValidateTag(OsmPrimitive p, String k, String v, AbstractValidator validator, int code) {
+        TestError error = null;
+        String value = v != null ? v : p.get(k);
+        if (!validator.isValid(value)) {
+            String errMsg = validator.getErrorMessage();
+            // Special treatment to allow URLs without protocol. See UrlValidator#isValid
+            if (tr("URL contains an invalid protocol: {0}", (String)null).equals(errMsg)) {
+                String proto = validator instanceof EmailValidator ? "mailto://" : "http://";
+                return doValidateTag(p, k, proto+value, validator, code);
+            }
+            String msg = tr("''{0}'': {1}", k, errMsg);
+            String fix = validator.getFix();
+            if (fix != null) {
+                error = new FixableTestError(this, Severity.WARNING, msg, code, p,
+                        new ChangePropertyCommand(p, k, fix));
+            } else {
+                error = new TestError(this, Severity.WARNING, msg, code, p);
+            }
+        }
+        return error;
+    }
+
     private void test(OsmPrimitive p) {
         for (String k : p.keySet()) {
+            // Test key against URL validator
             if (!doTest(p, k, URL_KEYS, UrlValidator.getInstance(), INVALID_URL)) {
+                // Test key against e-mail validator only if the URL validator did not fail
                 doTest(p, k, EMAIL_KEYS, EmailValidator.getInstance(), INVALID_EMAIL);
             }
         }
diff --git a/src/org/openstreetmap/josm/data/validation/tests/Lanes.java b/src/org/openstreetmap/josm/data/validation/tests/Lanes.java
index db024b5..3c0af87 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/Lanes.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/Lanes.java
@@ -4,6 +4,7 @@ package org.openstreetmap.josm.data.validation.tests;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
@@ -23,6 +24,13 @@ import org.openstreetmap.josm.tools.Utils;
  */
 public class Lanes extends Test.TagTest {
 
+    private static final String[] BLACKLIST = {
+        "source:lanes",
+        "note:lanes",
+        "proposed:lanes",
+        "piste:lanes",
+    };
+
     /**
      * Constructs a new {@code Lanes} test.
      */
@@ -37,7 +45,7 @@ public class Lanes extends Test.TagTest {
     protected void checkNumberOfLanesByKey(final OsmPrimitive p, String lanesKey, String message) {
         final Collection<String> keysForPattern = new ArrayList<>(Utils.filter(p.keySet(),
                 Predicates.stringContainsPattern(Pattern.compile(":" + lanesKey + "$"))));
-        keysForPattern.remove("source:lanes");
+        keysForPattern.removeAll(Arrays.asList(BLACKLIST));
         if (keysForPattern.size() < 1) {
             // nothing to check
             return;
diff --git a/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java b/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
index 5bf9b20..1903583 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
@@ -13,6 +13,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
@@ -29,6 +30,7 @@ import org.openstreetmap.josm.command.ChangePropertyKeyCommand;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.DeleteCommand;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmUtils;
 import org.openstreetmap.josm.data.osm.Tag;
@@ -40,12 +42,14 @@ import org.openstreetmap.josm.gui.mappaint.Environment;
 import org.openstreetmap.josm.gui.mappaint.Keyword;
 import org.openstreetmap.josm.gui.mappaint.MultiCascade;
 import org.openstreetmap.josm.gui.mappaint.mapcss.Condition;
+import org.openstreetmap.josm.gui.mappaint.mapcss.Condition.ClassCondition;
 import org.openstreetmap.josm.gui.mappaint.mapcss.Expression;
 import org.openstreetmap.josm.gui.mappaint.mapcss.Instruction;
 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSRule;
 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSRule.Declaration;
 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource;
 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector;
+import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.AbstractSelector;
 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.GeneralSelector;
 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.MapCSSParser;
 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException;
@@ -116,6 +120,11 @@ public class MapCSSTagChecker extends Test.TagTest {
                 return false;
             return true;
         }
+
+        @Override
+        public String toString() {
+            return "GroupedMapCSSRule [selectors=" + selectors + ", declaration=" + declaration + "]";
+        }
     }
 
     /**
@@ -140,6 +149,7 @@ public class MapCSSTagChecker extends Test.TagTest {
         protected final List<String> alternatives = new ArrayList<>();
         protected final Map<Instruction.AssignmentInstruction, Severity> errors = new HashMap<>();
         protected final Map<String, Boolean> assertions = new HashMap<>();
+        protected final Set<String> setClassExpressions = new HashSet<>();
         protected boolean deletion = false;
 
         TagCheck(GroupedMapCSSRule rule) {
@@ -200,12 +210,11 @@ public class MapCSSTagChecker extends Test.TagTest {
 
         static TagCheck ofMapCSSRule(final GroupedMapCSSRule rule) throws IllegalDataException {
             final TagCheck check = new TagCheck(rule);
-            boolean containsSetClassExpression = false;
             for (Instruction i : rule.declaration.instructions) {
                 if (i instanceof Instruction.AssignmentInstruction) {
                     final Instruction.AssignmentInstruction ai = (Instruction.AssignmentInstruction) i;
                     if (ai.isSetInstruction) {
-                        containsSetClassExpression = true;
+                        check.setClassExpressions.add(ai.key);
                         continue;
                     }
                     final String val = ai.val instanceof Expression
@@ -256,10 +265,13 @@ public class MapCSSTagChecker extends Test.TagTest {
                     }
                 }
             }
-            if (check.errors.isEmpty() && !containsSetClassExpression) {
-                throw new IllegalDataException("No "+POSSIBLE_THROWS+" given! You should specify a validation error message for " + rule.selectors);
+            if (check.errors.isEmpty() && check.setClassExpressions.isEmpty()) {
+                throw new IllegalDataException(
+                        "No "+POSSIBLE_THROWS+" given! You should specify a validation error message for " + rule.selectors);
             } else if (check.errors.size() > 1) {
-                throw new IllegalDataException("More than one "+POSSIBLE_THROWS+" given! You should specify a single validation error message for " + rule.selectors);
+                throw new IllegalDataException(
+                        "More than one "+POSSIBLE_THROWS+" given! You should specify a single validation error message for "
+                                + rule.selectors);
             }
             return check;
         }
@@ -500,6 +512,50 @@ public class MapCSSTagChecker extends Test.TagTest {
                 return null;
             }
         }
+
+        /**
+         * Returns the set of tagchecks on which this check depends on.
+         * @param schecks the collection of tagcheks to search in
+         * @return the set of tagchecks on which this check depends on
+         * @since 7881
+         */
+        public Set<TagCheck> getTagCheckDependencies(Collection<TagCheck> schecks) {
+            Set<TagCheck> result = new HashSet<MapCSSTagChecker.TagCheck>();
+            Set<String> classes = getClassesIds();
+            if (schecks != null && !classes.isEmpty()) {
+                for (TagCheck tc : schecks) {
+                    if (this.equals(tc)) {
+                        continue;
+                    }
+                    for (String id : tc.setClassExpressions) {
+                        if (classes.contains(id)) {
+                            result.add(tc);
+                            break;
+                        }
+                    }
+                }
+            }
+            return result;
+        }
+
+        /**
+         * Returns the list of ids of all MapCSS classes referenced in the rule selectors.
+         * @return the list of ids of all MapCSS classes referenced in the rule selectors
+         * @since 7881
+         */
+        public Set<String> getClassesIds() {
+            Set<String> result = new HashSet<>();
+            for (Selector s : rule.selectors) {
+                if (s instanceof AbstractSelector) {
+                    for (Condition c : ((AbstractSelector)s).getConditions()) {
+                        if (c instanceof ClassCondition) {
+                            result.add(((ClassCondition) c).id);
+                        }
+                    }
+                }
+            }
+            return result;
+        }
     }
 
     static class MapCSSTagCheckerAndRule extends MapCSSTagChecker {
@@ -523,6 +579,11 @@ public class MapCSSTagChecker extends Test.TagTest {
             result = prime * result + ((rule == null) ? 0 : rule.hashCode());
             return result;
         }
+
+        @Override
+        public String toString() {
+            return "MapCSSTagCheckerAndRule [rule=" + rule + "]";
+        }
     }
 
     /**
@@ -532,9 +593,14 @@ public class MapCSSTagChecker extends Test.TagTest {
      * @return all errors for the given primitive, with or without those of "info" severity
      */
     public synchronized Collection<TestError> getErrorsForPrimitive(OsmPrimitive p, boolean includeOtherSeverity) {
-        final ArrayList<TestError> r = new ArrayList<>();
+        return getErrorsForPrimitive(p, includeOtherSeverity, checks.values());
+    }
+
+    private static Collection<TestError> getErrorsForPrimitive(OsmPrimitive p, boolean includeOtherSeverity,
+            Collection<Set<TagCheck>> checksCol) {
+        final List<TestError> r = new ArrayList<>();
         final Environment env = new Environment(p, new MultiCascade(), Environment.DEFAULT_LAYER, null);
-        for (Set<TagCheck> schecks : checks.values()) {
+        for (Set<TagCheck> schecks : checksCol) {
             for (TagCheck check : schecks) {
                 if (Severity.OTHER.equals(check.getSeverity()) && !includeOtherSeverity) {
                     continue;
@@ -627,6 +693,7 @@ public class MapCSSTagChecker extends Test.TagTest {
      */
     public Set<String> checkAsserts(final Collection<TagCheck> schecks) {
         Set<String> assertionErrors = new LinkedHashSet<>();
+        final DataSet ds = new DataSet();
         for (final TagCheck check : schecks) {
             if (Main.isDebugEnabled()) {
                 Main.debug("Check: "+check);
@@ -636,7 +703,20 @@ public class MapCSSTagChecker extends Test.TagTest {
                     Main.debug("- Assertion: "+i);
                 }
                 final OsmPrimitive p = OsmUtils.createPrimitive(i.getKey());
-                final boolean isError = Utils.exists(getErrorsForPrimitive(p, true), new Predicate<TestError>() {
+                // Build minimal ordered list of checks to run to test the assertion
+                List<Set<TagCheck>> checksToRun = new ArrayList<Set<TagCheck>>();
+                Set<TagCheck> checkDependencies = check.getTagCheckDependencies(schecks);
+                if (!checkDependencies.isEmpty()) {
+                    checksToRun.add(checkDependencies);
+                }
+                checksToRun.add(Collections.singleton(check));
+                // Add primitive to dataset to avoid DataIntegrityProblemException when evaluating selectors
+                ds.addPrimitive(p);
+                final Collection<TestError> pErrors = getErrorsForPrimitive(p, true, checksToRun);
+                if (Main.isDebugEnabled()) {
+                    Main.debug("- Errors: "+pErrors);
+                }
+                final boolean isError = Utils.exists(pErrors, new Predicate<TestError>() {
                     @Override
                     public boolean evaluate(TestError e) {
                         //noinspection EqualsBetweenInconvertibleTypes
@@ -648,6 +728,7 @@ public class MapCSSTagChecker extends Test.TagTest {
                             check.getMessage(p), check.rule.selectors, i.getValue() ? "match" : "not match", i.getKey(), p.getKeys());
                     assertionErrors.add(error);
                 }
+                ds.removePrimitive(p);
             }
         }
         return assertionErrors;
diff --git a/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java b/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
index b1eb884..d0ad8e1 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
@@ -5,21 +5,17 @@ import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.text.MessageFormat;
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.EnumSet;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
+import java.util.Map;
 
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.DeleteCommand;
-import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
-import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.validation.Severity;
 import org.openstreetmap.josm.data.validation.Test;
 import org.openstreetmap.josm.data.validation.TestError;
@@ -30,6 +26,7 @@ import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Role;
 import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Roles;
 import org.openstreetmap.josm.gui.tagging.TaggingPresetType;
 import org.openstreetmap.josm.gui.tagging.TaggingPresets;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
  * Check for wrong relations.
@@ -85,17 +82,22 @@ public class RelationChecker extends Test {
         }
     }
 
+    private static class RolePreset {
+        public RolePreset(LinkedList<Role> roles, String name) {
+            this.roles = roles;
+            this.name = name;
+        }
+        private final LinkedList<Role> roles;
+        private final String name;
+    }
+
     private static class RoleInfo {
         private int total = 0;
-        private Collection<Node> nodes = new LinkedList<>();
-        private Collection<Way> ways = new LinkedList<>();
-        private Collection<Way> openways = new LinkedList<>();
-        private Collection<Relation> relations = new LinkedList<>();
     }
 
     @Override
     public void visit(Relation n) {
-        LinkedList<Role> allroles = buildAllRoles(n);
+        Map<String, RolePreset> allroles = buildAllRoles(n);
         if (allroles.isEmpty() && n.hasTag("type", "route")
                 && n.hasTag("route", "train", "subway", "monorail", "tram", "bus", "trolleybus", "aerialway", "ferry")) {
             errors.add(new TestError(this, Severity.WARNING,
@@ -105,7 +107,7 @@ public class RelationChecker extends Test {
             errors.add(new TestError(this, Severity.WARNING, tr("Relation type is unknown"), RELATION_UNKNOWN, n));
         }
 
-        HashMap<String, RoleInfo> map = buildRoleInfoMap(n);
+        Map<String, RoleInfo> map = buildRoleInfoMap(n);
         if (map.isEmpty()) {
             errors.add(new TestError(this, Severity.ERROR, tr("Relation is empty"), RELATION_EMPTY, n));
         } else if (!allroles.isEmpty()) {
@@ -113,33 +115,24 @@ public class RelationChecker extends Test {
         }
     }
 
-    private HashMap<String, RoleInfo> buildRoleInfoMap(Relation n) {
-        HashMap<String,RoleInfo> map = new HashMap<>();
+    private Map<String, RoleInfo> buildRoleInfoMap(Relation n) {
+        Map<String,RoleInfo> map = new HashMap<>();
         for (RelationMember m : n.getMembers()) {
             String role = m.getRole();
             RoleInfo ri = map.get(role);
             if (ri == null) {
                 ri = new RoleInfo();
+                map.put(role, ri);
             }
             ri.total++;
-            if (m.isRelation()) {
-                ri.relations.add(m.getRelation());
-            } else if(m.isWay()) {
-                ri.ways.add(m.getWay());
-                if (!m.getWay().isClosed()) {
-                    ri.openways.add(m.getWay());
-                }
-            }
-            else if (m.isNode()) {
-                ri.nodes.add(m.getNode());
-            }
-            map.put(role, ri);
         }
         return map;
     }
 
-    private LinkedList<Role> buildAllRoles(Relation n) {
-        LinkedList<Role> allroles = new LinkedList<>();
+    // return Roles grouped by key
+    private Map<String, RolePreset> buildAllRoles(Relation n) {
+        Map<String, RolePreset> allroles = new HashMap<>();
+
         for (TaggingPreset p : relationpresets) {
             boolean matches = true;
             Roles r = null;
@@ -155,95 +148,167 @@ public class RelationChecker extends Test {
                 }
             }
             if (matches && r != null) {
-                allroles.addAll(r.roles);
+                for(Role role: r.roles) {
+                    String key = role.key;
+                    LinkedList<Role> roleGroup = null;
+                    if (allroles.containsKey(key)) {
+                        roleGroup = allroles.get(key).roles;
+                    } else {
+                        roleGroup = new LinkedList<>();
+                        allroles.put(key, new RolePreset(roleGroup, p.name));
+                    }
+                    roleGroup.add(role);
+                }
             }
         }
         return allroles;
     }
 
-    private void checkRoles(Relation n, LinkedList<Role> allroles, HashMap<String, RoleInfo> map) {
-        List<String> done = new LinkedList<>();
-        // Remove empty roles if several exist (like in route=hiking, see #9844)
-        List<Role> emptyRoles = new LinkedList<>();
-        for (Role r : allroles) {
-            if ("".equals(r.key)) {
-                emptyRoles.add(r);
+    private boolean checkMemberType(Role r, RelationMember member) {
+        if (r.types != null) {
+            switch (member.getDisplayType()) {
+            case NODE:
+                return r.types.contains(TaggingPresetType.NODE);
+            case CLOSEDWAY:
+                return r.types.contains(TaggingPresetType.CLOSEDWAY);
+            case WAY:
+                return r.types.contains(TaggingPresetType.WAY);
+            case RELATION:
+                return r.types.contains(TaggingPresetType.RELATION);
+            default: // not matching type
+                return false;
             }
+        } else {
+            // if no types specified, then test is passed
+            return true;
         }
-        if (emptyRoles.size() > 1) {
-            allroles.removeAll(emptyRoles);
-        }
-        for (Role r : allroles) {
-            done.add(r.key);
-            String keyname = r.key;
-            if ("".equals(keyname)) {
-                keyname = tr("<empty>");
-            }
-            RoleInfo ri = map.get(r.key);
-            checkRoleCounts(n, r, keyname, ri);
-            if (ri != null) {
-                if (r.types != null) {
-                    checkRoleTypes(n, r, keyname, ri);
-                }
-                if (r.memberExpression != null) {
-                    checkRoleMemberExpressions(n, r, keyname, ri);
-                }
-            }
+    }
+
+    /**
+     * get all role definition for specified key and check, if some definition matches
+     *
+     * @param rolePreset containing preset for role of the member
+     * @param member to be verified
+     * @param n relation to be verified
+     * @return <tt>true</tt> if member passed any of definition within preset
+     *
+     */
+    private boolean checkMemberExpressionAndType(RolePreset rolePreset, RelationMember member, Relation n) {
+        TestError possibleMatchError = null;
+        if (rolePreset == null || rolePreset.roles == null) {
+            // no restrictions on role types
+            return true;
         }
-        for (String key : map.keySet()) {
-            if (!done.contains(key)) {
-                if (key.length() > 0) {
-                    String s = marktr("Role {0} unknown");
-                    errors.add(new TestError(this, Severity.WARNING, ROLE_VERIF_PROBLEM_MSG,
-                            tr(s, key), MessageFormat.format(s, key), ROLE_UNKNOWN, n));
+        // iterate through all of the role definition within preset
+        // and look for any matching definition
+        for (Role r: rolePreset.roles) {
+            if (checkMemberType(r, member)) {
+                // member type accepted by role definition
+                if (r.memberExpression == null) {
+                    // no member expression - so all requirements met
+                    return true;
                 } else {
-                    String s = marktr("Empty role found");
-                    errors.add(new TestError(this, Severity.WARNING, ROLE_VERIF_PROBLEM_MSG,
-                            tr(s), s, ROLE_EMPTY, n));
+                    // verify if preset accepts such member
+                    OsmPrimitive primitive = member.getMember();
+                    if(!primitive.isUsable()) {
+                        // if member is not usable (i.e. not present in working set)
+                        // we can't verify expression - so we just skip it
+                        return true;
+                    } else {
+                        // verify expression
+                        if(r.memberExpression.match(primitive)) {
+                            return true;
+                        } else {
+                            // possible match error
+                            // we still need to iterate further, as we might have
+                            // different present, for which memberExpression will match
+                            // but stash the error in case no better reason will be found later
+                            String s = marktr("Role member does not match expression {0} in template {1}");
+                            possibleMatchError = new TestError(this, Severity.WARNING, ROLE_VERIF_PROBLEM_MSG,
+                                    tr(s, r.memberExpression, rolePreset.name), s, WRONG_TYPE,
+                                    member.getMember().isUsable() ? member.getMember() : n);
+
+                        }
+                    }
                 }
             }
         }
-    }
 
-    private void checkRoleMemberExpressions(Relation n, Role r, String keyname, RoleInfo ri) {
-        Set<OsmPrimitive> notMatching = new HashSet<>();
-        Collection<OsmPrimitive> allPrimitives = new ArrayList<>();
-        allPrimitives.addAll(ri.nodes);
-        allPrimitives.addAll(ri.ways);
-        allPrimitives.addAll(ri.relations);
-        for (OsmPrimitive p : allPrimitives) {
-            if (p.isUsable() && !r.memberExpression.match(p)) {
-                notMatching.add(p);
+        if( possibleMatchError != null) {
+            // if any error found, then assume that member type was correct
+            // and complain about not matching the memberExpression
+            // (the only failure, that we could gather)
+            errors.add(possibleMatchError);
+        } else {
+            // no errors found till now. So member at least failed at matching the type
+            // it could also fail at memberExpression, but we can't guess at which
+            String s = marktr("Role member type {0} does not match accepted list of {1} in template {2}");
+
+            // prepare Set of all accepted types in template
+            EnumSet<TaggingPresetType> types = EnumSet.noneOf(TaggingPresetType.class);
+            for (Role r: rolePreset.roles) {
+                types.addAll(r.types);
             }
-        }
-        if (!notMatching.isEmpty()) {
-            String s = marktr("Member for role ''{0}'' does not match ''{1}''");
-            LinkedList<OsmPrimitive> highlight = new LinkedList<>(notMatching);
-            highlight.addFirst(n);
+
+            // convert in localization friendly way to string of accepted types
+            String typesStr = Utils.join("/", Utils.transform(types, new Utils.Function<TaggingPresetType, Object>() {
+                public Object apply(TaggingPresetType x) {
+                    return tr(x.getName());
+                }
+            }));
+
             errors.add(new TestError(this, Severity.WARNING, ROLE_VERIF_PROBLEM_MSG,
-                    tr(s, keyname, r.memberExpression), MessageFormat.format(s, keyname, r.memberExpression), WRONG_TYPE,
-                    highlight, notMatching));
+                    tr(s, member.getType(), typesStr, rolePreset.name), s, WRONG_TYPE,
+                    member.getMember().isUsable() ? member.getMember() : n));
         }
+        return false;
     }
 
-    private void checkRoleTypes(Relation n, Role r, String keyname, RoleInfo ri) {
-        Set<OsmPrimitive> wrongTypes = new HashSet<>();
-        if (!r.types.contains(TaggingPresetType.WAY)) {
-            wrongTypes.addAll(r.types.contains(TaggingPresetType.CLOSEDWAY) ? ri.openways : ri.ways);
-        }
-        if (!r.types.contains(TaggingPresetType.NODE)) {
-            wrongTypes.addAll(ri.nodes);
+    /**
+     *
+     * @param n relation to validate
+     * @param allroles contains presets for specified relation
+     * @param map contains statistics of occurances of specified role types in relation
+     */
+    private void checkRoles(Relation n, Map<String, RolePreset> allroles, Map<String, RoleInfo> map) {
+        // go through all members of relation
+        for (RelationMember member: n.getMembers()) {
+            String role = member.getRole();
+
+            // error reporting done inside
+            checkMemberExpressionAndType(allroles.get(role), member, n);
         }
-        if (!r.types.contains(TaggingPresetType.RELATION)) {
-            wrongTypes.addAll(ri.relations);
+
+        // verify role counts based on whole role sets
+        for(RolePreset rp: allroles.values()) {
+            for (Role r: rp.roles) {
+                String keyname = r.key;
+                if (keyname.isEmpty()) {
+                    keyname = tr("<empty>");
+                }
+                checkRoleCounts(n, r, keyname, map.get(r.key));
+            }
         }
-        if (!wrongTypes.isEmpty()) {
-            String s = marktr("Member for role {0} of wrong type");
-            LinkedList<OsmPrimitive> highlight = new LinkedList<>(wrongTypes);
-            highlight.addFirst(n);
-            errors.add(new TestError(this, Severity.WARNING, ROLE_VERIF_PROBLEM_MSG,
-                    tr(s, keyname), MessageFormat.format(s, keyname), WRONG_TYPE,
-                    highlight, wrongTypes));
+        // verify unwanted members
+        for (String key : map.keySet()) {
+            if (!allroles.containsKey(key)) {
+                String templates = Utils.join("/", Utils.transform(allroles.keySet(), new Utils.Function<String, Object>() {
+                    public Object apply(String x) {
+                        return tr(x);
+                    }
+                }));
+
+                if (key.length() > 0) {
+                    String s = marktr("Role {0} unknown in templates {1}");
+
+                    errors.add(new TestError(this, Severity.WARNING, ROLE_VERIF_PROBLEM_MSG,
+                            tr(s, key, templates.toString()), MessageFormat.format(s, key), ROLE_UNKNOWN, n));
+                } else {
+                    String s = marktr("Empty role type found when expecting one of {0}");
+                    errors.add(new TestError(this, Severity.WARNING, ROLE_VERIF_PROBLEM_MSG,
+                            tr(s, templates), s, ROLE_EMPTY, n));
+                }
+            }
         }
     }
 
diff --git a/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java b/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java
index 05d5b52..cd032db 100644
--- a/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java
+++ b/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java
@@ -1,13 +1,18 @@
 // License: GPL. See LICENSE file for details.
 package org.openstreetmap.josm.data.validation.tests;
 
+import static java.util.regex.Pattern.CASE_INSENSITIVE;
+import static java.util.regex.Pattern.UNICODE_CASE;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.geom.Point2D;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
@@ -34,12 +39,22 @@ public class SimilarNamedWays extends Test {
     /** The already detected errors */
     private MultiMap<Way, Way> errorWays;
 
+    private ArrayList<NormalizeRule> rules = new ArrayList<NormalizeRule>();
+
     /**
      * Constructor
      */
     public SimilarNamedWays() {
         super(tr("Similarly named ways"),
                 tr("This test checks for ways with similar names that may have been misspelled."));
+
+        // FIXME: hardcode these rules for now. Replace them with preferences later
+        // See https://josm.openstreetmap.de/ticket/3733#comment:19
+        addRegExprRule("\\d+", "0"); // Highway 66
+        addRegExprRule("\\d+(st|nd|rd|th)", "0st"); // 3rd Ave
+        addRegExprRule("^[A-Z] ", "X"); // E Street
+        addSynonyms("east", "west", "north", "south");
+        addSynonyms("first", "second", "third");
     }
 
     @Override
@@ -77,8 +92,7 @@ public class SimilarNamedWays extends Test {
                     continue;
                 }
 
-                int levenshteinDistance = getLevenshteinDistance(name, name2);
-                if (0 < levenshteinDistance && levenshteinDistance <= 2) {
+                if (similaryName(name, name2)) {
                     List<OsmPrimitive> primitives = new ArrayList<>(2);
                     primitives.add(w);
                     primitives.add(w2);
@@ -97,7 +111,7 @@ public class SimilarNamedWays extends Test {
      * @param t Second word
      * @return The distance between words
      */
-    public int getLevenshteinDistance(String s, String t) {
+    public static int getLevenshteinDistance(String s, String t) {
         int[][] d; // matrix
         int n; // length of s
         int m; // length of t
@@ -149,4 +163,146 @@ public class SimilarNamedWays extends Test {
         // Step 7
         return d[n][m];
     }
+
+    /**
+     * Add a regular expression rule.
+     * @param regExpr the regular expression to search for
+     * @param replacement a string to replace with, which should match the expression.
+     */
+    public void addRegExprRule(String regExpr, String replacement) {
+        rules.add(new RegExprRule(regExpr, replacement));
+    }
+
+    /**
+     * Add a rule with synonym words.
+     * @param words words which are synonyms
+     */
+    public void addSynonyms(String... words) {
+        for (String word : words) {
+            rules.add(new SynonymRule(word, words));
+        }
+    }
+
+    /**
+     * Check if two names are similar, but not identical. First both names will be "normalized".
+     * Afterwards the Levenshtein distance will be calculated.<br>
+     * Examples for normalization rules:<br>
+     * <code>replaceAll("\\d+", "0")</code><br>
+     * would cause similaryName("track 1", "track 2") = false, but similaryName("Track 1", "track 2") = true
+     * @param name first name to compare
+     * @param name2 second name to compare
+     * @return true if the normalized names are different but only a "little bit"
+     */
+    public boolean similaryName(String name, String name2) {
+        // check plain strings
+        int distance = getLevenshteinDistance(name, name2);
+        boolean similar = distance>0 && distance<=2;
+
+        // try all rules
+        for (NormalizeRule rule : rules) {
+            int levenshteinDistance = getLevenshteinDistance(rule.normalize(name), rule.normalize(name2));
+            if (levenshteinDistance == 0)
+                // one rule results in identical names: identical
+                return false;
+            else if (levenshteinDistance <= 2) {
+                // 0 < distance <= 2
+                similar = true;
+            }
+        }
+        return similar;
+    }
+
+    public interface NormalizeRule {
+
+        /**
+         * Normalize the string by replacing parts.
+         * @param name name to normalize
+         * @return normalized string
+         */
+        String normalize(String name);
+    }
+
+    public class RegExprRule implements NormalizeRule {
+        private final Pattern regExpr;
+        private final String replacement;
+
+        public RegExprRule(String expression, String replacement) {
+            this.regExpr = Pattern.compile(expression);
+            this.replacement = replacement;
+        }
+
+        @Override
+        public String normalize(String name) {
+            return regExpr.matcher(name).replaceAll(replacement);
+        }
+
+        @Override
+        public String toString() {
+            return "replaceAll(" + regExpr + ", " + replacement + ")";
+        }
+    }
+
+    public class SynonymRule implements NormalizeRule {
+
+        private final String[] words;
+        private final Pattern regExpr;
+        private final String replacement;
+
+        public SynonymRule(String replacement, String[] words) {
+            this.replacement = replacement.toLowerCase();
+            this.words = words;
+
+            // build regular expression for other words (for fast match)
+            StringBuilder expression = new StringBuilder();
+            int maxLength = 0;
+            for (int i = 0; i < words.length; i++) {
+                if (words[i].length() > maxLength) {
+                    maxLength = words[i].length();
+                }
+                if (expression.length() > 0) {
+                    expression.append("|");
+                }
+                expression.append(Pattern.quote(words[i]));
+            }
+            this.regExpr = Pattern.compile(expression.toString(), CASE_INSENSITIVE + UNICODE_CASE);
+        }
+
+        @Override
+        public String normalize(String name) {
+            // find first match
+            Matcher matcher = regExpr.matcher(name);
+            if (!matcher.find())
+                return name;
+
+            int start = matcher.start();
+
+            // which word matches?
+            String part = "";
+            for (int i = 0; i < words.length; i++) {
+                String word = words[i];
+                part = name.substring(start, start + word.length());
+                if (word.equalsIgnoreCase(part)) {
+                    break;
+                }
+            }
+
+            // replace the word
+            char[] newName = matcher.replaceFirst(replacement).toCharArray();
+
+            // adjust case (replacement is not shorter than matching word!)
+            int minLength = Math.min(replacement.length(), part.length());
+            for (int i = 0; i < minLength; i++) {
+                if (Character.isUpperCase(part.charAt(i))) {
+                    newName[start + i] = Character.toUpperCase(newName[start + i]);
+                }
+            }
+
+            return new String(newName);
+        }
+
+        @Override
+        public String toString() {
+            return "synonyms(" + replacement + ", " + Arrays.toString(words) + ")";
+        }
+    }
 }
diff --git a/src/org/openstreetmap/josm/gui/ExtendedDialog.java b/src/org/openstreetmap/josm/gui/ExtendedDialog.java
index 22ac735..39ef2f4 100644
--- a/src/org/openstreetmap/josm/gui/ExtendedDialog.java
+++ b/src/org/openstreetmap/josm/gui/ExtendedDialog.java
@@ -526,7 +526,7 @@ public class ExtendedDialog extends JDialog {
      */
     public ExtendedDialog toggleEnable(String togglePref) {
         if (!modal) {
-            throw new IllegalArgumentException();
+            throw new IllegalStateException();
         }
         this.toggleable = true;
         this.togglePref = togglePref;
diff --git a/src/org/openstreetmap/josm/gui/MainApplication.java b/src/org/openstreetmap/josm/gui/MainApplication.java
index 6f4da01..5f34b12 100644
--- a/src/org/openstreetmap/josm/gui/MainApplication.java
+++ b/src/org/openstreetmap/josm/gui/MainApplication.java
@@ -7,6 +7,7 @@ import gnu.getopt.Getopt;
 import gnu.getopt.LongOpt;
 
 import java.awt.Dimension;
+import java.awt.GraphicsEnvironment;
 import java.awt.Image;
 import java.awt.Toolkit;
 import java.awt.event.WindowAdapter;
@@ -45,7 +46,6 @@ import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.PreferencesAction;
 import org.openstreetmap.josm.data.AutosaveTask;
 import org.openstreetmap.josm.data.CustomConfigurator;
-import org.openstreetmap.josm.data.Preferences;
 import org.openstreetmap.josm.data.Version;
 import org.openstreetmap.josm.gui.download.DownloadDialog;
 import org.openstreetmap.josm.gui.preferences.server.OAuthAccessTokenHolder;
@@ -134,7 +134,12 @@ public class MainApplication extends Main {
                 "\t--debug                                   "+tr("Print debugging messages to console")+"\n\n"+
                 "\t--offline=<osm_api|josm_website|all>      "+tr("Disable access to the given resource(s), separated by comma")+"\n\n"+
                 tr("options provided as Java system properties")+":\n"+
-                "\t-Djosm.home="+tr("/PATH/TO/JOSM/FOLDER/         ")+tr("Change the folder for all user settings")+"\n\n"+
+                "\t-Djosm.pref="    +tr("/PATH/TO/JOSM/PREF    ")+tr("Set the preferences directory")+"\n\n"+
+                "\t-Djosm.userdata="+tr("/PATH/TO/JOSM/USERDATA")+tr("Set the user data directory")+"\n\n"+
+                "\t-Djosm.cache="   +tr("/PATH/TO/JOSM/CACHE   ")+tr("Set the cache directory")+"\n\n"+
+                "\t-Djosm.home="    +tr("/PATH/TO/JOSM/HOMEDIR ")+
+                tr("Relocate all 3 directories to homedir. Cache directory will be in homedir/cache")+"\n\n"+
+                tr("-Djosm.home has lower precedence, i.e. the specific setting overrides the general one")+"\n\n"+
                 tr("note: For some tasks, JOSM needs a lot of memory. It can be necessary to add the following\n" +
                         "      Java option to specify the maximum size of allocated memory in megabytes")+":\n"+
                         "\t-Xmx...m\n\n"+
@@ -143,6 +148,7 @@ public class MainApplication extends Main {
                         "\tjava -jar josm.jar "+OsmUrlToBounds.getURL(43.2, 11.1, 13)+"\n"+
                         "\tjava -jar josm.jar london.osm --selection=http://www.ostertag.name/osm/OSM_errors_node-duplicate.xml\n"+
                         "\tjava -jar josm.jar 43.2,11.1,43.4,11.4\n"+
+                        "\tjava -Djosm.pref=$XDG_CONFIG_HOME -Djosm.userdata=$XDG_DATA_HOME -Djosm.cache=$XDG_CACHE_HOME -jar josm.jar\n"+
                         "\tjava -Djosm.home=/home/user/.josm_dev -jar josm.jar\n"+
                         "\tjava -Xmx1024m -jar josm.jar\n\n"+
                         tr("Parameters --download, --downloadgps, and --selection are processed in this order.")+"\n"+
@@ -259,7 +265,7 @@ public class MainApplication extends Main {
                 }
                 values.add(g.getOptarg());
             } else
-                throw new IllegalArgumentException();
+                throw new IllegalArgumentException("Invalid option: "+c);
         }
         // positional arguments are a shortcut for the --download ... option
         for (int i = g.getOptind(); i < args.length; ++i) {
@@ -341,7 +347,7 @@ public class MainApplication extends Main {
             // Enable JOSM debug level
             logLevel = 5;
             // Enable debug in OAuth signpost via system preference, but only at trace level
-            Preferences.updateSystemProperty("debug", "true");
+            Utils.updateSystemProperty("debug", "true");
             Main.info(tr("Enabled detailed debug level (trace)"));
         }
 
@@ -362,6 +368,8 @@ public class MainApplication extends Main {
 
         FontsManager.initialize();
 
+        handleSpecialLanguages();
+
         final JFrame mainFrame = new JFrame(tr("Java OpenStreetMap Editor"));
         Main.parent = mainFrame;
 
@@ -476,6 +484,20 @@ public class MainApplication extends Main {
         }
     }
 
+    private static void handleSpecialLanguages() {
+        // Use special font for Khmer script, as the default Java font do not display these characters
+        if ("km".equals(Main.pref.get("language"))) {
+            Collection<String> fonts = Arrays.asList(
+                    GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames());
+            for (String f : new String[]{"Khmer UI", "DaunPenh", "MoolBoran"}) {
+                if (fonts.contains(f)) {
+                    GuiHelper.setUIFont(f);
+                    break;
+                }
+            }
+        }
+    }
+
     private static void processOffline(Map<Option, Collection<String>> args) {
         if (args.containsKey(Option.OFFLINE)) {
             for (String s : args.get(Option.OFFLINE).iterator().next().split(",")) {
diff --git a/src/org/openstreetmap/josm/gui/MapFrame.java b/src/org/openstreetmap/josm/gui/MapFrame.java
index 866ba06..c7b4a65 100644
--- a/src/org/openstreetmap/josm/gui/MapFrame.java
+++ b/src/org/openstreetmap/josm/gui/MapFrame.java
@@ -65,7 +65,7 @@ import org.openstreetmap.josm.gui.dialogs.DialogsPanel;
 import org.openstreetmap.josm.gui.dialogs.FilterDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.MapPaintDialog;
-import org.openstreetmap.josm.gui.dialogs.NoteDialog;
+import org.openstreetmap.josm.gui.dialogs.NotesDialog;
 import org.openstreetmap.josm.gui.dialogs.RelationListDialog;
 import org.openstreetmap.josm.gui.dialogs.SelectionListDialog;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
@@ -132,7 +132,7 @@ public class MapFrame extends JPanel implements Destroyable, LayerChangeListener
     public ValidatorDialog validatorDialog;
     public SelectionListDialog selectionListDialog;
     public PropertiesDialog propertiesDialog;
-    public NoteDialog noteDialog;
+    public NotesDialog noteDialog;
 
     // Map modes
     public final SelectAction mapModeSelect;
@@ -244,7 +244,7 @@ public class MapFrame extends JPanel implements Destroyable, LayerChangeListener
         addToggleDialog(new MapPaintDialog());
         //TODO: remove this if statement once note support is complete
         if(Main.pref.getBoolean("osm.notes.enableDownload", false)) {
-            addToggleDialog(noteDialog = new NoteDialog());
+            addToggleDialog(noteDialog = new NotesDialog());
         }
         toolBarToggle.setFloatable(false);
 
diff --git a/src/org/openstreetmap/josm/gui/MapStatus.java b/src/org/openstreetmap/josm/gui/MapStatus.java
index c6f83ce..391a289 100644
--- a/src/org/openstreetmap/josm/gui/MapStatus.java
+++ b/src/org/openstreetmap/josm/gui/MapStatus.java
@@ -119,8 +119,8 @@ public class MapStatus extends JPanel implements Helpful, Destroyable, Preferenc
     /**
      * The MapView this status belongs to.
      */
-    final MapView mv;
-    final Collector collector;
+    private final MapView mv;
+    private final Collector collector;
 
     public class BackgroundProgressMonitor implements ProgressMonitorDialog {
 
@@ -901,7 +901,7 @@ public class MapStatus extends JPanel implements Helpful, Destroyable, Preferenc
 
     @Override
     public String helpTopic() {
-        return ht("/Statusline");
+        return ht("/StatusBar");
     }
 
     @Override
diff --git a/src/org/openstreetmap/josm/gui/MapView.java b/src/org/openstreetmap/josm/gui/MapView.java
index 19f92b8..8965b57 100644
--- a/src/org/openstreetmap/josm/gui/MapView.java
+++ b/src/org/openstreetmap/josm/gui/MapView.java
@@ -36,12 +36,10 @@ import javax.swing.JFrame;
 import javax.swing.JPanel;
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.actions.AutoScaleAction;
 import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent;
 import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
-import org.openstreetmap.josm.data.DataSource;
 import org.openstreetmap.josm.data.SelectionChangedListener;
 import org.openstreetmap.josm.data.ViewportData;
 import org.openstreetmap.josm.data.coor.EastNorth;
@@ -232,6 +230,7 @@ public class MapView extends NavigatableComponent implements PropertyChangeListe
      * the viewport is derived from the layer data.
      */
     public MapView(final JPanel contentPane, final ViewportData viewportData) {
+        initialViewport = viewportData;
         Main.pref.addPreferenceChangeListener(this);
         final boolean unregisterTab = Shortcut.findShortcut(KeyEvent.VK_TAB, 0)!=null;
 
@@ -249,19 +248,6 @@ public class MapView extends NavigatableComponent implements PropertyChangeListe
                 scaler.setLocation(10,30);
 
                 mapMover = new MapMover(MapView.this, contentPane);
-                if (viewportData != null) {
-                    zoomTo(viewportData.getCenter(), viewportData.getScale());
-                } else {
-                    OsmDataLayer layer = getEditLayer();
-                    if (layer != null) {
-                        if (!zoomToDataSetBoundingBox(layer.data)) {
-                            // no bounding box defined
-                            AutoScaleAction.autoScale("data");
-                        }
-                    } else {
-                        AutoScaleAction.autoScale("layer");
-                    }
-                }
             }
         });
 
@@ -541,6 +527,10 @@ public class MapView extends NavigatableComponent implements PropertyChangeListe
      * Draw the component.
      */
     @Override public void paint(Graphics g) {
+        if (initialViewport != null) {
+            zoomTo(initialViewport);
+            initialViewport = null;
+        }
         if (BugReportExceptionHandler.exceptionHandlingInProgress())
             return;
 
@@ -696,19 +686,12 @@ public class MapView extends NavigatableComponent implements PropertyChangeListe
 
     /**
      * Set the new dimension to the view.
+     * 
+     * @deprecated use #zoomTo(BoundingXYVisitor)
      */
+    @Deprecated
     public void recalculateCenterScale(BoundingXYVisitor box) {
-        if (box == null) {
-            box = new BoundingXYVisitor();
-        }
-        if (box.getBounds() == null) {
-            box.visit(getProjection().getWorldBoundsLatLon());
-        }
-        if (!box.hasExtend()) {
-            box.enlargeBoundingBox();
-        }
-
-        zoomTo(box.getBounds());
+        zoomTo(box);
     }
 
     /**
@@ -867,32 +850,6 @@ public class MapView extends NavigatableComponent implements PropertyChangeListe
         return layers.contains(layer);
     }
 
-    /**
-     * Tries to zoom to the download boundingbox[es] of the current edit layer
-     * (aka {@link OsmDataLayer}). If the edit layer has multiple download bounding
-     * boxes it zooms to a large virtual bounding box containing all smaller ones.
-     *
-     * @return <code>true</code> if a zoom operation has been performed
-     */
-    public boolean zoomToDataSetBoundingBox(DataSet ds) {
-        // In case we already have an existing data layer ...
-        OsmDataLayer layer= getEditLayer();
-        if (layer == null)
-            return false;
-        Collection<DataSource> dataSources = ds.dataSources;
-        // ... with bounding box[es] of data loaded from OSM or a file...
-        BoundingXYVisitor bbox = new BoundingXYVisitor();
-        for (DataSource source : dataSources) {
-            bbox.visit(source.bounds);
-        }
-        if (bbox.hasExtend()) {
-            // ... we zoom to it's bounding box
-            recalculateCenterScale(bbox);
-            return true;
-        }
-        return false;
-    }
-
     public boolean addTemporaryLayer(MapViewPaintable mvp) {
         if (temporaryLayers.contains(mvp)) return false;
         return temporaryLayers.add(mvp);
diff --git a/src/org/openstreetmap/josm/gui/NavigatableComponent.java b/src/org/openstreetmap/josm/gui/NavigatableComponent.java
index 2d7b357..65f309f 100644
--- a/src/org/openstreetmap/josm/gui/NavigatableComponent.java
+++ b/src/org/openstreetmap/josm/gui/NavigatableComponent.java
@@ -31,6 +31,7 @@ import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.ProjectionBounds;
 import org.openstreetmap.josm.data.SystemOfMeasurement;
+import org.openstreetmap.josm.data.ViewportData;
 import org.openstreetmap.josm.data.coor.CachedLatLon;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -41,6 +42,7 @@ import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.WaySegment;
+import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.data.osm.visitor.paint.PaintColors;
 import org.openstreetmap.josm.data.preferences.IntegerProperty;
 import org.openstreetmap.josm.data.projection.Projection;
@@ -181,6 +183,8 @@ public class NavigatableComponent extends JComponent implements Helpful {
     private Rectangle paintRect = null;
     private Polygon paintPoly = null;
 
+    protected ViewportData initialViewport;
+
     /**
      * Constructs a new {@code NavigatableComponent}.
      */
@@ -405,11 +409,23 @@ public class NavigatableComponent extends JComponent implements Helpful {
     }
 
     /**
-     * Zoom to the given coordinate.
+     * Zoom to the given coordinate and scale.
+     *
      * @param newCenter The center x-value (easting) to zoom to.
      * @param newScale The scale to use.
      */
     public void zoomTo(EastNorth newCenter, double newScale) {
+        zoomTo(newCenter, newScale, false);
+    }
+
+    /**
+     * Zoom to the given coordinate and scale.
+     *
+     * @param newCenter The center x-value (easting) to zoom to.
+     * @param newScale The scale to use.
+     * @param initial true if this call initializes the viewport.
+     */
+    public void zoomTo(EastNorth newCenter, double newScale, boolean initial) {
         Bounds b = getProjection().getWorldBoundsLatLon();
         LatLon cl = Projections.inverseProject(newCenter);
         boolean changed = false;
@@ -445,30 +461,40 @@ public class NavigatableComponent extends JComponent implements Helpful {
         }
 
         if (!newCenter.equals(center) || (scale != newScale)) {
-            pushZoomUndo(center, scale);
-            zoomNoUndoTo(newCenter, newScale);
+            if (!initial) {
+                pushZoomUndo(center, scale);
+            }
+            zoomNoUndoTo(newCenter, newScale, initial);
         }
     }
 
     /**
      * Zoom to the given coordinate without adding to the zoom undo buffer.
+     *
      * @param newCenter The center x-value (easting) to zoom to.
      * @param newScale The scale to use.
+     * @param initial true if this call initializes the viewport.
      */
-    private void zoomNoUndoTo(EastNorth newCenter, double newScale) {
+    private void zoomNoUndoTo(EastNorth newCenter, double newScale, boolean intial) {
         if (!newCenter.equals(center)) {
             EastNorth oldCenter = center;
             center = newCenter;
-            firePropertyChange(PROPNAME_CENTER, oldCenter, newCenter);
+            if (!intial) {
+                firePropertyChange(PROPNAME_CENTER, oldCenter, newCenter);
+            }
         }
         if (scale != newScale) {
             double oldScale = scale;
             scale = newScale;
-            firePropertyChange(PROPNAME_SCALE, oldScale, newScale);
+            if (!intial) {
+                firePropertyChange(PROPNAME_SCALE, oldScale, newScale);
+            }
         }
 
-        repaint();
-        fireZoomChanged();
+        if (!intial) {
+            repaint();
+            fireZoomChanged();
+        }
     }
 
     public void zoomTo(EastNorth newCenter) {
@@ -556,6 +582,34 @@ public class NavigatableComponent extends JComponent implements Helpful {
                 getProjection().latlon2eastNorth(box.getMax())));
     }
 
+    public void zoomTo(ViewportData viewport) {
+        if (viewport == null) return;
+        if (viewport.getBounds() != null) {
+            BoundingXYVisitor box = new BoundingXYVisitor();
+            box.visit(viewport.getBounds());
+            zoomTo(box);
+        } else {
+            zoomTo(viewport.getCenter(), viewport.getScale(), true);
+        }
+    }
+
+    /**
+     * Set the new dimension to the view.
+     */
+    public void zoomTo(BoundingXYVisitor box) {
+        if (box == null) {
+            box = new BoundingXYVisitor();
+        }
+        if (box.getBounds() == null) {
+            box.visit(getProjection().getWorldBoundsLatLon());
+        }
+        if (!box.hasExtend()) {
+            box.enlargeBoundingBox();
+        }
+
+        zoomTo(box.getBounds());
+    }
+
     private class ZoomData {
         final LatLon center;
         final double scale;
@@ -594,7 +648,7 @@ public class NavigatableComponent extends JComponent implements Helpful {
         if (!zoomUndoBuffer.isEmpty()) {
             ZoomData zoom = zoomUndoBuffer.pop();
             zoomRedoBuffer.push(new ZoomData(center, scale));
-            zoomNoUndoTo(zoom.getCenterEastNorth(), zoom.getScale());
+            zoomNoUndoTo(zoom.getCenterEastNorth(), zoom.getScale(), false);
         }
     }
 
@@ -602,7 +656,7 @@ public class NavigatableComponent extends JComponent implements Helpful {
         if (!zoomRedoBuffer.isEmpty()) {
             ZoomData zoom = zoomRedoBuffer.pop();
             zoomUndoBuffer.push(new ZoomData(center, scale));
-            zoomNoUndoTo(zoom.getCenterEastNorth(), zoom.getScale());
+            zoomNoUndoTo(zoom.getCenterEastNorth(), zoom.getScale(), false);
         }
     }
 
diff --git a/src/org/openstreetmap/josm/gui/NoteSortDialog.java b/src/org/openstreetmap/josm/gui/NoteSortDialog.java
new file mode 100644
index 0000000..ef9fc8d
--- /dev/null
+++ b/src/org/openstreetmap/josm/gui/NoteSortDialog.java
@@ -0,0 +1,88 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Component;
+import java.util.Comparator;
+
+import javax.swing.BoxLayout;
+import javax.swing.ButtonGroup;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.notes.Note;
+import org.openstreetmap.josm.data.osm.NoteData;
+
+/**
+ * A dialog to allow the user to choose a sorting method for the list of notes
+ */
+public class NoteSortDialog extends ExtendedDialog {
+
+    private JRadioButton defaultSort = new JRadioButton(tr("Default (open, closed, new)"));
+    private JRadioButton userSort = new JRadioButton(tr("Username"));
+    private JRadioButton dateSort = new JRadioButton(tr("Created date"));
+    private JRadioButton lastActionSort = new JRadioButton(tr("Last change date"));
+
+    /**
+     * Construct a new dialog. The constructor automatically adds a "Cancel" button.
+     * @param parent - Parent component. Usually Main.parent
+     * @param title - Translated text to display in the title bar of the dialog
+     * @param buttonText - Translated text to be shown on the action button
+     */
+    public NoteSortDialog(Component parent, String title, String buttonText) {
+        super(parent, title, new String[] {buttonText, tr("Cancel")});
+    }
+
+    /**
+     * Builds and displays the window to the user.
+     * @param currentSortMode - The current sort mode which will be pre-selected in the list
+     */
+    public void showSortDialog(Comparator<Note> currentSortMode) {
+        JLabel label = new JLabel(tr("Select note sorting method"));
+        if (currentSortMode == NoteData.DEFAULT_COMPARATOR) {
+            defaultSort.setSelected(true);
+        } else if (currentSortMode == NoteData.DATE_COMPARATOR) {
+            dateSort.setSelected(true);
+        } else if (currentSortMode == NoteData.USER_COMPARATOR) {
+            userSort.setSelected(true);
+        } else if (currentSortMode == NoteData.LAST_ACTION_COMPARATOR) {
+            lastActionSort.setSelected(true);
+        } else {
+            Main.warn("sort mode not recognized");
+        }
+
+        ButtonGroup bg = new ButtonGroup();
+        bg.add(defaultSort);
+        bg.add(userSort);
+        bg.add(dateSort);
+        bg.add(lastActionSort);
+
+        JPanel panel = new JPanel();
+        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
+        panel.add(label);
+        panel.add(defaultSort);
+        panel.add(userSort);
+        panel.add(dateSort);
+        panel.add(lastActionSort);
+
+        setContent(panel);
+
+        showDialog();
+    }
+
+    /** @return Note comparator that the user has selected */
+    public Comparator<Note> getSelectedComparator() {
+        if (dateSort.isSelected()) {
+            return NoteData.DATE_COMPARATOR;
+        } else if (userSort.isSelected()) {
+            return NoteData.USER_COMPARATOR;
+        } else if (lastActionSort.isSelected()) {
+            return NoteData.LAST_ACTION_COMPARATOR;
+        } else {
+            return NoteData.DEFAULT_COMPARATOR;
+        }
+    }
+}
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java b/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
index 5bbfc20..704702f 100644
--- a/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
+++ b/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
@@ -371,7 +371,7 @@ public abstract class ListMergeModel<T extends PrimitiveId> extends Observable {
 
     private void copy(ListRole sourceRole, int[] rows, int position) {
         if (position < 0 || position > getMergedEntriesSize())
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Position must be between 0 and "+getMergedEntriesSize()+" but is "+position);
         List<T> newItems = new ArrayList<>(rows.length);
         List<T> source = entries.get(sourceRole);
         List<PrimitiveId> deletedIds = new ArrayList<>();
diff --git a/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java b/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java
index c96d95a..e4d37a4 100644
--- a/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java
+++ b/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java
@@ -34,7 +34,7 @@ public class MultiValueResolutionDecision {
     };
 
     /**
-     * constuctor
+     * constructor
      */
     public MultiValueResolutionDecision() {
         type = MultiValueDecisionType.UNDECIDED;
@@ -147,8 +147,8 @@ public class MultiValueResolutionDecision {
         case UNDECIDED: throw new IllegalStateException(tr("Not decided yet."));
         case KEEP_ONE: return value;
         case SUM_ALL_NUMERIC: return tags.getSummedValues(getKey());
-        case KEEP_NONE: return null;
         case KEEP_ALL: return tags.getJoinedValues(getKey());
+        case KEEP_NONE:
         default: return null;
         }
     }
@@ -307,7 +307,7 @@ public class MultiValueResolutionDecision {
         case KEEP_ALL: return new Tag(getKey(), tags.getJoinedValues(getKey()));
         case KEEP_ONE: return new Tag(getKey(),value);
         case KEEP_NONE: return new Tag(getKey(), "");
-        case UNDECIDED: return null;
+        case UNDECIDED:
         default: return null;
         }
     }
diff --git a/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java b/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java
index f721d92..d7ca1ac 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java
@@ -185,7 +185,7 @@ public class ChangesetDialog extends ToggleDialog{
 
         cbInSelectionOnly.addItemListener(new FilterChangeHandler());
 
-        HelpUtil.setHelpContext(pnl, HelpUtil.ht("/Dialog/ChangesetListDialog"));
+        HelpUtil.setHelpContext(pnl, HelpUtil.ht("/Dialog/ChangesetList"));
 
         // -- select objects action
         selectObjectsAction = new SelectObjectsAction();
diff --git a/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java b/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
index 3db2d24..bcf1e98 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
@@ -9,11 +9,12 @@ import javax.swing.BoxLayout;
 import javax.swing.JPanel;
 import javax.swing.JSplitPane;
 
-import org.openstreetmap.josm.gui.widgets.MultiSplitPane;
 import org.openstreetmap.josm.gui.widgets.MultiSplitLayout.Divider;
 import org.openstreetmap.josm.gui.widgets.MultiSplitLayout.Leaf;
 import org.openstreetmap.josm.gui.widgets.MultiSplitLayout.Node;
 import org.openstreetmap.josm.gui.widgets.MultiSplitLayout.Split;
+import org.openstreetmap.josm.gui.widgets.MultiSplitPane;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.Destroyable;
 
 public class DialogsPanel extends JPanel implements Destroyable {
@@ -160,8 +161,7 @@ public class DialogsPanel extends JPanel implements Destroyable {
                 }
             }
         } else {
-            if (triggeredBy == null)
-                throw new IllegalArgumentException();
+            CheckParameterUtil.ensureParameterNotNull(triggeredBy, "triggeredBy");
 
             int sumP = 0;   // sum of preferred heights of dialogs in default view (without the triggering dialog)
             int sumA = 0;   // sum of actual heights of dialogs in default view (without the triggering dialog)
diff --git a/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java b/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
index 84ed5e3..f1de07c 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
@@ -5,7 +5,6 @@ import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
 import java.awt.Dimension;
-import java.awt.Font;
 import java.awt.GridBagLayout;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -44,6 +43,7 @@ import org.openstreetmap.josm.gui.mappaint.StyleCache.StyleList;
 import org.openstreetmap.josm.gui.mappaint.StyleSource;
 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource;
 import org.openstreetmap.josm.gui.mappaint.xml.XmlStyleSource;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.gui.widgets.JosmTextArea;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Geometry;
@@ -94,7 +94,7 @@ public class InspectPrimitiveDialog extends ExtendedDialog {
     protected JPanel buildDataPanel() {
         JPanel p = new JPanel(new GridBagLayout());
         JosmTextArea txtData = new JosmTextArea();
-        txtData.setFont(new Font("Monospaced", txtData.getFont().getStyle(), txtData.getFont().getSize()));
+        txtData.setFont(GuiHelper.getMonospacedFont(txtData));
         txtData.setEditable(false);
         txtData.setText(buildDataText());
         txtData.setSelectionStart(0);
@@ -324,7 +324,7 @@ public class InspectPrimitiveDialog extends ExtendedDialog {
     protected void buildMapPaintPanel(JPanel p) {
         p.setLayout(new GridBagLayout());
         txtMappaint = new JosmTextArea();
-        txtMappaint.setFont(new Font("Monospaced", txtMappaint.getFont().getStyle(), txtMappaint.getFont().getSize()));
+        txtMappaint.setFont(GuiHelper.getMonospacedFont(txtMappaint));
         txtMappaint.setEditable(false);
 
         p.add(new JScrollPane(txtMappaint), GBC.std().fill());
diff --git a/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java b/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java
index 126dee5..f68437a 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java
@@ -72,6 +72,7 @@ import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource;
 import org.openstreetmap.josm.gui.preferences.SourceEntry;
 import org.openstreetmap.josm.gui.preferences.map.MapPaintPreference;
 import org.openstreetmap.josm.gui.util.FileFilterAllFiles;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.gui.widgets.AbstractFileChooser;
 import org.openstreetmap.josm.gui.widgets.FileChooserManager;
 import org.openstreetmap.josm.gui.widgets.HtmlPanel;
@@ -614,7 +615,7 @@ public class MapPaintDialog extends ToggleDialog {
 
         private void buildSourcePanel(StyleSource s, JPanel p) {
             JosmTextArea txtSource = new JosmTextArea();
-            txtSource.setFont(new Font("Monospaced", txtSource.getFont().getStyle(), txtSource.getFont().getSize()));
+            txtSource.setFont(GuiHelper.getMonospacedFont(txtSource));
             txtSource.setEditable(false);
             p.add(new JScrollPane(txtSource), GBC.std().fill());
 
@@ -635,7 +636,7 @@ public class MapPaintDialog extends ToggleDialog {
 
         private void buildErrorsPanel(StyleSource s, JPanel p) {
             JosmTextArea txtErrors = new JosmTextArea();
-            txtErrors.setFont(new Font("Monospaced", txtErrors.getFont().getStyle(), txtErrors.getFont().getSize()));
+            txtErrors.setFont(GuiHelper.getMonospacedFont(txtErrors));
             txtErrors.setEditable(false);
             p.add(new JScrollPane(txtErrors), GBC.std().fill());
             for (Throwable t : s.getErrors()) {
diff --git a/src/org/openstreetmap/josm/gui/dialogs/NoteDialog.java b/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java
similarity index 89%
rename from src/org/openstreetmap/josm/gui/dialogs/NoteDialog.java
rename to src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java
index 121e5aa..0dcad7e 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/NoteDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java
@@ -35,16 +35,18 @@ import org.openstreetmap.josm.data.osm.NoteData;
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
 import org.openstreetmap.josm.gui.NoteInputDialog;
+import org.openstreetmap.josm.gui.NoteSortDialog;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.NoteLayer;
 import org.openstreetmap.josm.tools.ImageProvider;
 
 /**
- * Dialog to display and manipulate notes
+ * Dialog to display and manipulate notes.
+ * @since 7852 (renaming)
+ * @since 7608 (creation)
  */
-public class NoteDialog extends ToggleDialog implements LayerChangeListener {
-
+public class NotesDialog extends ToggleDialog implements LayerChangeListener {
 
     /** Small icon size for use in graphics calculations */
     public static final int ICON_SMALL_SIZE = 16;
@@ -74,23 +76,22 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
     private final CloseAction closeAction;
     private final NewAction newAction;
     private final ReopenAction reopenAction;
+    private final SortAction sortAction;
     private final UploadNotesAction uploadAction;
 
     private NoteData noteData;
 
     /** Creates a new toggle dialog for notes */
-    public NoteDialog() {
+    public NotesDialog() {
         super("Notes", "notes/note_open.png", "List of notes", null, 150);
-        if (Main.isDebugEnabled()) {
-            Main.debug("constructed note dialog");
-        }
-
         addCommentAction = new AddCommentAction();
         closeAction = new CloseAction();
         newAction = new NewAction();
         reopenAction = new ReopenAction();
+        sortAction = new SortAction();
         uploadAction = new UploadNotesAction();
         buildDialog();
+        MapView.addLayerChangeListener(this);
     }
 
     @Override
@@ -120,6 +121,7 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
                 new SideButton(addCommentAction, false),
                 new SideButton(closeAction, false),
                 new SideButton(reopenAction, false),
+                new SideButton(sortAction, false),
                 new SideButton(uploadAction, false)}));
         updateButtonStates();
     }
@@ -143,32 +145,29 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
         } else {
             uploadAction.setEnabled(true);
         }
+        //enable sort button if any notes are loaded
+        if (noteData == null || noteData.getNotes().isEmpty()) {
+            sortAction.setEnabled(false);
+        } else {
+            sortAction.setEnabled(true);
+        }
     }
 
     @Override
-    public void showNotify() {
-        MapView.addLayerChangeListener(this);
-    }
+    public void showNotify() { }
 
     @Override
-    public void hideNotify() {
-        MapView.removeLayerChangeListener(this);
-    }
+    public void hideNotify() { }
 
     @Override
     public void activeLayerChange(Layer oldLayer, Layer newLayer) { }
 
     @Override
     public void layerAdded(Layer newLayer) {
-        if (Main.isDebugEnabled()) {
-            Main.debug("layer added: " + newLayer);
-        }
         if (newLayer instanceof NoteLayer) {
-            if (Main.isDebugEnabled()) {
-                Main.debug("note layer added");
-            }
             noteData = ((NoteLayer)newLayer).getNoteData();
             model.setData(noteData.getNotes());
+            setNoteList(noteData.getNotes());
         }
     }
 
@@ -227,7 +226,7 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
                 }
                 String toolTipText = userName + " @ " + sdf.format(note.getCreatedAt());
                 JLabel jlabel = (JLabel)comp;
-                jlabel.setText(text);
+                jlabel.setText(note.getId() + ": " +text);
                 ImageIcon icon;
                 if (note.getId() < 0) {
                     icon = ICON_NEW_SMALL;
@@ -295,7 +294,7 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
                 return;
             }
             NoteInputDialog dialog = new NoteInputDialog(Main.parent, tr("Comment on note"), tr("Add comment"));
-            dialog.showNoteDialog(tr("Add comment to note:"), NoteDialog.ICON_COMMENT);
+            dialog.showNoteDialog(tr("Add comment to note:"), NotesDialog.ICON_COMMENT);
             if (dialog.getValue() != 1) {
                 Main.debug("User aborted note reopening");
                 return;
@@ -315,7 +314,7 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
         @Override
         public void actionPerformed(ActionEvent e) {
             NoteInputDialog dialog = new NoteInputDialog(Main.parent, tr("Close note"), tr("Close note"));
-            dialog.showNoteDialog(tr("Close note with message:"), NoteDialog.ICON_CLOSED);
+            dialog.showNoteDialog(tr("Close note with message:"), NotesDialog.ICON_CLOSED);
             if (dialog.getValue() != 1) {
                 Main.debug("User aborted note closing");
                 return;
@@ -353,7 +352,7 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
         @Override
         public void actionPerformed(ActionEvent e) {
             NoteInputDialog dialog = new NoteInputDialog(Main.parent, tr("Reopen note"), tr("Reopen note"));
-            dialog.showNoteDialog(tr("Reopen note with message:"), NoteDialog.ICON_OPEN);
+            dialog.showNoteDialog(tr("Reopen note with message:"), NotesDialog.ICON_OPEN);
             if (dialog.getValue() != 1) {
                 Main.debug("User aborted note reopening");
                 return;
@@ -363,4 +362,22 @@ public class NoteDialog extends ToggleDialog implements LayerChangeListener {
             noteData.reOpenNote(note, dialog.getInputText());
         }
     }
+
+    class SortAction extends AbstractAction {
+
+        public SortAction() {
+            putValue(SHORT_DESCRIPTION, tr("Sort notes"));
+            putValue(NAME, tr("Sort"));
+            putValue(SMALL_ICON, ImageProvider.get("dialogs", "sort"));
+        }
+
+        @Override
+        public void actionPerformed(ActionEvent e) {
+            NoteSortDialog sortDialog = new NoteSortDialog(Main.parent, tr("Sort notes"), tr("Apply"));
+            sortDialog.showSortDialog(noteData.getCurrentSortMethod());
+            if (sortDialog.getValue() == 1) {
+                noteData.setSortMethod(sortDialog.getSelectedComparator());
+            }
+        }
+    }
 }
diff --git a/src/org/openstreetmap/josm/gui/dialogs/OsmIdSelectionDialog.java b/src/org/openstreetmap/josm/gui/dialogs/OsmIdSelectionDialog.java
index 8e698c9..f8d8ada 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/OsmIdSelectionDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/OsmIdSelectionDialog.java
@@ -1,26 +1,9 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.dialogs;
 
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
-import org.openstreetmap.josm.data.osm.PrimitiveId;
-import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
-import org.openstreetmap.josm.gui.ExtendedDialog;
-import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
-import org.openstreetmap.josm.gui.widgets.HtmlPanel;
-import org.openstreetmap.josm.gui.widgets.JosmTextField;
-import org.openstreetmap.josm.gui.widgets.OsmIdTextField;
-import org.openstreetmap.josm.gui.widgets.OsmPrimitiveTypesComboBox;
-import org.openstreetmap.josm.tools.Utils;
+import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.tools.I18n.trc;
 
-import javax.swing.BorderFactory;
-import javax.swing.GroupLayout;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.KeyStroke;
-import javax.swing.border.EtchedBorder;
-import javax.swing.plaf.basic.BasicComboBoxEditor;
 import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.event.ItemEvent;
@@ -36,8 +19,26 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 
-import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.trc;
+import javax.swing.BorderFactory;
+import javax.swing.GroupLayout;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.KeyStroke;
+import javax.swing.border.EtchedBorder;
+import javax.swing.plaf.basic.BasicComboBoxEditor;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
+import org.openstreetmap.josm.data.osm.PrimitiveId;
+import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
+import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
+import org.openstreetmap.josm.gui.widgets.HtmlPanel;
+import org.openstreetmap.josm.gui.widgets.JosmTextField;
+import org.openstreetmap.josm.gui.widgets.OsmIdTextField;
+import org.openstreetmap.josm.gui.widgets.OsmPrimitiveTypesComboBox;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
  * Dialog prompt to user to let him choose OSM primitives by specifying their type and IDs.
@@ -196,7 +197,7 @@ public class OsmIdSelectionDialog extends ExtendedDialog implements WindowListen
 
     protected void tryToPasteFromClipboard(OsmIdTextField tfId, OsmPrimitiveTypesComboBox cbType) {
         String buf = Utils.getClipboardContent();
-        if (buf == null || buf.length()==0) return;
+        if (buf == null || buf.isEmpty()) return;
         if (buf.length() > Main.pref.getInteger("downloadprimitive.max-autopaste-length", 2000)) return;
         final List<SimplePrimitiveId> ids = SimplePrimitiveId.fuzzyParse(buf);
         if (!ids.isEmpty()) {
diff --git a/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java b/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
index 483b3f3..3a40939 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
@@ -81,17 +81,17 @@ import org.openstreetmap.josm.tools.Utils;
  */
 public class SelectionListDialog extends ToggleDialog  {
     private JList<OsmPrimitive> lstPrimitives;
-    private DefaultListSelectionModel selectionModel  = new DefaultListSelectionModel();
-    private SelectionListModel model = new SelectionListModel(selectionModel);
-
-    private SelectAction actSelect = new SelectAction();
-    private SearchAction actSearch = new SearchAction();
-    private ShowHistoryAction actShowHistory = new ShowHistoryAction();
-    private ZoomToJOSMSelectionAction actZoomToJOSMSelection = new ZoomToJOSMSelectionAction();
-    private ZoomToListSelection actZoomToListSelection = new ZoomToListSelection();
-    private SelectInRelationListAction actSetRelationSelection = new SelectInRelationListAction();
-    private EditRelationAction actEditRelationSelection = new EditRelationAction();
-    private DownloadSelectedIncompleteMembersAction actDownloadSelectedIncompleteMembers = new DownloadSelectedIncompleteMembersAction();
+    private final DefaultListSelectionModel selectionModel = new DefaultListSelectionModel();
+    private final SelectionListModel model = new SelectionListModel(selectionModel);
+
+    private final SelectAction actSelect = new SelectAction();
+    private final SearchAction actSearch = new SearchAction();
+    private final ShowHistoryAction actShowHistory = new ShowHistoryAction();
+    private final ZoomToJOSMSelectionAction actZoomToJOSMSelection = new ZoomToJOSMSelectionAction();
+    private final ZoomToListSelection actZoomToListSelection = new ZoomToListSelection();
+    private final SelectInRelationListAction actSetRelationSelection = new SelectInRelationListAction();
+    private final EditRelationAction actEditRelationSelection = new EditRelationAction();
+    private final DownloadSelectedIncompleteMembersAction actDownloadSelIncompleteMembers = new DownloadSelectedIncompleteMembersAction();
 
     /** the popup menu and its handler */
     private final ListPopupMenu popupMenu;
@@ -168,6 +168,7 @@ public class SelectionListDialog extends ToggleDialog  {
     @Override
     public void showNotify() {
         MapView.addEditLayerChangeListener(model);
+        SelectionEventManager.getInstance().addSelectionListener(actShowHistory, FireMode.IN_EDT_CONSOLIDATED);
         SelectionEventManager.getInstance().addSelectionListener(model, FireMode.IN_EDT_CONSOLIDATED);
         DatasetEventManager.getInstance().addDatasetListener(model, FireMode.IN_EDT);
         MapView.addEditLayerChangeListener(actSearch);
@@ -184,6 +185,7 @@ public class SelectionListDialog extends ToggleDialog  {
     public void hideNotify() {
         MapView.removeEditLayerChangeListener(actSearch);
         MapView.removeEditLayerChangeListener(model);
+        SelectionEventManager.getInstance().removeSelectionListener(actShowHistory);
         SelectionEventManager.getInstance().removeSelectionListener(model);
         DatasetEventManager.getInstance().removeDatasetListener(model);
     }
@@ -236,7 +238,7 @@ public class SelectionListDialog extends ToggleDialog  {
         handler.addAction(actSetRelationSelection);
         handler.addAction(actEditRelationSelection);
         handler.addSeparator();
-        handler.addAction(actDownloadSelectedIncompleteMembers);
+        handler.addAction(actDownloadSelIncompleteMembers);
         return handler;
     }
 
@@ -347,7 +349,7 @@ public class SelectionListDialog extends ToggleDialog  {
     /**
      * The action for showing history information of the current history item.
      */
-    class ShowHistoryAction extends AbstractAction implements ListSelectionListener {
+    class ShowHistoryAction extends AbstractAction implements ListSelectionListener, SelectionChangedListener {
         /**
          * Constructs a new {@code ShowHistoryAction}.
          */
@@ -355,23 +357,33 @@ public class SelectionListDialog extends ToggleDialog  {
             putValue(NAME, tr("History"));
             putValue(SHORT_DESCRIPTION, tr("Display the history of the selected objects."));
             putValue(SMALL_ICON, ImageProvider.get("dialogs", "history"));
-            updateEnabledState();
+            updateEnabledState(model.getSize());
         }
 
         @Override
         public void actionPerformed(ActionEvent e) {
             Collection<OsmPrimitive> sel = model.getSelected();
-            if (sel.isEmpty())return;
+            if (sel.isEmpty() && model.getSize() != 1) {
+                return;
+            } else if (sel.isEmpty()) {
+                sel = Collections.singleton(model.getElementAt(0));
+            }
             HistoryBrowserDialogManager.getInstance().showHistory(sel);
         }
 
-        protected void updateEnabledState() {
-            setEnabled(!model.getSelected().isEmpty());
+        protected void updateEnabledState(int osmSelectionSize) {
+            // See #10830 - allow to click on history button is a single object is selected, even if not selected again in the list
+            setEnabled(!model.getSelected().isEmpty() || osmSelectionSize == 1);
         }
 
         @Override
         public void valueChanged(ListSelectionEvent e) {
-            updateEnabledState();
+            updateEnabledState(model.getSize());
+        }
+
+        @Override
+        public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
+            updateEnabledState(newSelection.size());
         }
     }
 
@@ -438,7 +450,7 @@ public class SelectionListDialog extends ToggleDialog  {
             if (box.getBounds() == null)
                 return;
             box.enlargeBoundingBox();
-            Main.map.mapView.recalculateCenterScale(box);
+            Main.map.mapView.zoomTo(box);
         }
 
         protected void updateEnabledState() {
diff --git a/src/org/openstreetmap/josm/gui/dialogs/changeset/query/ChangesetQueryDialog.java b/src/org/openstreetmap/josm/gui/dialogs/changeset/query/ChangesetQueryDialog.java
index a350bfd..f338bb8 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/changeset/query/ChangesetQueryDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/changeset/query/ChangesetQueryDialog.java
@@ -72,7 +72,7 @@ public class ChangesetQueryDialog extends JDialog {
         pnl.add(new SideButton(new CancelAction()));
 
         // -- help action
-        pnl.add(new SideButton(new ContextSensitiveHelpAction(HelpUtil.ht("/Dialog/ChangesetQueryDialog"))));
+        pnl.add(new SideButton(new ContextSensitiveHelpAction(HelpUtil.ht("/Dialog/ChangesetQuery"))));
 
         return pnl;
     }
diff --git a/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java b/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
index d6ad964..e18d8f1 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
@@ -84,6 +84,7 @@ import org.openstreetmap.josm.gui.PopupMenuHandler;
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
 import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
+import org.openstreetmap.josm.gui.help.HelpUtil;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.tagging.PresetHandler;
 import org.openstreetmap.josm.gui.tagging.TaggingPreset;
@@ -234,6 +235,8 @@ public class PropertiesDialog extends ToggleDialog implements SelectionChangedLi
                 Shortcut.registerShortcut("subwindow:properties", tr("Toggle: {0}", tr("Tags/Memberships")), KeyEvent.VK_P,
                         Shortcut.ALT_SHIFT), 150, true);
 
+        HelpUtil.setHelpContext(this, HelpUtil.ht("/Dialog/TagsMembership"));
+
         setupTagsMenu();
         buildTagsTable();
 
diff --git a/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java b/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
index 294e305..e8cd97f 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
@@ -506,6 +506,7 @@ class TagEditHelper {
                    Collections.sort(valueList, comparator);
 
                    values.setPossibleACItems(valueList);
+                   values.getEditor().selectAll();
                    objKey=key;
                }
            };
diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java b/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
index 4b3325e..f25a7dd 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
@@ -663,9 +663,10 @@ public class GenericRelationEditor extends RelationEditor  {
                             tr("Remove them, clean up relation")
             );
             switch(ret) {
-            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return;
-            case JOptionPane.CLOSED_OPTION: return;
-            case JOptionPane.NO_OPTION: return;
+            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION:
+            case JOptionPane.CLOSED_OPTION:
+            case JOptionPane.NO_OPTION:
+                return;
             case JOptionPane.YES_OPTION:
                 memberTableModel.removeMembersReferringTo(toCheck);
                 break;
@@ -713,11 +714,14 @@ public class GenericRelationEditor extends RelationEditor  {
                 null
         );
         switch(ret) {
-        case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION : return true;
-        case JOptionPane.YES_OPTION: return true;
-        case JOptionPane.NO_OPTION: return false;
-        case JOptionPane.CLOSED_OPTION: return false;
-        case JOptionPane.CANCEL_OPTION: throw new AddAbortException();
+        case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION:
+        case JOptionPane.YES_OPTION:
+            return true;
+        case JOptionPane.NO_OPTION:
+        case JOptionPane.CLOSED_OPTION:
+            return false;
+        case JOptionPane.CANCEL_OPTION:
+            throw new AddAbortException();
         }
         // should not happen
         return false;
@@ -1580,8 +1584,9 @@ public class GenericRelationEditor extends RelationEditor  {
                     options[0]
             );
             switch(ret) {
-            case JOptionPane.YES_OPTION: return true;
-            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return true;
+            case JOptionPane.YES_OPTION:
+            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION:
+                return true;
             default:
                 return false;
             }
diff --git a/src/org/openstreetmap/josm/gui/download/DownloadDialog.java b/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
index afed8dd..18b6e8f 100644
--- a/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
+++ b/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
@@ -483,8 +483,8 @@ public class DownloadDialog extends JDialog  {
                 );
                 return;
             }
-            //TODO: add notes into this logic once they are fully enabled in core
-            if (!isDownloadOsmData() && !isDownloadGpxData()) {
+            if (!isDownloadOsmData() && !isDownloadGpxData() && !isDownloadNotes()) {
+                //TODO: When notes are enabled, change this message to include downloading notes
                 JOptionPane.showMessageDialog(
                         DownloadDialog.this,
                         tr("<html>Neither <strong>{0}</strong> nor <strong>{1}</strong> is enabled.<br>"
diff --git a/src/org/openstreetmap/josm/gui/help/HelpUtil.java b/src/org/openstreetmap/josm/gui/help/HelpUtil.java
index 88388c7..27de517 100644
--- a/src/org/openstreetmap/josm/gui/help/HelpUtil.java
+++ b/src/org/openstreetmap/josm/gui/help/HelpUtil.java
@@ -151,6 +151,7 @@ public final class HelpUtil {
 
     /**
      * Replies the context specific help topic configured for <code>context</code>.
+     * @param context The UI object used as context
      *
      * @return the help topic. null, if no context specific help topic is found
      */
@@ -200,16 +201,13 @@ public final class HelpUtil {
      * code. Example: /Dialog/RelationEditor is a relative help topic, /De:Help/Dialog/RelationEditor
      * is not.
      *
-     * @param component the component  the component
+     * @param component the component
      * @param relativeHelpTopic the help topic. Set to the default help topic if null.
      */
     public static void setHelpContext(JComponent component, String relativeHelpTopic) {
-        if (relativeHelpTopic == null) {
-            relativeHelpTopic = "/";
-        }
         component.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("F1"), "help");
         component.getActionMap().put("help", getHelpAction());
-        component.putClientProperty("help", relativeHelpTopic);
+        component.putClientProperty("help", relativeHelpTopic == null ? "/" : relativeHelpTopic);
     }
 
     /**
diff --git a/src/org/openstreetmap/josm/gui/history/TagInfoViewer.java b/src/org/openstreetmap/josm/gui/history/TagInfoViewer.java
index d785ffc..d354dde 100644
--- a/src/org/openstreetmap/josm/gui/history/TagInfoViewer.java
+++ b/src/org/openstreetmap/josm/gui/history/TagInfoViewer.java
@@ -16,6 +16,7 @@ import javax.swing.ListSelectionModel;
  */
 public class TagInfoViewer extends HistoryViewerPanel {
 
+    @Override
     protected JTable buildReferenceTable() {
         JTable table = new JTable(
                 model.getTagTableModel(PointInTimeType.REFERENCE_POINT_IN_TIME),
@@ -27,6 +28,7 @@ public class TagInfoViewer extends HistoryViewerPanel {
         return table;
     }
 
+    @Override
     protected JTable buildCurrentTable() {
         JTable table = new JTable(
                 model.getTagTableModel(PointInTimeType.CURRENT_POINT_IN_TIME),
diff --git a/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java b/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
index 3aec3d9..d5dbe9b 100644
--- a/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
+++ b/src/org/openstreetmap/josm/gui/history/TagTableColumnModel.java
@@ -8,17 +8,17 @@ import javax.swing.table.TableColumn;
 
 /**
  * The {@link javax.swing.table.TableColumnModel} for the table with the list of tags
- *
+ * @since 1709
  */
-public class TagTableColumnModel extends DefaultTableColumnModel{
+public class TagTableColumnModel extends DefaultTableColumnModel {
     protected void createColumns() {
         TableColumn col = null;
 
         TagTableCellRenderer renderer = new TagTableCellRenderer();
 
-        // column 0 - Name
+        // column 0 - Key
         col = new TableColumn(0);
-        col.setHeaderValue(tr("Name"));
+        col.setHeaderValue(tr("Key"));
         col.setCellRenderer(renderer);
         addColumn(col);
 
@@ -30,6 +30,9 @@ public class TagTableColumnModel extends DefaultTableColumnModel{
 
     }
 
+    /**
+     * Constructs a new {@code TagTableColumnModel}.
+     */
     public TagTableColumnModel() {
         createColumns();
     }
diff --git a/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java b/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java
index cd7e7b7..2e17266 100644
--- a/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java
+++ b/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java
@@ -212,7 +212,7 @@ public class DownloadPrimitivesWithReferrersTask extends PleaseWaitRunnable {
             p.add(missing, GBC.eol());
         }
         JosmTextArea txt = new JosmTextArea();
-        txt.setFont(new Font("Monospaced", txt.getFont().getStyle(), txt.getFont().getSize()));
+        txt.setFont(GuiHelper.getMonospacedFont(txt));
         txt.setEditable(false);
         txt.setBackground(p.getBackground());
         txt.setColumns(40);
diff --git a/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java b/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
index 68544b6..bc9dead 100644
--- a/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
+++ b/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
@@ -251,8 +251,6 @@ public class UploadStrategySelectionPanel extends JPanel implements PropertyChan
         UploadStrategySpecification spec = new UploadStrategySpecification();
         switch(strategy) {
         case INDIVIDUAL_OBJECTS_STRATEGY:
-            spec.setStrategy(strategy);
-            break;
         case SINGLE_REQUEST_STRATEGY:
             spec.setStrategy(strategy);
             break;
diff --git a/src/org/openstreetmap/josm/gui/layer/NoteLayer.java b/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
index 43399ae..2c9442a 100644
--- a/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
@@ -29,7 +29,7 @@ import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
-import org.openstreetmap.josm.gui.dialogs.NoteDialog;
+import org.openstreetmap.josm.gui.dialogs.NotesDialog;
 import org.openstreetmap.josm.io.NoteExporter;
 import org.openstreetmap.josm.io.XmlWriter;
 import org.openstreetmap.josm.tools.ColorHelper;
@@ -49,20 +49,17 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
     public NoteLayer(List<Note> notes, String name) {
         super(name);
         noteData = new NoteData(notes);
-        init();
     }
 
     /** Convenience constructor that creates a layer with an empty note list */
     public NoteLayer() {
         super(tr("Notes"));
         noteData = new NoteData();
-        init();
     }
 
-    private void init() {
-        if (Main.map != null && Main.map.mapView != null) {
-            Main.map.mapView.addMouseListener(this);
-        }
+    @Override
+    public void hookUpMapView() {
+        Main.map.mapView.addMouseListener(this);
     }
 
     /**
@@ -101,11 +98,11 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
 
             ImageIcon icon = null;
             if (note.getId() < 0) {
-                icon = NoteDialog.ICON_NEW_SMALL;
+                icon = NotesDialog.ICON_NEW_SMALL;
             } else if (note.getState() == State.closed) {
-                icon = NoteDialog.ICON_CLOSED_SMALL;
+                icon = NotesDialog.ICON_CLOSED_SMALL;
             } else {
-                icon = NoteDialog.ICON_OPEN_SMALL;
+                icon = NotesDialog.ICON_OPEN_SMALL;
             }
             int width = icon.getIconWidth();
             int height = icon.getIconHeight();
@@ -113,14 +110,15 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
         }
         if (noteData.getSelectedNote() != null) {
             StringBuilder sb = new StringBuilder("<html>");
+            sb.append(tr("Note"));
+            sb.append(" " + noteData.getSelectedNote().getId());
             List<NoteComment> comments = noteData.getSelectedNote().getComments();
-            String sep = "";
             SimpleDateFormat dayFormat = new SimpleDateFormat("MMM d, yyyy");
             for (NoteComment comment : comments) {
                 String commentText = comment.getText();
                 //closing a note creates an empty comment that we don't want to show
                 if (commentText != null && commentText.trim().length() > 0) {
-                    sb.append(sep);
+                    sb.append("<hr/>");
                     String userName = XmlWriter.encode(comment.getUser().getName());
                     if (userName == null || userName.trim().length() == 0) {
                         userName = "<Anonymous>";
@@ -133,7 +131,6 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
                     htmlText = htmlText.replace("&#xA;", "<br/>"); //encode method leaves us with entity instead of \n
                     sb.append(htmlText);
                 }
-                sep = "<hr/>";
             }
             sb.append("</html>");
             JToolTip toolTip = new JToolTip();
@@ -141,10 +138,10 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
             Point p = mv.getPoint(noteData.getSelectedNote().getLatLon());
 
             g.setColor(ColorHelper.html2color(Main.pref.get("color.selected")));
-            g.drawRect(p.x - (NoteDialog.ICON_SMALL_SIZE / 2), p.y - NoteDialog.ICON_SMALL_SIZE, NoteDialog.ICON_SMALL_SIZE - 1, NoteDialog.ICON_SMALL_SIZE - 1);
+            g.drawRect(p.x - (NotesDialog.ICON_SMALL_SIZE / 2), p.y - NotesDialog.ICON_SMALL_SIZE, NotesDialog.ICON_SMALL_SIZE - 1, NotesDialog.ICON_SMALL_SIZE - 1);
 
-            int tx = p.x + (NoteDialog.ICON_SMALL_SIZE / 2) + 5;
-            int ty = p.y - NoteDialog.ICON_SMALL_SIZE - 1;
+            int tx = p.x + (NotesDialog.ICON_SMALL_SIZE / 2) + 5;
+            int ty = p.y - NotesDialog.ICON_SMALL_SIZE - 1;
             g.translate(tx, ty);
 
             //Carried over from the OSB plugin. Not entirely sure why it is needed
@@ -161,7 +158,7 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
 
     @Override
     public Icon getIcon() {
-        return NoteDialog.ICON_OPEN_SMALL;
+        return NotesDialog.ICON_OPEN_SMALL;
     }
 
     @Override
@@ -221,7 +218,7 @@ public class NoteLayer extends AbstractModifiableLayer implements MouseListener
         for (Note note : noteData.getNotes()) {
             Point notePoint = Main.map.mapView.getPoint(note.getLatLon());
             //move the note point to the center of the icon where users are most likely to click when selecting
-            notePoint.setLocation(notePoint.getX(), notePoint.getY() - NoteDialog.ICON_SMALL_SIZE / 2);
+            notePoint.setLocation(notePoint.getX(), notePoint.getY() - NotesDialog.ICON_SMALL_SIZE / 2);
             double dist = clickPoint.distanceSq(notePoint);
             if (minDistance > dist && clickPoint.distance(notePoint) < snapDistance ) {
                 minDistance = dist;
diff --git a/src/org/openstreetmap/josm/gui/layer/TMSLayer.java b/src/org/openstreetmap/josm/gui/layer/TMSLayer.java
index b940251..543f41f 100644
--- a/src/org/openstreetmap/josm/gui/layer/TMSLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/TMSLayer.java
@@ -45,9 +45,9 @@ import org.openstreetmap.gui.jmapviewer.JobDispatcher;
 import org.openstreetmap.gui.jmapviewer.MemoryTileCache;
 import org.openstreetmap.gui.jmapviewer.OsmFileCacheTileLoader;
 import org.openstreetmap.gui.jmapviewer.OsmTileLoader;
+import org.openstreetmap.gui.jmapviewer.TMSFileCacheTileLoader;
 import org.openstreetmap.gui.jmapviewer.Tile;
 import org.openstreetmap.gui.jmapviewer.interfaces.CachedTileLoader;
-import org.openstreetmap.gui.jmapviewer.interfaces.TileCache;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileClearController;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileLoaderListener;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileSource;
@@ -79,6 +79,7 @@ import org.openstreetmap.josm.gui.progress.ProgressMonitor.CancelListener;
 import org.openstreetmap.josm.io.CacheCustomContent;
 import org.openstreetmap.josm.io.OsmTransferException;
 import org.openstreetmap.josm.io.UTFInputStreamReader;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.Utils;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -110,14 +111,20 @@ public class TMSLayer extends ImageryLayer implements ImageObserver, TileLoaderL
     public static final IntegerProperty PROP_TMS_JOBS = new IntegerProperty("tmsloader.maxjobs", 25);
     public static final StringProperty PROP_TILECACHE_DIR;
 
+    private static final boolean newcache = Main.pref.getBoolean("tms.newcache");
+
     static {
         String defPath = null;
         try {
-            defPath = OsmFileCacheTileLoader.getDefaultCacheDir().getAbsolutePath();
+            if (newcache) {
+                defPath = new File(Main.pref.getCacheDirectory(), "tms").getAbsolutePath();
+            } else {
+                defPath = OsmFileCacheTileLoader.getDefaultCacheDir().getAbsolutePath();
+            }
         } catch (SecurityException e) {
             Main.warn(e);
         }
-        PROP_TILECACHE_DIR = new StringProperty(PREFERENCE_PREFIX + ".tilecache_path", defPath);
+        PROP_TILECACHE_DIR = new StringProperty(PREFERENCE_PREFIX + (newcache ? ".tilecache" : ".tilecache_path"), defPath);
     }
 
     public interface TileLoaderFactory {
@@ -134,7 +141,12 @@ public class TMSLayer extends ImageryLayer implements ImageObserver, TileLoaderL
             String cachePath = TMSLayer.PROP_TILECACHE_DIR.get();
             if (cachePath != null && !cachePath.isEmpty()) {
                 try {
-                    OsmFileCacheTileLoader loader = new OsmFileCacheTileLoader(listener, new File(cachePath));
+                    OsmFileCacheTileLoader loader;
+                    if (newcache) {
+                        loader = new TMSFileCacheTileLoader(listener, new File(cachePath));
+                    } else {
+                        loader = new OsmFileCacheTileLoader(listener, new File(cachePath));
+                    }
                     loader.headers.put("User-Agent", Version.getInstance().getFullAgentString());
                     return loader;
                 } catch (IOException e) {
@@ -174,11 +186,6 @@ public class TMSLayer extends ImageryLayer implements ImageObserver, TileLoaderL
         }
     }
 
-    @Override
-    public TileCache getTileCache() {
-        return tileCache;
-    }
-
     private static class TmsTileClearController implements TileClearController, CancelListener {
 
         private final ProgressMonitor monitor;
@@ -318,6 +325,10 @@ public class TMSLayer extends ImageryLayer implements ImageObserver, TileLoaderL
 
     private static class CachedAttributionBingAerialTileSource extends BingAerialTileSource {
 
+        public CachedAttributionBingAerialTileSource(String id) {
+            super(id);
+        }
+
         class BingAttributionData extends CacheCustomContent<IOException> {
 
             public BingAttributionData() {
@@ -373,34 +384,37 @@ public class TMSLayer extends ImageryLayer implements ImageObserver, TileLoaderL
     public static TileSource getTileSource(ImageryInfo info) throws IllegalArgumentException {
         if (info.getImageryType() == ImageryType.TMS) {
             checkUrl(info.getUrl());
-            TMSTileSource t = new TemplatedTMSTileSource(info.getName(), info.getUrl(), info.getMinZoom(), info.getMaxZoom());
+            TMSTileSource t = new TemplatedTMSTileSource(info.getName(), info.getUrl(), info.getId(), info.getMinZoom(), info.getMaxZoom());
             info.setAttribution(t);
             return t;
         } else if (info.getImageryType() == ImageryType.BING)
-            return new CachedAttributionBingAerialTileSource();
+            return new CachedAttributionBingAerialTileSource(info.getId());
         else if (info.getImageryType() == ImageryType.SCANEX) {
-            return new ScanexTileSource(info.getName(), info.getUrl(), info.getMaxZoom());
+            return new ScanexTileSource(info.getName(), info.getUrl(), info.getId(), info.getMaxZoom());
         }
         return null;
     }
 
-    public static void checkUrl(String url) throws IllegalArgumentException {
-        if (url == null) {
-            throw new IllegalArgumentException();
-        } else {
-            Matcher m = Pattern.compile("\\{[^}]*\\}").matcher(url);
-            while (m.find()) {
-                boolean isSupportedPattern = false;
-                for (String pattern : TemplatedTMSTileSource.ALL_PATTERNS) {
-                    if (m.group().matches(pattern)) {
-                        isSupportedPattern = true;
-                        break;
-                    }
-                }
-                if (!isSupportedPattern) {
-                    throw new IllegalArgumentException(tr("{0} is not a valid TMS argument. Please check this server URL:\n{1}", m.group(), url));
+    /**
+     * Checks validity of given URL.
+     * @param url URL to check
+     * @throws IllegalArgumentException if url is null or invalid
+     */
+    public static void checkUrl(String url) {
+        CheckParameterUtil.ensureParameterNotNull(url, "url");
+        Matcher m = Pattern.compile("\\{[^}]*\\}").matcher(url);
+        while (m.find()) {
+            boolean isSupportedPattern = false;
+            for (String pattern : TemplatedTMSTileSource.ALL_PATTERNS) {
+                if (m.group().matches(pattern)) {
+                    isSupportedPattern = true;
+                    break;
                 }
             }
+            if (!isSupportedPattern) {
+                throw new IllegalArgumentException(
+                        tr("{0} is not a valid TMS argument. Please check this server URL:\n{1}", m.group(), url));
+            }
         }
     }
 
diff --git a/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java b/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
index ca500c9..285a178 100644
--- a/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
+++ b/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
@@ -745,7 +745,7 @@ public class CorrelateGpxWithImages extends AbstractAction {
                     if (! boundingBoxedLayerFound) {
                         BoundingXYVisitor bbox = new BoundingXYVisitor();
                         yLayer.visitBoundingBox(bbox);
-                        Main.map.mapView.recalculateCenterScale(bbox);
+                        Main.map.mapView.zoomTo(bbox);
                     }
 
                     for (ImageEntry ie : yLayer.data) {
diff --git a/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java b/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
index 65332b8..aa4e2c0 100644
--- a/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
+++ b/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
@@ -15,6 +15,9 @@ import java.awt.Rectangle;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.awt.image.BufferedImage;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.StringSelection;
+import java.awt.Toolkit;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.io.File;
@@ -400,6 +403,7 @@ public class GeoImageLayer extends Layer implements PropertyChangeListener, Jump
         }
 
         setName(l.getName());
+        thumbsLoaded &= l.thumbsLoaded;
     }
 
     private Dimension scaledDimension(Image thumb) {
@@ -755,6 +759,15 @@ public class GeoImageLayer extends Layer implements PropertyChangeListener, Jump
         }
     }
 
+    public void copyCurrentPhotoPath() {
+        ImageEntry toCopy = null;
+        if (data != null && data.size() > 0 && currentPhoto >= 0 && currentPhoto < data.size()) {
+            toCopy = data.get(currentPhoto);
+            String copyString = toCopy.getFile().toString();
+            Utils.copyToClipboard(copyString);
+        }
+    }
+
     /**
      * Removes a photo from the list of images by index.
      * @param idx Image index
diff --git a/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java b/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
index 016f8d4..67a9d1d 100644
--- a/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
+++ b/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
@@ -42,6 +42,7 @@ public final class ImageViewerDialog extends ToggleDialog implements LayerChange
     private static final String COMMAND_COLLAPSE = "collapse";
     private static final String COMMAND_FIRST = "first";
     private static final String COMMAND_LAST = "last";
+    private static final String COMMAND_COPY_PATH = "copypath";
 
     private ImageDisplay imgDisplay = new ImageDisplay();
     private boolean centerView = false;
@@ -111,6 +112,16 @@ public final class ImageViewerDialog extends ToggleDialog implements LayerChange
         btnDeleteFromDisk.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDeleteFromDisk.getKeyStroke(), ADELFROMDISK);
         btnDeleteFromDisk.getActionMap().put(ADELFROMDISK, delFromDiskAction);
 
+        ImageAction copyPathAction = new ImageAction(COMMAND_COPY_PATH, ImageProvider.get("copy"), tr("Copy image path"));
+        JButton btnCopyPath = new JButton(copyPathAction);
+        btnCopyPath.setPreferredSize(buttonDim);
+        Shortcut scCopyPath = Shortcut.registerShortcut(
+                "geoimage:copypath", tr("Geoimage: {0}", tr("Copy image path")), KeyEvent.VK_C, Shortcut.ALT_CTRL_SHIFT);
+        final String ACOPYPATH = "Copy image path";
+        Main.registerActionShortcut(copyPathAction, scCopyPath);
+        btnCopyPath.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scCopyPath.getKeyStroke(), ACOPYPATH);
+        btnCopyPath.getActionMap().put(ACOPYPATH, copyPathAction);
+
         ImageAction nextAction = new ImageAction(COMMAND_NEXT, ImageProvider.get("dialogs", "next"), tr("Next"));
         btnNext = new JButton(nextAction);
         btnNext.setPreferredSize(buttonDim);
@@ -146,12 +157,14 @@ public final class ImageViewerDialog extends ToggleDialog implements LayerChange
         JPanel buttons = new JPanel();
         buttons.add(btnPrevious);
         buttons.add(btnNext);
-        buttons.add(Box.createRigidArea(new Dimension(14, 0)));
+        buttons.add(Box.createRigidArea(new Dimension(7, 0)));
         buttons.add(tbCentre);
         buttons.add(btnZoomBestFit);
-        buttons.add(Box.createRigidArea(new Dimension(14, 0)));
+        buttons.add(Box.createRigidArea(new Dimension(7, 0)));
         buttons.add(btnDelete);
         buttons.add(btnDeleteFromDisk);
+        buttons.add(Box.createRigidArea(new Dimension(7, 0)));
+        buttons.add(btnCopyPath);
 
         JPanel bottomPane = new JPanel();
         bottomPane.setLayout(new GridBagLayout());
@@ -221,6 +234,10 @@ public final class ImageViewerDialog extends ToggleDialog implements LayerChange
                 if (currentLayer != null) {
                     currentLayer.removeCurrentPhotoFromDisk();
                 }
+            } else if (COMMAND_COPY_PATH.equals(action)) {
+                if (currentLayer != null) {
+                    currentLayer.copyCurrentPhotoPath();
+                }
             } else if (COMMAND_COLLAPSE.equals(action)) {
                 collapseButtonClicked = true;
                 detachedDialog.getToolkit().getSystemEventQueue().postEvent(new WindowEvent(detachedDialog, WindowEvent.WINDOW_CLOSING));
@@ -374,7 +391,9 @@ public final class ImageViewerDialog extends ToggleDialog implements LayerChange
 
     @Override
     public void layerAdded(Layer newLayer) {
-        // Ignored
+        if (currentLayer == null && newLayer instanceof GeoImageLayer) {
+            ((GeoImageLayer)newLayer).showFirstPhoto();
+        }
     }
 
     @Override
diff --git a/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java b/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java
index 15a10cd..04fa16c 100644
--- a/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java
+++ b/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java
@@ -40,11 +40,14 @@ public class ThumbsLoader implements Runnable {
         for (int i = 0; i < data.size(); i++) {
             if (stop) return;
 
-            data.get(i).thumbnail = loadThumb(data.get(i));
+            // Do not load thumbnails that were loaded before.
+            if (data.get(i).thumbnail == null) {
+                data.get(i).thumbnail = loadThumb(data.get(i));
 
-            if (Main.isDisplayingMapView()) {
-                layer.updateOffscreenBuffer = true;
-                Main.map.mapView.repaint();
+                if (Main.isDisplayingMapView()) {
+                    layer.updateOffscreenBuffer = true;
+                    Main.map.mapView.repaint();
+                }
             }
         }
         layer.updateOffscreenBuffer = true;
diff --git a/src/org/openstreetmap/josm/gui/mappaint/Cascade.java b/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
index 00987e6..dcaee63 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
@@ -41,7 +41,7 @@ public final class Cascade implements Cloneable {
      */
     public <T> T get(String key, T def, Class<T> klass, boolean suppressWarnings) {
         if (def != null && !klass.isInstance(def))
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException(def+" is not an instance of "+klass);
         Object o = prop.get(key);
         if (o == null)
             return def;
diff --git a/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java b/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
index 6c406e7..eb44223 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
@@ -21,6 +21,7 @@ import javax.swing.SwingUtilities;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
@@ -138,14 +139,24 @@ public final class MapPaintStyles {
         return getNodeIcon(tag, true);
     }
 
+    /**
+     * Returns the node icon that would be displayed for the given tag.
+     * @param tag The tag to look an icon for
+     * @param includeDeprecatedIcon if {@code true}, the special deprecated icon will be returned if applicable
+     * @return {@code null} if no icon found, or if the icon is deprecated and not wanted
+     */
     public static ImageIcon getNodeIcon(Tag tag, boolean includeDeprecatedIcon) {
         if (tag != null) {
+            DataSet ds = new DataSet();
             Node virtualNode = new Node(LatLon.ZERO);
             virtualNode.put(tag.getKey(), tag.getValue());
             StyleList styleList;
             MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().lock();
             try {
+                // Add primitive to dataset to avoid DataIntegrityProblemException when evaluating selectors
+                ds.addPrimitive(virtualNode);
                 styleList = getStyles().generateStyles(virtualNode, 0.5, false).a;
+                ds.removePrimitive(virtualNode);
             } finally {
                 MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().unlock();
             }
diff --git a/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java b/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java
index 0746f8f..bd090f2 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java
@@ -44,9 +44,9 @@ public class NodeElemStyle extends ElemStyle implements StyleKeys {
 
         public Symbol(SymbolShape symbol, int size, Stroke stroke, Color strokeColor, Color fillColor) {
             if (stroke != null && strokeColor == null)
-                throw new IllegalArgumentException();
+                throw new IllegalArgumentException("Stroke given without color");
             if (stroke == null && fillColor == null)
-                throw new IllegalArgumentException();
+                throw new IllegalArgumentException("Either a stroke or a fill color must be given");
             this.symbol = symbol;
             this.size = size;
             this.stroke = stroke;
diff --git a/src/org/openstreetmap/josm/gui/mappaint/Range.java b/src/org/openstreetmap/josm/gui/mappaint/Range.java
index 9512723..71ae976 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/Range.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/Range.java
@@ -12,9 +12,15 @@ public class Range {
 
     public static final Range ZERO_TO_INFINITY = new Range(0.0, Double.POSITIVE_INFINITY);
 
+    /**
+     * Constructs a new {@code Range}.
+     * @param lower Lower bound. Must be positive or zero
+     * @param upper Upper bound
+     * @throws IllegalArgumentException if the range is invalid ({@code lower < 0 || lower >= upper})
+     */
     public Range(double lower, double upper) {
         if (lower < 0 || lower >= upper)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Invalid range: "+lower+"-"+upper);
         this.lower = lower;
         this.upper = upper;
     }
@@ -28,7 +34,7 @@ public class Range {
      */
     public static Range cut(Range a, Range b) {
         if (b.lower >= a.upper || b.upper <= a.lower)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Ranges do not overlap: "+a+" - "+b);
         return new Range(Math.max(a.lower, b.lower), Math.min(a.upper, b.upper));
     }
 
@@ -48,9 +54,9 @@ public class Range {
      */
     public Range reduceAround(double x, Range other) {
         if (!contains(x))
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException(x+" is not inside "+this);
         if (other.contains(x))
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException(x+" is inside "+other);
 
         if (x < other.lower && other.lower < upper)
             return new Range(lower, other.lower);
diff --git a/src/org/openstreetmap/josm/gui/mappaint/StyleCache.java b/src/org/openstreetmap/josm/gui/mappaint/StyleCache.java
index 671397d..107a9bc 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/StyleCache.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/StyleCache.java
@@ -104,7 +104,7 @@ public final class StyleCache {
      */
     public StyleList get(double scale) {
         if (scale <= 0)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("scale must be <= 0 but is "+scale);
         for (int i=0; i<data.size(); ++i) {
             if (bd.get(i) < scale && scale <= bd.get(i+1)) {
                 return data.get(i);
@@ -119,7 +119,7 @@ public final class StyleCache {
      */
     public Pair<StyleList, Range> getWithRange(double scale) {
         if (scale <= 0)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("scale must be <= 0 but is "+scale);
         for (int i=0; i<data.size(); ++i) {
             if (bd.get(i) < scale && scale <= bd.get(i+1)) {
                 return new Pair<>(data.get(i), new Range(bd.get(i), bd.get(i+1)));
diff --git a/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
index f7be129..6c75813 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.java
@@ -86,7 +86,8 @@ public interface Instruction extends StyleKeys {
 
         @Override
         public String toString() {
-            return key + ": " + (val instanceof float[] ? Arrays.toString((float[]) val) : val instanceof String ? "String<"+val+">" : val) + ';';
+            return key + ": " + (val instanceof float[] ? Arrays.toString((float[]) val) :
+                val instanceof String ? "String<"+val+">" : val) + ';';
         }
     }
 }
diff --git a/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java
index 6d1ce6b..3ddce72 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java
@@ -66,8 +66,18 @@ public class MapCSSRule implements Comparable<MapCSSRule> {
                 return false;
             return true;
         }
+
+        @Override
+        public String toString() {
+            return "Declaration [instructions=" + instructions + ", idx=" + idx + "]";
+        }
     }
 
+    /**
+     * Constructs a new {@code MapCSSRule}.
+     * @param selector The selector
+     * @param declaration The declaration
+     */
     public MapCSSRule(Selector selector, Declaration declaration) {
         this.selector = selector;
         this.declaration = declaration;
diff --git a/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
index a1f8f53..4a34609 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
@@ -413,6 +413,7 @@ public interface Selector {
          * @param env The environment to check
          * @return {@code true} if all conditions apply, false otherwise.
          */
+        @Override
         public boolean matches(Environment env) {
             if (conds == null) return true;
             for (Condition c : conds) {
@@ -426,6 +427,10 @@ public interface Selector {
             return true;
         }
 
+        /**
+         * Returns the list of conditions.
+         * @return the list of conditions
+         */
         public List<Condition> getConditions() {
             if (conds == null) {
                 return Collections.emptyList();
@@ -590,7 +595,7 @@ public interface Selector {
 
         public static double level2scale(int lvl) {
             if (lvl < 0)
-                throw new IllegalArgumentException();
+                throw new IllegalArgumentException("lvl must be >= 0 but is "+lvl);
             // preliminary formula - map such that mapnik imagery tiles of the same
             // or similar level are displayed at the given scale
             return 2.0 * Math.PI * R / Math.pow(2.0, lvl) / 2.56;
@@ -598,7 +603,7 @@ public interface Selector {
 
         public static int scale2level(double scale) {
             if (scale < 0)
-                throw new IllegalArgumentException();
+                throw new IllegalArgumentException("scale must be >= 0 but is "+scale);
             return (int) Math.floor(Math.log(2 * Math.PI * R / 2.56 / scale) / Math.log(2));
         }
 
diff --git a/src/org/openstreetmap/josm/gui/mappaint/xml/XmlCondition.java b/src/org/openstreetmap/josm/gui/mappaint/xml/XmlCondition.java
index 295a7b2..b683fce 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/xml/XmlCondition.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/xml/XmlCondition.java
@@ -3,8 +3,8 @@ package org.openstreetmap.josm.gui.mappaint.xml;
 
 import org.openstreetmap.josm.data.osm.OsmUtils;
 
-public class XmlCondition
-{
+public class XmlCondition {
+
     public String key;
     public String value;
     public String boolValue;
@@ -32,6 +32,7 @@ public class XmlCondition
       key = value = boolValue = null;
     }
 
+    @Override
     public String toString() {
       return "Rule["+key+","+(boolValue != null ? "b="+boolValue:"v="+value)+"]";
     }
diff --git a/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java b/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java
index bce8c75..7cf5a8e 100644
--- a/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java
+++ b/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java
@@ -366,7 +366,7 @@ public final class AdvancedPreference extends DefaultTabPreferenceSetting {
                         }
                    }
                 }
-                for (File f: Main.pref.getPreferencesDirFile().listFiles()) {
+                for (File f: Main.pref.getPreferencesDirectory().listFiles()) {
                    String s = f.getName();
                    int idx = s.indexOf('_');
                    if (idx>=0) {
diff --git a/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java b/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java
index 12848e7..63fa6f4 100644
--- a/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java
+++ b/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java
@@ -204,6 +204,8 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
         public final JTable activeTable;
         /** The table of default providers **/
         public final JTable defaultTable;
+        /** The selection listener synchronizing map display with table of default providers **/
+        private final DefListSelectionListener defaultTableListener;
         /** The map displaying imagery bounds of selected default providers **/
         public final JMapViewer defaultMap;
 
@@ -330,7 +332,8 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
             defaultMap.setMinimumSize(new Dimension(100, 200));
             add(defaultMap, GBC.std().insets(5, 5, 0, 0).fill(GridBagConstraints.BOTH).weight(0.33, 0.6).insets(5, 0, 0, 0));
 
-            defaultTable.getSelectionModel().addListSelectionListener(new DefListSelectionListener());
+            defaultTableListener = new DefListSelectionListener();
+            defaultTable.getSelectionModel().addListSelectionListener(defaultTableListener);
 
             defaultToolbar = new JToolBar(JToolBar.VERTICAL);
             defaultToolbar.setFloatable(false);
@@ -366,7 +369,6 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
             //activeToolbar.add(edit); TODO
             activeToolbar.add(remove);
             add(activeToolbar, GBC.eol().anchor(GBC.NORTH).insets(0, 0, 5, 5));
-
         }
 
         // Listener of default providers list selection
@@ -380,16 +382,20 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
                 this.mapPolygons = new HashMap<>();
             }
 
+            private void clearMap() {
+                defaultMap.removeAllMapRectangles();
+                defaultMap.removeAllMapPolygons();
+                mapRectangles.clear();
+                mapPolygons.clear();
+            }
+
             @Override
             public void valueChanged(ListSelectionEvent e) {
-                // First index is set to -1 when the list is refreshed, so discard all map rectangles and polygons
+                // First index can be set to -1 when the list is refreshed, so discard all map rectangles and polygons
                 if (e.getFirstIndex() == -1) {
-                    defaultMap.removeAllMapRectangles();
-                    defaultMap.removeAllMapPolygons();
-                    mapRectangles.clear();
-                    mapPolygons.clear();
-                    // Only process complete (final) selection events
+                    clearMap();
                 } else if (!e.getValueIsAdjusting()) {
+                    // Only process complete (final) selection events
                     for (int i = e.getFirstIndex(); i<=e.getLastIndex(); i++) {
                         updateBoundsAndShapes(i);
                     }
@@ -493,6 +499,9 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
 
         private class RemoveEntryAction extends AbstractAction implements ListSelectionListener {
 
+            /**
+             * Constructs a new {@code RemoveEntryAction}.
+             */
             public RemoveEntryAction() {
                 putValue(NAME, tr("Remove"));
                 putValue(SHORT_DESCRIPTION, tr("Remove entry"));
@@ -519,6 +528,10 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
         }
 
         private class ActivateAction extends AbstractAction implements ListSelectionListener {
+
+            /**
+             * Constructs a new {@code ActivateAction}.
+             */
             public ActivateAction() {
                 putValue(NAME, tr("Activate"));
                 putValue(SHORT_DESCRIPTION, tr("copy selected defaults"));
@@ -582,6 +595,10 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
         }
 
         private class ReloadAction extends AbstractAction {
+
+            /**
+             * Constructs a new {@code ReloadAction}.
+             */
             public ReloadAction() {
                 putValue(SHORT_DESCRIPTION, tr("reload defaults"));
                 putValue(SMALL_ICON, ImageProvider.get("dialogs", "refresh"));
@@ -591,6 +608,8 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
             public void actionPerformed(ActionEvent evt) {
                 layerInfo.loadDefaults(true);
                 defaultModel.fireTableDataChanged();
+                defaultTable.getSelectionModel().clearSelection();
+                defaultTableListener.clearMap();
                 /* loading new file may change active layers */
                 activeModel.fireTableDataChanged();
             }
@@ -741,8 +760,8 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
                 JScrollPane scrollPane = new JScrollPane(htmlPane);
                 scrollPane.setPreferredSize(new Dimension(400, 400));
                 box.add(scrollPane);
-                int option = JOptionPane.showConfirmDialog(Main.parent, box, tr("Please abort if you are not sure"), JOptionPane.YES_NO_OPTION,
-                        JOptionPane.WARNING_MESSAGE);
+                int option = JOptionPane.showConfirmDialog(Main.parent, box, tr("Please abort if you are not sure"),
+                        JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
                 if (option == JOptionPane.YES_OPTION)
                     return true;
             } catch (MalformedURLException e2) {
@@ -810,7 +829,11 @@ public final class ImageryPreference extends DefaultTabPreferenceSetting {
         /**
          * The table model for imagery offsets list
          */
-        class OffsetsBookmarksModel extends DefaultTableModel {
+        private class OffsetsBookmarksModel extends DefaultTableModel {
+
+            /**
+             * Constructs a new {@code OffsetsBookmarksModel}.
+             */
             public OffsetsBookmarksModel() {
                 setColumnIdentifiers(new String[] { tr("Projection"),  tr("Layer"), tr("Name"), tr("Easting"), tr("Northing"),});
             }
diff --git a/src/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.java b/src/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.java
index 16e9c0a..ca56578 100644
--- a/src/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.java
+++ b/src/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.java
@@ -34,7 +34,7 @@ public abstract class AbstractProjectionChoice implements ProjectionChoice {
      */
     public AbstractProjectionChoice(String name, String id) {
         this(name, id, null);
-        if (!id.startsWith("core:")) throw new IllegalArgumentException();
+        if (!id.startsWith("core:")) throw new IllegalArgumentException(id+" does not start with core:");
         this.cacheDir = id.substring(5);
     }
 
diff --git a/src/org/openstreetmap/josm/gui/preferences/projection/CodeProjectionChoice.java b/src/org/openstreetmap/josm/gui/preferences/projection/CodeProjectionChoice.java
index 9e92714..94c30e7 100644
--- a/src/org/openstreetmap/josm/gui/preferences/projection/CodeProjectionChoice.java
+++ b/src/org/openstreetmap/josm/gui/preferences/projection/CodeProjectionChoice.java
@@ -214,7 +214,7 @@ public class CodeProjectionChoice extends AbstractProjectionChoice implements Su
     @Override
     public Collection<String> getPreferences(JPanel panel) {
         if (!(panel instanceof CodeSelectionPanel)) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Unsupported panel: "+panel);
         }
         CodeSelectionPanel csPanel = (CodeSelectionPanel) panel;
         return Collections.singleton(csPanel.getCode());
diff --git a/src/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.java b/src/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.java
index b56a4b6..95e3726 100644
--- a/src/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.java
+++ b/src/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.java
@@ -231,7 +231,7 @@ public class CustomProjectionChoice extends AbstractProjectionChoice implements
     @Override
     public Collection<String> getPreferences(JPanel panel) {
         if (!(panel instanceof PreferencePanel)) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Unsupported panel: "+panel);
         }
         PreferencePanel prefPanel = (PreferencePanel) panel;
         String pref = prefPanel.input.getText();
diff --git a/src/org/openstreetmap/josm/gui/preferences/projection/ListProjectionChoice.java b/src/org/openstreetmap/josm/gui/preferences/projection/ListProjectionChoice.java
index ab90b11..a4b6b7e 100644
--- a/src/org/openstreetmap/josm/gui/preferences/projection/ListProjectionChoice.java
+++ b/src/org/openstreetmap/josm/gui/preferences/projection/ListProjectionChoice.java
@@ -105,7 +105,7 @@ public abstract class ListProjectionChoice extends AbstractProjectionChoice {
     @Override
     public Collection<String> getPreferences(JPanel panel) {
         if (!(panel instanceof CBPanel)) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Unsupported panel: "+panel);
         }
         CBPanel p = (CBPanel) panel;
         int idx = p.prefcb.getSelectedIndex();
diff --git a/src/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.java b/src/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.java
index 557368b..d04ded1 100644
--- a/src/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.java
+++ b/src/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.java
@@ -105,7 +105,7 @@ public class UTMProjectionChoice extends ListProjectionChoice {
     @Override
     public Collection<String> getPreferences(JPanel panel) {
         if (!(panel instanceof UTMPanel)) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Unsupported panel: "+panel);
         }
         UTMPanel p = (UTMPanel) panel;
         int idx = p.prefcb.getSelectedIndex();
diff --git a/src/org/openstreetmap/josm/gui/preferences/shortcut/PrefJPanel.java b/src/org/openstreetmap/josm/gui/preferences/shortcut/PrefJPanel.java
index 1c61de3..331fd63 100644
--- a/src/org/openstreetmap/josm/gui/preferences/shortcut/PrefJPanel.java
+++ b/src/org/openstreetmap/josm/gui/preferences/shortcut/PrefJPanel.java
@@ -357,7 +357,7 @@ public class PrefJPanel extends JPanel {
     class FilterFieldAdapter implements DocumentListener {
         public void filter() {
             String expr = filterField.getText().trim();
-            if (expr.length()==0) { expr=null; }
+            if (expr.isEmpty()) { expr=null; }
             try {
                 final TableRowSorter<? extends TableModel> sorter =
                     ((TableRowSorter<? extends TableModel> )shortcutTable.getRowSorter());
diff --git a/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java b/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java
index 2842615..813f6a4 100644
--- a/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java
+++ b/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java
@@ -175,16 +175,14 @@ public class TagEditorModel extends AbstractTableModel {
      * @exception IllegalArgumentException thrown, if tag is null
      */
     public void add(TagModel tag) {
-        if (tag == null)
-            throw new IllegalArgumentException("argument 'tag' must not be null");
+        CheckParameterUtil.ensureParameterNotNull(tag, "tag");
         tags.add(tag);
         setDirty(true);
         fireTableDataChanged();
     }
 
     public void prepend(TagModel tag) {
-        if (tag == null)
-            throw new IllegalArgumentException("argument 'tag' must not be null");
+        CheckParameterUtil.ensureParameterNotNull(tag, "tag");
         tags.add(0, tag);
         setDirty(true);
         fireTableDataChanged();
diff --git a/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java b/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java
index 4ec8674..a581657 100644
--- a/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java
+++ b/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java
@@ -1396,15 +1396,17 @@ public final class TaggingPresetItems {
                 int[] intParts = new int[lm.getSize()];
                 int j = 0;
                 for (int i = 0; i < lm.getSize(); i++) {
-                    if (parts.contains((lm.getElementAt(i).value))) {
+                    final String value = lm.getElementAt(i).value;
+                    if (parts.contains(value)) {
                         intParts[j++]=i;
+                        parts.remove(value);
                     }
                 }
                 setSelectedIndices(Arrays.copyOf(intParts, j));
                 // check if we have actually managed to represent the full
                 // value with our presets. if not, cop out; we will not offer
                 // a selection list that threatens to ruin the value.
-                setEnabled(Utils.join(delimiter, parts).equals(getSelectedItem()));
+                setEnabled(parts.isEmpty());
             }
         }
 
diff --git a/src/org/openstreetmap/josm/gui/tagging/TaggingPresetReader.java b/src/org/openstreetmap/josm/gui/tagging/TaggingPresetReader.java
index fa1d2c8..ec3c649 100644
--- a/src/org/openstreetmap/josm/gui/tagging/TaggingPresetReader.java
+++ b/src/org/openstreetmap/josm/gui/tagging/TaggingPresetReader.java
@@ -9,22 +9,23 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
-import java.nio.charset.StandardCharsets;
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Deque;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.Stack;
 
 import javax.swing.JOptionPane;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference;
 import org.openstreetmap.josm.io.CachedFile;
+import org.openstreetmap.josm.io.UTFInputStreamReader;
 import org.openstreetmap.josm.tools.XmlObjectParser;
 import org.xml.sax.SAXException;
 
@@ -70,7 +71,7 @@ public final class TaggingPresetReader {
         public String ref;
     }
 
-    public static List<TaggingPreset> readAll(Reader in, boolean validate) throws SAXException {
+    private static XmlObjectParser buildParser() {
         XmlObjectParser parser = new XmlObjectParser();
         parser.mapOnStart("item", TaggingPreset.class);
         parser.mapOnStart("separator", TaggingPresetSeparator.class);
@@ -92,16 +93,28 @@ public final class TaggingPresetReader {
         parser.map("item_separator", TaggingPresetItems.ItemSeparator.class);
         parser.mapBoth("chunk", Chunk.class);
         parser.map("reference", Reference.class);
+        return parser;
+    }
+
+    /**
+     * Reads all tagging presets from the input reader.
+     * @param in The input reader
+     * @param validate if {@code true}, XML validation will be performed
+     * @return collection of tagging presets
+     * @throws SAXException if any XML error occurs
+     */
+    public static Collection<TaggingPreset> readAll(Reader in, boolean validate) throws SAXException {
+        XmlObjectParser parser = buildParser();
 
-        LinkedList<TaggingPreset> all = new LinkedList<>();
+        Deque<TaggingPreset> all = new LinkedList<>();
         TaggingPresetMenu lastmenu = null;
         TaggingPresetItems.Roles lastrole = null;
         final List<TaggingPresetItems.Check> checks = new LinkedList<>();
         List<TaggingPresetItems.PresetListEntry> listEntries = new LinkedList<>();
         final Map<String, List<Object>> byId = new HashMap<>();
-        final Stack<String> lastIds = new Stack<>();
+        final Deque<String> lastIds = new ArrayDeque<>();
         /** lastIdIterators contains non empty iterators of items to be handled before obtaining the next item from the XML parser */
-        final Stack<Iterator<Object>> lastIdIterators = new Stack<>();
+        final Deque<Iterator<Object>> lastIdIterators = new ArrayDeque<>();
 
         if (validate) {
             parser.startWithValidation(in, Main.getXMLBase()+"/tagging-preset-1.0", "resource://data/tagging-preset.xsd");
@@ -198,6 +211,9 @@ public final class TaggingPresetReader {
                         listEntries.add((TaggingPresetItems.PresetListEntry) o);
                     } else if (o instanceof TaggingPresetItems.CheckGroup) {
                         all.getLast().data.add((TaggingPresetItem) o);
+                        // Make sure list of checks is empty to avoid adding checks several times
+                        // when used in chunks (fix #10801)
+                        ((TaggingPresetItems.CheckGroup) o).checks.clear();
                         ((TaggingPresetItems.CheckGroup) o).checks.addAll(checks);
                         checks.clear();
                     } else {
@@ -227,6 +243,14 @@ public final class TaggingPresetReader {
         return all;
     }
 
+    /**
+     * Reads all tagging presets from the given source.
+     * @param source a given filename, URL or internal resource
+     * @param validate if {@code true}, XML validation will be performed
+     * @return collection of tagging presets
+     * @throws SAXException if any XML error occurs
+     * @throws IOException if any I/O error occurs
+     */
     public static Collection<TaggingPreset> readAll(String source, boolean validate) throws SAXException, IOException {
         Collection<TaggingPreset> tp;
         CachedFile cf = new CachedFile(source).setHttpAccept(PRESET_MIME_TYPES);
@@ -237,7 +261,7 @@ public final class TaggingPresetReader {
             if (zip != null) {
                 zipIcons = cf.getFile();
             }
-            try (InputStreamReader r = new InputStreamReader(zip == null ? cf.getInputStream() : zip, StandardCharsets.UTF_8)) {
+            try (InputStreamReader r = UTFInputStreamReader.create(zip == null ? cf.getInputStream() : zip)) {
                 tp = readAll(new BufferedReader(r), validate);
             }
         }
diff --git a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
index 0f2055b..fff010f 100644
--- a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
+++ b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
@@ -222,7 +222,7 @@ public class AutoCompletingComboBox extends JosmComboBox<AutoCompletionListItem>
         } else if (item instanceof AutoCompletionListItem) {
             cbEditor.setItem(((AutoCompletionListItem)item).getValue());
         } else
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("Unsupported item: "+item);
     }
 
     /**
@@ -246,8 +246,9 @@ public class AutoCompletingComboBox extends JosmComboBox<AutoCompletionListItem>
                 }
             }
             super.setSelectedItem(new AutoCompletionListItem(s, AutoCompletionItemPriority.UNKNOWN));
-        } else
-            throw new IllegalArgumentException();
+        } else {
+            throw new IllegalArgumentException("Unsupported item: "+item);
+        }
     }
 
     /**
diff --git a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionList.java b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionList.java
index 3eb2cfd..1c55b9f 100644
--- a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionList.java
+++ b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionList.java
@@ -11,6 +11,8 @@ import java.util.Map;
 import javax.swing.JTable;
 import javax.swing.table.AbstractTableModel;
 
+import org.openstreetmap.josm.tools.CheckParameterUtil;
+
 /**
  * AutoCompletionList manages a list of {@link AutoCompletionListItem}s.
  *
@@ -57,8 +59,7 @@ public class AutoCompletionList extends AbstractTableModel {
      * @exception IllegalArgumentException thrown, if filter is null
      */
     public void applyFilter(String filter) {
-        if (filter == null)
-            throw new IllegalArgumentException("argument 'filter' must not be null");
+        CheckParameterUtil.ensureParameterNotNull(filter, "filter");
         this.filter = filter;
         filter();
     }
@@ -101,8 +102,7 @@ public class AutoCompletionList extends AbstractTableModel {
      * @exception IllegalArgumentException thrown, if other is null
      */
     public void add(AutoCompletionList other) {
-        if (other == null)
-            throw new IllegalArgumentException("argument 'other' must not be null");
+        CheckParameterUtil.ensureParameterNotNull(other, "other");
         for (AutoCompletionListItem item : other.list) {
             appendOrUpdatePriority(item);
         }
@@ -118,8 +118,7 @@ public class AutoCompletionList extends AbstractTableModel {
      * @exception IllegalArgumentException thrown, if other is null
      */
     public void add(List<AutoCompletionListItem> other) {
-        if (other == null)
-            throw new IllegalArgumentException("argument 'other' must not be null");
+        CheckParameterUtil.ensureParameterNotNull(other, "other");
         for (AutoCompletionListItem toadd : other) {
             appendOrUpdatePriority(toadd);
         }
@@ -147,7 +146,7 @@ public class AutoCompletionList extends AbstractTableModel {
         sort();
         filter();
     }
-    
+
     public void addUserInput(Collection<String> values) {
         if (values == null) return;
         int i = 0;
diff --git a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionListItem.java b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionListItem.java
index 108b50a..70ef8ce 100644
--- a/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionListItem.java
+++ b/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionListItem.java
@@ -1,6 +1,8 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.tagging.ac;
 
+import org.openstreetmap.josm.tools.CheckParameterUtil;
+
 /**
  * Represents an entry in the list of auto completion values.
  *
@@ -78,8 +80,7 @@ public class AutoCompletionListItem implements Comparable<AutoCompletionListItem
      * @exception IllegalArgumentException thrown, if value if null
      */
     public void setValue(String value) {
-        if (value == null)
-            throw new IllegalArgumentException("argument 'value' must not be null");
+        CheckParameterUtil.ensureParameterNotNull(value, "value");
         this.value = value;
     }
 
@@ -107,6 +108,8 @@ public class AutoCompletionListItem implements Comparable<AutoCompletionListItem
             return true;
         if (obj == null)
             return false;
+        if (obj instanceof String)
+            return obj.equals(value);
         if (getClass() != obj.getClass())
             return false;
         final AutoCompletionListItem other = (AutoCompletionListItem)obj;
diff --git a/src/org/openstreetmap/josm/gui/util/GuiHelper.java b/src/org/openstreetmap/josm/gui/util/GuiHelper.java
index 2335fc7..1b3401e 100644
--- a/src/org/openstreetmap/josm/gui/util/GuiHelper.java
+++ b/src/org/openstreetmap/josm/gui/util/GuiHelper.java
@@ -22,6 +22,7 @@ import java.awt.event.KeyEvent;
 import java.awt.image.FilteredImageSource;
 import java.lang.reflect.InvocationTargetException;
 import java.util.Arrays;
+import java.util.Enumeration;
 import java.util.List;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
@@ -30,16 +31,20 @@ import java.util.concurrent.FutureTask;
 import javax.swing.GrayFilter;
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
+import javax.swing.JComponent;
 import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.SwingUtilities;
 import javax.swing.Timer;
+import javax.swing.UIManager;
+import javax.swing.plaf.FontUIResource;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.widgets.HtmlPanel;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -296,16 +301,36 @@ public final class GuiHelper {
     }
 
     /**
+     * Gets the font used to display monospaced text in a component, if possible.
+     * @param component The component
+     * @return the font used to display monospaced text in a component, if possible
+     * @since 7896
+     */
+    public static Font getMonospacedFont(JComponent component) {
+        // Special font for Khmer script
+        if ("km".equals(Main.pref.get("language"))) {
+            return component.getFont();
+        } else {
+            return new Font("Monospaced", component.getFont().getStyle(), component.getFont().getSize());
+        }
+    }
+
+    /**
      * Gets the font used to display JOSM title in about dialog and splash screen.
      * @return By order or priority, the first font available in local fonts:
      *         1. Helvetica Bold 20
      *         2. Calibri Bold 23
      *         3. Arial Bold 20
      *         4. SansSerif Bold 20
+     *         Except if current language is Khmer, where it will be current font at size 20
      * @since 5797
      */
     public static Font getTitleFont() {
         List<String> fonts = Arrays.asList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames());
+        // Special font for Khmer script
+        if ("km".equals(Main.pref.get("language"))) {
+            return UIManager.getFont("Label.font").deriveFont(20.0f);
+        }
         // Helvetica is the preferred choice but is not available by default on Windows
         // (https://www.microsoft.com/typography/fonts/product.aspx?pid=161)
         if (fonts.contains("Helvetica")) {
@@ -345,4 +370,24 @@ public final class GuiHelper {
     public static int getMenuShortcutKeyMaskEx() {
         return Main.isPlatformOsx() ? KeyEvent.META_DOWN_MASK : KeyEvent.CTRL_DOWN_MASK;
     }
+
+    /**
+     * Sets a global font for all UI, replacing default font of current look and feel.
+     * @param name Font name. It is up to the caller to make sure the font exists
+     * @since 7896
+     * @throws IllegalArgumentException if name is null
+     */
+    public static void setUIFont(String name) {
+        CheckParameterUtil.ensureParameterNotNull(name, "name");
+        Main.info("Setting "+name+" as the default UI font");
+        Enumeration<?> keys = UIManager.getDefaults().keys();
+        while (keys.hasMoreElements()) {
+            Object key = keys.nextElement();
+            Object value = UIManager.get(key);
+            if (value != null && value instanceof FontUIResource) {
+                FontUIResource fui = (FontUIResource)value;
+                UIManager.put(key, new FontUIResource(name, fui.getStyle(), fui.getSize()));
+            }
+        }
+    }
 }
diff --git a/src/org/openstreetmap/josm/gui/widgets/EditableList.java b/src/org/openstreetmap/josm/gui/widgets/EditableList.java
index 488a2f0..c3751ac 100644
--- a/src/org/openstreetmap/josm/gui/widgets/EditableList.java
+++ b/src/org/openstreetmap/josm/gui/widgets/EditableList.java
@@ -1,15 +1,8 @@
 // License: GPL. See LICENSE file for details.
 package org.openstreetmap.josm.gui.widgets;
 
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.tools.GBC;
+import static org.openstreetmap.josm.tools.I18n.tr;
 
-import javax.swing.DefaultListModel;
-import javax.swing.JButton;
-import javax.swing.JList;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
 import java.awt.BorderLayout;
 import java.awt.Dimension;
 import java.awt.GridBagLayout;
@@ -18,7 +11,15 @@ import java.awt.event.ActionListener;
 import java.util.ArrayList;
 import java.util.List;
 
-import static org.openstreetmap.josm.tools.I18n.tr;
+import javax.swing.DefaultListModel;
+import javax.swing.JButton;
+import javax.swing.JList;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.tools.GBC;
 
 /**
  * A {@link JList} containing items, and {@link JButton}s to add/edit/delete items.
@@ -137,6 +138,7 @@ public class EditableList extends JPanel {
         return items;
     }
 
+    @Override
     public void setEnabled(boolean enabled) {
         sourcesList.setEnabled(enabled);
         addSrcButton.setEnabled(enabled);
diff --git a/src/org/openstreetmap/josm/gui/widgets/JosmComboBox.java b/src/org/openstreetmap/josm/gui/widgets/JosmComboBox.java
index 55dfad3..af8ccbd 100644
--- a/src/org/openstreetmap/josm/gui/widgets/JosmComboBox.java
+++ b/src/org/openstreetmap/josm/gui/widgets/JosmComboBox.java
@@ -159,7 +159,7 @@ public class JosmComboBox<E> extends JComboBox<E> {
             // It is not granted this works on every platform (tested OK on Windows)
             JList<E> list = getList();
             if (list != null) {
-                if (list.getPrototypeCellValue() != prototype) {
+                if (!prototype.equals(list.getPrototypeCellValue())) {
                     list.setPrototypeCellValue(prototype);
                 }
                 int height = list.getFixedCellHeight();
@@ -196,14 +196,12 @@ public class JosmComboBox<E> extends JComboBox<E> {
         }
 
         private void enableMenu() {
-            if (launcher == null) {
-                if (editor != null) {
-                    Component editorComponent = editor.getEditorComponent();
-                    if (editorComponent instanceof JTextComponent) {
-                        component = (JTextComponent) editorComponent;
-                        component.addMouseListener(this);
-                        launcher = TextContextualPopupMenu.enableMenuFor(component);
-                    }
+            if (launcher == null && editor != null) {
+                Component editorComponent = editor.getEditorComponent();
+                if (editorComponent instanceof JTextComponent) {
+                    component = (JTextComponent) editorComponent;
+                    component.addMouseListener(this);
+                    launcher = TextContextualPopupMenu.enableMenuFor(component);
                 }
             }
         }
@@ -228,10 +226,8 @@ public class JosmComboBox<E> extends JComboBox<E> {
         }
 
         private void processEvent(MouseEvent e) {
-            if (launcher != null && !e.isPopupTrigger()) {
-                if (launcher.getMenu().isShowing()) {
-                    launcher.getMenu().setVisible(false);
-                }
+            if (launcher != null && !e.isPopupTrigger() && launcher.getMenu().isShowing()) {
+                launcher.getMenu().setVisible(false);
             }
         }
     }
diff --git a/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java b/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
index 4395e33..c1532bd 100644
--- a/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
+++ b/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
@@ -15,6 +15,7 @@ import javax.swing.UIDefaults;
 import javax.swing.UIManager;
 import javax.swing.text.html.StyleSheet;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -82,7 +83,7 @@ public class JosmEditorPane extends JEditorPane {
         }
         return result;
     }
-    
+
     /**
      * Adapts a {@link JEditorPane} to be used as a powerful replacement of {@link javax.swing.JLabel}.
      * @param pane The editor pane to adapt
@@ -102,6 +103,10 @@ public class JosmEditorPane extends JEditorPane {
         ss.addRule("h1 {" + getFontRule(GuiHelper.getTitleFont()) + "}");
         ss.addRule("ol {margin-left: 1cm; margin-top: 0.1cm; margin-bottom: 0.2cm; list-style-type: decimal}");
         ss.addRule("ul {margin-left: 1cm; margin-top: 0.1cm; margin-bottom: 0.2cm; list-style-type: disc}");
+        if ("km".equals(Main.pref.get("language"))) {
+            // Fix rendering problem for Khmer script
+            ss.addRule("p {" + getFontRule(UIManager.getFont("Label.font")) + "}");
+        }
         kit.setStyleSheet(ss);
         pane.setEditorKit(kit);
     }
diff --git a/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java b/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java
index bd2d7b8..e8fa42e 100644
--- a/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java
+++ b/src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java
@@ -42,6 +42,7 @@ import java.util.Map;
 import javax.swing.UIManager;
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -827,8 +828,7 @@ public class MultiSplitLayout implements LayoutManager {
      * @throws IllegalArgumentException if the Rectangle is null
      */
     public List<Divider> dividersThatOverlap(Rectangle r) {
-        if (r == null)
-            throw new IllegalArgumentException("null Rectangle");
+        CheckParameterUtil.ensureParameterNotNull(r, "r");
         return dividersThatOverlap(getModel(), r);
     }
 
@@ -885,8 +885,7 @@ public class MultiSplitLayout implements LayoutManager {
          * @see #getBounds
          */
         public void setBounds(Rectangle bounds) {
-            if (bounds == null)
-                throw new IllegalArgumentException("null bounds");
+            CheckParameterUtil.ensureParameterNotNull(bounds, "bounds");
             this.bounds = new Rectangle(bounds);
         }
 
@@ -1076,8 +1075,7 @@ public class MultiSplitLayout implements LayoutManager {
          * @throws IllegalArgumentException if name is null
          */
         public Leaf(String name) {
-            if (name == null)
-                throw new IllegalArgumentException("name is null");
+            CheckParameterUtil.ensureParameterNotNull(name, "name");
             this.name = name;
         }
 
@@ -1096,8 +1094,7 @@ public class MultiSplitLayout implements LayoutManager {
          * @throws IllegalArgumentException if name is null
          */
         public void setName(String name) {
-            if (name == null)
-                throw new IllegalArgumentException("name is null");
+            CheckParameterUtil.ensureParameterNotNull(name, "name");
             this.name = name;
         }
 
diff --git a/src/org/openstreetmap/josm/io/CachedFile.java b/src/org/openstreetmap/josm/io/CachedFile.java
index 31a88eb..269da49 100644
--- a/src/org/openstreetmap/josm/io/CachedFile.java
+++ b/src/org/openstreetmap/josm/io/CachedFile.java
@@ -65,7 +65,7 @@ public class CachedFile {
     protected CachingStrategy cachingStrategy;
 
     protected File cacheFile = null;
-    boolean initialized = false;
+    protected boolean initialized = false;
 
     public static final long DEFAULT_MAXTIME = -1L;
     public static final long DAYS = 24*60*60; // factor to get caching time in days
@@ -78,7 +78,8 @@ public class CachedFile {
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
-     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li></ul>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm user data directory (since r7058)</li></ul>
+     *  <li>{@code josmplugindir://SOME/FILE} file inside josm plugin directory (since r7834)</li></ul>
      */
     public CachedFile(String name) {
         this.name = name;
@@ -91,7 +92,8 @@ public class CachedFile {
      *  <li>{@code file:///SOME/FILE} the same as above</li>
      *  <li>{@code http://...} a URL. It will be cached on disk.</li></ul>
      *  <li>{@code resource://SOME/FILE} file from the classpath (usually in the current *.jar)</li>
-     *  <li>{@code josmdir://SOME/FILE} file inside josm config directory (since r7058)</li></ul>
+     *  <li>{@code josmdir://SOME/FILE} file inside josm user data directory (since r7058)</li></ul>
+     *  <li>{@code josmplugindir://SOME/FILE} file inside josm plugin directory (since r7834)</li></ul>
      * @return this object
      */
     public CachedFile setName(String name) {
@@ -175,7 +177,9 @@ public class CachedFile {
                 if (is == null)
                     throw new IOException(tr("Failed to open input stream for resource ''{0}''", name));
                 return is;
-            } else throw new IOException();
+            } else {
+                throw new IOException("No file found for: "+name);
+            }
         }
         return new FileInputStream(file);
     }
@@ -186,7 +190,7 @@ public class CachedFile {
      * returns just that file.
      * @throws IOException when the resource with the given name could not be retrieved
      */
-    public File getFile() throws IOException {
+    public synchronized File getFile() throws IOException {
         if (initialized)
             return cacheFile;
         initialized = true;
@@ -205,7 +209,9 @@ public class CachedFile {
             if (name.startsWith("resource://")) {
                 return null;
             } else if (name.startsWith("josmdir://")) {
-                cacheFile = new File(Main.pref.getPreferencesDir(), name.substring("josmdir://".length()));
+                cacheFile = new File(Main.pref.getUserDataDirectory(), name.substring("josmdir://".length()));
+            } else if (name.startsWith("josmplugindir://")) {
+                cacheFile = new File(Main.pref.getPluginsDirectory(), name.substring("josmplugindir://".length()));
             } else {
                 cacheFile = new File(name);
             }
diff --git a/src/org/openstreetmap/josm/io/Compression.java b/src/org/openstreetmap/josm/io/Compression.java
index 8bdffa8..b5c0503 100644
--- a/src/org/openstreetmap/josm/io/Compression.java
+++ b/src/org/openstreetmap/josm/io/Compression.java
@@ -12,7 +12,7 @@ import java.nio.charset.StandardCharsets;
 import java.util.zip.GZIPOutputStream;
 import java.util.zip.ZipOutputStream;
 
-import org.apache.tools.bzip2.CBZip2OutputStream;
+import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
 import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -97,9 +97,7 @@ public enum Compression {
     public OutputStream getCompressedOutputStream(OutputStream out) throws IOException {
         switch (this) {
             case BZIP2:
-                out.write('B');
-                out.write('Z');
-                return new CBZip2OutputStream(out);
+                return new BZip2CompressorOutputStream(out);
             case GZIP:
                 return new GZIPOutputStream(out);
             case ZIP:
diff --git a/src/org/openstreetmap/josm/io/GpxExporter.java b/src/org/openstreetmap/josm/io/GpxExporter.java
index 36f52ae..652e337 100644
--- a/src/org/openstreetmap/josm/io/GpxExporter.java
+++ b/src/org/openstreetmap/josm/io/GpxExporter.java
@@ -199,14 +199,14 @@ public class GpxExporter extends FileExporter implements GpxConstants {
         warning.setText(enable ? GPL_WARNING : "<html><font size='-2'> </html");
 
         if (enable) {
-            if (copyrightYear.getText().length()==0) {
+            if (copyrightYear.getText().isEmpty()) {
                 String sCopyrightYear = data.getString(META_COPYRIGHT_YEAR);
                 if (sCopyrightYear == null) {
                     sCopyrightYear = Integer.toString(Calendar.getInstance().get(Calendar.YEAR));
                 }
                 copyrightYear.setText(sCopyrightYear);
             }
-            if (copyright.getText().length()==0) {
+            if (copyright.getText().isEmpty()) {
                 String sCopyright = data.getString(META_COPYRIGHT_LICENSE);
                 if (sCopyright == null) {
                     sCopyright = Main.pref.get("lastCopyright", "https://creativecommons.org/licenses/by-sa/2.5");
@@ -307,7 +307,7 @@ public class GpxExporter extends FileExporter implements GpxConstants {
                         license = "public domain";
                         break;
                     }
-                    license += license.length()==0 ? urls[i] : ", "+urls[i];
+                    license += license.isEmpty() ? urls[i] : ", "+urls[i];
                 }
                 copyright.setText(license);
                 copyright.setCaretPosition(0);
diff --git a/src/org/openstreetmap/josm/io/GpxReader.java b/src/org/openstreetmap/josm/io/GpxReader.java
index 55481f0..9e252fe 100644
--- a/src/org/openstreetmap/josm/io/GpxReader.java
+++ b/src/org/openstreetmap/josm/io/GpxReader.java
@@ -404,9 +404,6 @@ public class GpxReader implements GpxConstants {
                     }
                     break;
                 case "time":
-                    currentWayPoint.put(localName, accumulator.toString());
-                    currentWayPoint.setTime();
-                    break;
                 case "cmt":
                 case "desc":
                     currentWayPoint.put(localName, accumulator.toString());
diff --git a/src/org/openstreetmap/josm/io/NoteImporter.java b/src/org/openstreetmap/josm/io/NoteImporter.java
index f635fbb..4f190d3 100644
--- a/src/org/openstreetmap/josm/io/NoteImporter.java
+++ b/src/org/openstreetmap/josm/io/NoteImporter.java
@@ -4,7 +4,6 @@ package org.openstreetmap.josm.io;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.List;
@@ -15,11 +14,11 @@ import org.openstreetmap.josm.data.notes.Note;
 import org.openstreetmap.josm.gui.layer.NoteLayer;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.gui.util.GuiHelper;
-import org.openstreetmap.josm.tools.Utils;
 import org.xml.sax.SAXException;
 
 /**
  * File importer that reads note dump files (*.osn and .osn.bz2)
+ * @since 7538
  */
 public class NoteImporter extends FileImporter {
 
@@ -32,32 +31,24 @@ public class NoteImporter extends FileImporter {
     }
 
     @Override
-    public void importData(File file, ProgressMonitor progressMonitor) throws IOException {
-        Main.debug("importing notes file " + file.getAbsolutePath());
-        final String fileName = file.getName();
-        InputStream is;
-        if(fileName.endsWith(".bz2")) {
-            is = Utils.getBZip2InputStream(new FileInputStream(file));
-        } else {
-            is = new FileInputStream(file);
+    public void importData(final File file, ProgressMonitor progressMonitor) throws IOException {
+        if (Main.isDebugEnabled()) {
+            Main.debug("importing notes file " + file.getAbsolutePath());
         }
-        NoteReader reader = new NoteReader(is);
-        try {
-            final List<Note> fileNotes = reader.parse();
+        try (InputStream is = Compression.getUncompressedFileInputStream(file)) {
+            final List<Note> fileNotes = new NoteReader(is).parse();
 
             List<NoteLayer> noteLayers = null;
             if (Main.map != null) {
                 noteLayers = Main.map.mapView.getLayersOfType(NoteLayer.class);
             }
-            if (noteLayers != null && noteLayers.size() > 0) {
-                NoteLayer layer = noteLayers.get(0);
-                layer.getNoteData().addNotes(fileNotes);
+            if (noteLayers != null && !noteLayers.isEmpty()) {
+                noteLayers.get(0).getNoteData().addNotes(fileNotes);
             } else {
                 GuiHelper.runInEDT(new Runnable() {
                     @Override
                     public void run() {
-                        NoteLayer layer = new NoteLayer(fileNotes, fileName);
-                        Main.main.addLayer(layer);
+                        Main.main.addLayer(new NoteLayer(fileNotes, file.getName()));
                     }
                 });
             }
@@ -66,9 +57,5 @@ public class NoteImporter extends FileImporter {
             Main.error(e, true);
             throw new IOException(e.getMessage(), e);
         }
-        finally {
-            Utils.close(is);
-        }
     }
-
 }
diff --git a/src/org/openstreetmap/josm/io/OsmChangesetContentParser.java b/src/org/openstreetmap/josm/io/OsmChangesetContentParser.java
index 81acd46..ff47977 100644
--- a/src/org/openstreetmap/josm/io/OsmChangesetContentParser.java
+++ b/src/org/openstreetmap/josm/io/OsmChangesetContentParser.java
@@ -83,18 +83,12 @@ public class OsmChangesetContentParser {
                 }
                 data.put(currentPrimitive, currentModificationType);
                 break;
-            case "osmChange":
-                // do nothing
-                break;
             case "create":
-                currentModificationType = null;
-                break;
             case "modify":
-                currentModificationType = null;
-                break;
             case "delete":
                 currentModificationType = null;
                 break;
+            case "osmChange":
             case "tag":
             case "nd":
             case "member":
diff --git a/src/org/openstreetmap/josm/io/OsmImporter.java b/src/org/openstreetmap/josm/io/OsmImporter.java
index 2f8ac55..59bd7b8 100644
--- a/src/org/openstreetmap/josm/io/OsmImporter.java
+++ b/src/org/openstreetmap/josm/io/OsmImporter.java
@@ -13,6 +13,7 @@ import javax.swing.JOptionPane;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
@@ -31,8 +32,8 @@ public class OsmImporter extends FileImporter {
      */
     public static class OsmImporterData {
 
-        private OsmDataLayer layer;
-        private Runnable postLayerTask;
+        private final OsmDataLayer layer;
+        private final Runnable postLayerTask;
 
         public OsmImporterData(OsmDataLayer layer, Runnable postLayerTask) {
             this.layer = layer;
@@ -101,9 +102,15 @@ public class OsmImporter extends FileImporter {
         GuiHelper.runInEDT(new Runnable() {
             @Override
             public void run() {
-                Main.main.addLayer(data.layer);
-                data.postLayerTask.run();
-                data.layer.onPostLoadFromFile();
+                OsmDataLayer layer = data.getLayer();
+                BoundingXYVisitor v = new BoundingXYVisitor();
+                v.visit(layer.data.getDataSourceBoundingBox());
+                if (!v.hasExtend()) {
+                    v.computeBoundingBox(layer.data.getNodes());
+                }
+                Main.main.addLayer(layer, v.getBounds());
+                data.getPostLayerTask().run();
+                data.getLayer().onPostLoadFromFile();
             }
         });
     }
diff --git a/src/org/openstreetmap/josm/io/OsmReader.java b/src/org/openstreetmap/josm/io/OsmReader.java
index 9d39591..98204fe 100644
--- a/src/org/openstreetmap/josm/io/OsmReader.java
+++ b/src/org/openstreetmap/josm/io/OsmReader.java
@@ -453,14 +453,17 @@ public class OsmReader extends AbstractReader {
             try {
                 version = Integer.parseInt(versionString);
             } catch(NumberFormatException e) {
-                throwException(tr("Illegal value for attribute ''version'' on OSM primitive with ID {0}. Got {1}.", Long.toString(current.getUniqueId()), versionString), e);
+                throwException(tr("Illegal value for attribute ''version'' on OSM primitive with ID {0}. Got {1}.",
+                        Long.toString(current.getUniqueId()), versionString), e);
             }
             switch (ds.getVersion()) {
             case "0.6":
                 if (version <= 0 && !current.isNew()) {
-                    throwException(tr("Illegal value for attribute ''version'' on OSM primitive with ID {0}. Got {1}.", Long.toString(current.getUniqueId()), versionString));
+                    throwException(tr("Illegal value for attribute ''version'' on OSM primitive with ID {0}. Got {1}.",
+                            Long.toString(current.getUniqueId()), versionString));
                 } else if (version < 0 && current.isNew()) {
-                    Main.warn(tr("Normalizing value of attribute ''version'' of element {0} to {2}, API version is ''{3}''. Got {1}.", current.getUniqueId(), version, 0, "0.6"));
+                    Main.warn(tr("Normalizing value of attribute ''version'' of element {0} to {2}, API version is ''{3}''. Got {1}.",
+                            current.getUniqueId(), version, 0, "0.6"));
                     version = 0;
                 }
                 break;
@@ -553,7 +556,11 @@ public class OsmReader extends AbstractReader {
             }
             if (getLocation() == null)
                 return msg;
-            msg = msg + " " + tr("(at line {0}, column {1})", getLocation().getLineNumber(), getLocation().getColumnNumber());
+            msg += " " + tr("(at line {0}, column {1})", getLocation().getLineNumber(), getLocation().getColumnNumber());
+            int offset = getLocation().getCharacterOffset();
+            if (offset > -1) {
+                msg += ". "+ tr("{0} bytes have been read", offset);
+            }
             return msg;
         }
     }
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/DNSName.java b/src/org/openstreetmap/josm/io/remotecontrol/DNSName.java
index 4e99352..833f92e 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/DNSName.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/DNSName.java
@@ -100,6 +100,7 @@ public class DNSName implements GeneralNameInterface {
     /**
      * Return the type of the GeneralName.
      */
+    @Override
     public int getType() {
         return GeneralNameInterface.NAME_DNS;
     }
@@ -118,6 +119,7 @@ public class DNSName implements GeneralNameInterface {
      * @param out the DER stream to encode the DNSName to.
      * @exception IOException on encoding errors.
      */
+    @Override
     public void encode(DerOutputStream out) throws IOException {
         out.putIA5String(name);
     }
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControl.java b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControl.java
index b46e681..91540a6 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControl.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControl.java
@@ -1,6 +1,10 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.io.remotecontrol;
 
+import java.io.File;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.preferences.BooleanProperty;
 import org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler;
@@ -24,7 +28,8 @@ public class RemoteControl {
      * only HTTP access will be available.
      * @since 7335
      */
-    public static final BooleanProperty PROP_REMOTECONTROL_HTTPS_ENABLED = new BooleanProperty("remotecontrol.https.enabled", false);
+    public static final BooleanProperty PROP_REMOTECONTROL_HTTPS_ENABLED = new BooleanProperty(
+            "remotecontrol.https.enabled", false);
 
     /**
      * RemoteControl HTTP protocol version. Change minor number for compatible
@@ -68,6 +73,17 @@ public class RemoteControl {
      * @since 7335
      */
     public static String getRemoteControlDir() {
-        return Main.pref.getPreferencesDir() + "remotecontrol/";
+        return new File(Main.pref.getUserDataDirectory(), "remotecontrol").getAbsolutePath();
+    }
+
+    /**
+     * Returns the inet address used for remote control.
+     * @return the inet address used for remote control
+     * @throws UnknownHostException if the local host name could not be resolved into an address.
+     * @since 7800
+     */
+    public static InetAddress getInetAddress() throws UnknownHostException {
+        // Return an address to the loopback interface by default
+        return InetAddress.getByName(Main.pref.get("remote.control.host", null));
     }
 }
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpServer.java b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpServer.java
index e63e275..34b5a8b 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpServer.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpServer.java
@@ -5,7 +5,6 @@ import static org.openstreetmap.josm.tools.I18n.marktr;
 
 import java.io.IOException;
 import java.net.BindException;
-import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
 import java.net.SocketException;
@@ -67,11 +66,9 @@ public class RemoteControlHttpServer extends Thread {
         super("RemoteControl HTTP Server");
         this.setDaemon(true);
         // Start the server socket with only 1 connection.
-        // Also make sure we only listen
-        // on the local interface so nobody from the outside can connect!
+        // Also make sure we only listen on the local interface so nobody from the outside can connect!
         // NOTE: On a dual stack machine with old Windows OS this may not listen on both interfaces!
-        this.server = new ServerSocket(port, 1,
-            InetAddress.getByName(Main.pref.get("remote.control.host", "localhost")));
+        this.server = new ServerSocket(port, 1, RemoteControl.getInetAddress());
     }
 
     /**
@@ -79,8 +76,8 @@ public class RemoteControlHttpServer extends Thread {
      */
     @Override
     public void run() {
-        Main.info(marktr("RemoteControl::Accepting connections on port {0}"),
-             Integer.toString(server.getLocalPort()));
+        Main.info(marktr("RemoteControl::Accepting connections on {0}:{1}"),
+                server.getInetAddress(), Integer.toString(server.getLocalPort()));
         while (true) {
             try {
                 @SuppressWarnings("resource")
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
index ee3c1f7..94a7887 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java
@@ -8,7 +8,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.math.BigInteger;
 import java.net.BindException;
-import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
 import java.net.SocketException;
@@ -146,8 +145,7 @@ public class RemoteControlHttpsServer extends Thread {
         // Change of behaviour in JDK8:
         // https://bugs.openjdk.java.net/browse/JDK-8040820
         // https://bugs.openjdk.java.net/browse/JDK-7198416
-        String version = System.getProperty("java.version");
-        if (version == null || version.matches("^(1\\.)?[7].*")) {
+        if (!Main.isJava8orLater()) {
             // Java 7 code. To remove with Java 8 migration
             info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(owner));
             info.set(X509CertInfo.ISSUER, new CertificateIssuerName(owner));
@@ -379,11 +377,9 @@ public class RemoteControlHttpsServer extends Thread {
         }
 
         // Start the server socket with only 1 connection.
-        // Also make sure we only listen
-        // on the local interface so nobody from the outside can connect!
+        // Also make sure we only listen on the local interface so nobody from the outside can connect!
         // NOTE: On a dual stack machine with old Windows OS this may not listen on both interfaces!
-        this.server = factory.createServerSocket(port, 1,
-            InetAddress.getByName(Main.pref.get("remote.control.host", "localhost")));
+        this.server = factory.createServerSocket(port, 1, RemoteControl.getInetAddress());
 
         if (Main.isTraceEnabled() && server instanceof SSLServerSocket) {
             SSLServerSocket sslServer = (SSLServerSocket) server;
@@ -401,8 +397,8 @@ public class RemoteControlHttpsServer extends Thread {
      */
     @Override
     public void run() {
-        Main.info(marktr("RemoteControl::Accepting secure connections on port {0}"),
-             Integer.toString(server.getLocalPort()));
+        Main.info(marktr("RemoteControl::Accepting secure connections on {0}:{1}"),
+                server.getInetAddress(), Integer.toString(server.getLocalPort()));
         while (true) {
             try {
                 @SuppressWarnings("resource")
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java b/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java
index f1ba802..a9faa3e 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java
@@ -56,8 +56,7 @@ public class ImageryHandler extends RequestHandler {
         return null;
     }
 
-    @Override
-    protected void handleRequest() throws RequestHandlerErrorException {
+    protected ImageryInfo buildImageryInfo() {
         String url = args.get("url");
         String title = args.get("title");
         String type = args.get("type");
@@ -73,22 +72,36 @@ public class ImageryHandler extends RequestHandler {
         if (bing != null) {
             imgInfo.setIcon(bing.getIcon());
         }
-        String min_zoom = args.get("min_zoom");
-        if (min_zoom != null && !min_zoom.isEmpty()) {
+        String minZoom = args.get("min_zoom");
+        if (minZoom != null && !minZoom.isEmpty()) {
             try {
-                imgInfo.setDefaultMinZoom(Integer.parseInt(min_zoom));
+                imgInfo.setDefaultMinZoom(Integer.parseInt(minZoom));
             } catch (NumberFormatException e) {
                 Main.error(e);
             }
         }
-        String max_zoom = args.get("max_zoom");
-        if (max_zoom != null && !max_zoom.isEmpty()) {
+        String maxZoom = args.get("max_zoom");
+        if (maxZoom != null && !maxZoom.isEmpty()) {
             try {
-                imgInfo.setDefaultMaxZoom(Integer.parseInt(max_zoom));
+                imgInfo.setDefaultMaxZoom(Integer.parseInt(maxZoom));
             } catch (NumberFormatException e) {
                 Main.error(e);
             }
         }
+        return imgInfo;
+    }
+
+    @Override
+    protected void handleRequest() throws RequestHandlerErrorException {
+        final ImageryInfo imgInfo = buildImageryInfo();
+        if (Main.isDisplayingMapView()) {
+            for (ImageryLayer layer : Main.map.mapView.getLayersOfType(ImageryLayer.class)) {
+                if (layer.getInfo().equals(imgInfo)) {
+                    Main.info("Imagery layer already exists: "+imgInfo);
+                    return;
+                }
+            }
+        }
         GuiHelper.runInEDT(new Runnable() {
             @Override
             public void run() {
@@ -113,10 +126,8 @@ public class ImageryHandler extends RequestHandler {
                 if (urlIdx != -1) {
                     args.put("url", decodeParam(query.substring(urlIdx + 5)));
                     query = query.substring(0, urlIdx);
-                } else {
-                    if (query.indexOf('#') != -1) {
-                        query = query.substring(0, query.indexOf('#'));
-                    }
+                } else if (query.indexOf('#') != -1) {
+                    query = query.substring(0, query.indexOf('#'));
                 }
                 String[] params = query.split("&", -1);
                 for (String param : params) {
diff --git a/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java b/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java
index fee6685..d06807c 100644
--- a/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java
+++ b/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java
@@ -243,7 +243,7 @@ public class LoadAndZoomHandler extends RequestHandler {
                 public void run() {
                     BoundingXYVisitor bbox1 = new BoundingXYVisitor();
                     bbox1.visit(bbox);
-                    Main.map.mapView.recalculateCenterScale(bbox1);
+                    Main.map.mapView.zoomTo(bbox1);
                 }
             });
         }
diff --git a/src/org/openstreetmap/josm/tools/Diff.java b/src/org/openstreetmap/josm/tools/Diff.java
index ce7ab50..279102d 100644
--- a/src/org/openstreetmap/josm/tools/Diff.java
+++ b/src/org/openstreetmap/josm/tools/Diff.java
@@ -911,7 +911,6 @@ public class Diff {
                     if (end != i_end
                             && equivs[start] == equivs[end]
                                                        && !other_changed[1+j]
-                                                                         && end != i_end
                                                                          && !((preceding >= 0 && start == preceding)
                                                                                  || (other_preceding >= 0
                                                                                          && other_start == other_preceding)))
diff --git a/src/org/openstreetmap/josm/tools/ExifReader.java b/src/org/openstreetmap/josm/tools/ExifReader.java
index eb7d773..0e62677 100644
--- a/src/org/openstreetmap/josm/tools/ExifReader.java
+++ b/src/org/openstreetmap/josm/tools/ExifReader.java
@@ -174,7 +174,7 @@ public final class ExifReader {
             double sec = components[2].doubleValue();
 
             if (Double.isNaN(deg) && Double.isNaN(min) && Double.isNaN(sec))
-                throw new IllegalArgumentException();
+                throw new IllegalArgumentException("deg, min and sec are NaN");
 
             value = (Double.isNaN(deg) ? 0 : deg + (Double.isNaN(min) ? 0 : (min / 60)) + (Double.isNaN(sec) ? 0 : (sec / 3600)));
 
diff --git a/src/org/openstreetmap/josm/tools/Geometry.java b/src/org/openstreetmap/josm/tools/Geometry.java
index ff90c68..d374e19 100644
--- a/src/org/openstreetmap/josm/tools/Geometry.java
+++ b/src/org/openstreetmap/josm/tools/Geometry.java
@@ -313,6 +313,11 @@ public final class Geometry {
 
     /**
      * Finds the intersection of two lines of infinite length.
+     *
+     * @param p1 first point on first line
+     * @param p2 second point on first line
+     * @param p3 first point on second line
+     * @param p4 second point on second line
      * @return EastNorth null if no intersection was found, the coordinates of the intersection otherwise
      * @throws IllegalArgumentException if a parameter is null or without valid coordinates
      */
@@ -323,23 +328,34 @@ public final class Geometry {
         CheckParameterUtil.ensureValidCoordinates(p3, "p3");
         CheckParameterUtil.ensureValidCoordinates(p4, "p4");
 
-        if (!p1.isValid()) throw new IllegalArgumentException();
+        if (!p1.isValid()) throw new IllegalArgumentException(p1+" is invalid");
+
+        // Basically, the formula from wikipedia is used:
+        //  https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection
+        // However, large numbers lead to rounding errors (see #10286).
+        // To avoid this, p1 is first substracted from each of the points:
+        //  p1' = 0
+        //  p2' = p2 - p1
+        //  p3' = p3 - p1
+        //  p4' = p4 - p1
+        // In the end, p1 is added to the intersection point of segment p1'/p2'
+        // and segment p3'/p4'.
 
         // Convert line from (point, point) form to ax+by=c
         double a1 = p2.getY() - p1.getY();
         double b1 = p1.getX() - p2.getX();
-        double c1 = p2.getX() * p1.getY() - p1.getX() * p2.getY();
+        // double c1 = 0;
 
         double a2 = p4.getY() - p3.getY();
         double b2 = p3.getX() - p4.getX();
-        double c2 = p4.getX() * p3.getY() - p3.getX() * p4.getY();
+        double c2 = (p4.getX() - p1.getX()) * (p3.getY() - p1.getY()) - (p3.getX() - p1.getX()) * (p4.getY() - p1.getY());
 
         // Solve the equations
         double det = a1 * b2 - a2 * b1;
         if (det == 0)
             return null; // Lines are parallel
 
-        return new EastNorth((b1 * c2 - b2 * c1) / det, (a2 * c1 - a1 * c2) / det);
+        return new EastNorth(b1 * c2 / det + p1.getX(),  - a1 * c2 / det + p1.getY());
     }
 
     public static boolean segmentsParallel(EastNorth p1, EastNorth p2, EastNorth p3, EastNorth p4) {
@@ -558,12 +574,20 @@ public final class Geometry {
         //iterate each side of the polygon, start with the last segment
         Node oldPoint = polygonNodes.get(polygonNodes.size() - 1);
 
+        if (!oldPoint.isLatLonKnown()) {
+            return false;
+        }
+
         for (Node newPoint : polygonNodes) {
             //skip duplicate points
             if (newPoint.equals(oldPoint)) {
                 continue;
             }
 
+            if (!newPoint.isLatLonKnown()) {
+                return false;
+            }
+
             //order points so p1.lat <= p2.lat
             if (newPoint.getEastNorth().getY() > oldPoint.getEastNorth().getY()) {
                 p1 = oldPoint;
diff --git a/src/org/openstreetmap/josm/tools/I18n.java b/src/org/openstreetmap/josm/tools/I18n.java
index b555d66..3a7f89b 100644
--- a/src/org/openstreetmap/josm/tools/I18n.java
+++ b/src/org/openstreetmap/josm/tools/I18n.java
@@ -38,8 +38,43 @@ public final class I18n {
         // Hide default constructor for utils classes
     }
 
-    private enum PluralMode { MODE_NOTONE, MODE_NONE, MODE_GREATERONE,
-        MODE_CS/*, MODE_AR*/, MODE_PL/*, MODE_RO*/, MODE_RU, MODE_SK/*, MODE_SL*/}
+    /**
+     * Enumeration of possible plural modes. It allows us to identify and implement logical conditions of
+     * plural forms defined on <a href="https://help.launchpad.net/Translations/PluralForms">Launchpad</a>.
+     * See <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html">CLDR</a>
+     * for another complete list.
+     * @see #pluralEval
+     */
+    private enum PluralMode {
+        /** Plural = Not 1. This is the default for many languages, including English: 1 day, but 0 days or 2 days. */
+        MODE_NOTONE,
+        /** No plural. Mainly for Asian languages (Indonesian, Chinese, Japanese, ...) */
+        MODE_NONE,
+        /** Plural = Greater than 1. For some latin languages (French, Brazilian Portuguese) */
+        MODE_GREATERONE,
+        /* Special mode for
+         * <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#ar">Arabic</a>.*
+        MODE_AR,*/
+        /** Special mode for
+         * <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#cs">Czech</a>. */
+        MODE_CS,
+        /** Special mode for
+         * <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#pl">Polish</a>. */
+        MODE_PL,
+        /* Special mode for
+         * <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#ro">Romanian</a>.*
+        MODE_RO,*/
+        /** Special mode for
+         * <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#ru">Russian</a>. */
+        MODE_RU,
+        /** Special mode for
+         * <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#sk">Slovak</a>. */
+        MODE_SK,
+        /* Special mode for
+         * <a href="http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#sl">Slovenian</a>.*
+        MODE_SL,*/
+    }
+
     private static PluralMode pluralMode = PluralMode.MODE_NOTONE; /* english default */
     private static String loadedCode = "en";
 
@@ -137,7 +172,7 @@ public final class I18n {
      * These strings are collected by a script that runs on the source code files.
      * After translation, the localizations are distributed with the main program.
      * <br>
-     * For example, {@code tr("JOSM''s default value is ''{0}''.", val)}.
+     * For example, <code>tr("JOSM''s default value is ''{0}''.", val)</code>.
      * <br>
      * Use {@link #trn} for distinguishing singular from plural text, i.e.,
      * do not use {@code tr(size == 1 ? "singular" : "plural")} nor
@@ -148,7 +183,7 @@ public final class I18n {
      * Can be broken over multiple lines.
      * An apostrophe ' must be quoted by another apostrophe.
      * @param objects the parameters for the string.
-     * Mark occurrences in {@code text} with {@code {0}}, {@code {1}}, ...
+     * Mark occurrences in {@code text} with <code>{0}</code>, <code>{1}</code>, ...
      * @return the translated string.
      * @see #trn
      * @see #trc
@@ -191,9 +226,9 @@ public final class I18n {
      * Marks a string for translation (such that a script can harvest
      * the translatable strings from the source files).
      *
-     * For example, {@code
+     * For example, <code>
      * String[] options = new String[] {marktr("up"), marktr("down")};
-     * lbl.setText(tr(options[0]));}
+     * lbl.setText(tr(options[0]));</code>
      * @param text the string to be marked for translation.
      * @return {@code text} unmodified.
      */
@@ -210,7 +245,7 @@ public final class I18n {
      * {@code singularText} and {@code pluralText} depending on {@code n}.
      * <br>
      * For instance, {@code trn("There was an error!", "There were errors!", i)} or
-     * {@code trn("Found {0} error in {1}!", "Found {0} errors in {1}!", i, Integer.toString(i), url)}.
+     * <code>trn("Found {0} error in {1}!", "Found {0} errors in {1}!", i, Integer.toString(i), url)</code>.
      *
      * @param singularText the singular text to translate.
      * Must be a string literal. (No constants or local vars.)
@@ -222,7 +257,7 @@ public final class I18n {
      * An apostrophe ' must be quoted by another apostrophe.
      * @param n a number to determine whether {@code singularText} or {@code pluralText} is used.
      * @param objects the parameters for the string.
-     * Mark occurrences in {@code singularText} and {@code pluralText} with {@code {0}}, {@code {1}}, ...
+     * Mark occurrences in {@code singularText} and {@code pluralText} with <code>{0}</code>, <code>{1}</code>, ...
      * @return the translated string.
      * @see #tr
      * @see #trc
@@ -249,7 +284,7 @@ public final class I18n {
      * An apostrophe ' must be quoted by another apostrophe.
      * @param n a number to determine whether {@code singularText} or {@code pluralText} is used.
      * @param objects the parameters for the string.
-     * Mark occurrences in {@code singularText} and {@code pluralText} with {@code {0}}, {@code {1}}, ...
+     * Mark occurrences in {@code singularText} and {@code pluralText} with <code>{0}</code>, <code>{1}</code>, ...
      * @return the translated string.
      * @see #tr
      * @see #trc
@@ -259,16 +294,13 @@ public final class I18n {
         return MessageFormat.format(gettextn(singularText, pluralText, context, n), objects);
     }
 
-    private static final String gettext(String text, String ctx, boolean lazy)
-    {
+    private static final String gettext(String text, String ctx, boolean lazy) {
         int i;
-        if(ctx == null && text.startsWith("_:") && (i = text.indexOf('\n')) >= 0)
-        {
+        if(ctx == null && text.startsWith("_:") && (i = text.indexOf('\n')) >= 0) {
             ctx = text.substring(2,i-1);
             text = text.substring(i+1);
         }
-        if(strings != null)
-        {
+        if(strings != null) {
             String trans = strings.get(ctx == null ? text : "_:"+ctx+"\n"+text);
             if(trans != null)
                 return trans;
@@ -286,22 +318,18 @@ public final class I18n {
         return gettext(text, ctx, false);
     }
 
-
     /* try without context, when context try fails */
     private static final String gettext_lazy(String text, String ctx) {
         return gettext(text, ctx, true);
     }
 
-    private static final String gettextn(String text, String plural, String ctx, long num)
-    {
+    private static final String gettextn(String text, String plural, String ctx, long num) {
         int i;
-        if(ctx == null && text.startsWith("_:") && (i = text.indexOf('\n')) >= 0)
-        {
+        if(ctx == null && text.startsWith("_:") && (i = text.indexOf('\n')) >= 0) {
             ctx = text.substring(2,i-1);
             text = text.substring(i+1);
         }
-        if(pstrings != null)
-        {
+        if(pstrings != null) {
             i = pluralEval(num);
             String[] trans = pstrings.get(ctx == null ? text : "_:"+ctx+"\n"+text);
             if(trans != null && trans.length > i)
@@ -326,8 +354,7 @@ public final class I18n {
      */
     public static final Locale[] getAvailableTranslations() {
         Collection<Locale> v = new ArrayList<>(languages.size());
-        if(getTranslationFile("en") != null)
-        {
+        if(getTranslationFile("en") != null) {
             for (String loc : languages.keySet()) {
                 if(getTranslationFile(loc) != null) {
                     v.add(LanguageInfo.getLocale(loc));
@@ -346,14 +373,27 @@ public final class I18n {
         return l;
     }
 
-    public static boolean hasCode(String code)
-    {
+    /**
+     * Determines if a language exists for the given code.
+     * @param code The language code
+     * @return {@code true} if a language exists, {@code false} otherwise
+     */
+    public static boolean hasCode(String code) {
         return languages.containsKey(code);
     }
 
-    public static void init()
-    {
+    /**
+     * I18n initialization.
+     */
+    public static void init() {
+        // Enable CLDR locale provider on Java 8 to get additional languages, such as Khmer.
+        // http://docs.oracle.com/javase/8/docs/technotes/guides/intl/enhancements.8.html#cldr
+        // FIXME: This can be removed after we switch to a minimal version of Java that enables CLDR by default
+        // or includes all languages we need in the JRE. See http://openjdk.java.net/jeps/8043554 for Java 9
+        Utils.updateSystemProperty("java.locale.providers", "JRE,CLDR");
+
         //languages.put("ar", PluralMode.MODE_AR);
+        languages.put("ast", PluralMode.MODE_NOTONE);
         languages.put("bg", PluralMode.MODE_NOTONE);
         languages.put("ca", PluralMode.MODE_NOTONE);
         languages.put("cs", PluralMode.MODE_CS);
@@ -374,6 +414,8 @@ public final class I18n {
         //languages.put("is", PluralMode.MODE_NOTONE);
         languages.put("it", PluralMode.MODE_NOTONE);
         languages.put("ja", PluralMode.MODE_NONE);
+        // fully supported only with Java 8 and later (needs CLDR)
+        languages.put("km", PluralMode.MODE_NONE);
         //languages.put("nb", PluralMode.MODE_NOTONE);
         languages.put("nl", PluralMode.MODE_NOTONE);
         languages.put("pl", PluralMode.MODE_PL);
@@ -498,18 +540,15 @@ public final class I18n {
                string
            }
          */
-        try
-        {
+        try {
             InputStream ens = new BufferedInputStream(en);
             InputStream trs = new BufferedInputStream(tr);
             byte[] enlen = new byte[2];
             byte[] trlen = new byte[2];
             boolean multimode = false;
             byte[] str = new byte[4096];
-            for(;;)
-            {
-                if(multimode)
-                {
+            for(;;) {
+                if(multimode) {
                     int ennum = ens.read();
                     int trnum = trs.read();
                     if(trnum == 0xFE) /* marks identical string, handle equally to non-translated */
@@ -521,8 +560,7 @@ public final class I18n {
                     }
                     String[] enstrings = new String[ennum];
                     String[] trstrings = new String[trnum];
-                    for(int i = 0; i < ennum; ++i)
-                    {
+                    for(int i = 0; i < ennum; ++i) {
                         int val = ens.read(enlen);
                         if(val != 2) /* file corrupt */
                             return false;
@@ -535,8 +573,7 @@ public final class I18n {
                             return false;
                         enstrings[i] = new String(str, 0, val, StandardCharsets.UTF_8);
                     }
-                    for(int i = 0; i < trnum; ++i)
-                    {
+                    for(int i = 0; i < trnum; ++i) {
                         int val = trs.read(trlen);
                         if(val != 2) /* file corrupt */
                             return false;
@@ -552,9 +589,7 @@ public final class I18n {
                     if(trnum > 0 && !p.containsKey(enstrings[0])) {
                         p.put(enstrings[0], trstrings);
                     }
-                }
-                else
-                {
+                } else {
                     int enval = ens.read(enlen);
                     int trval = trs.read(trlen);
                     if(enval != trval) /* files do not match */
@@ -568,8 +603,7 @@ public final class I18n {
                     trval = (trlen[0] < 0 ? 256+trlen[0]:trlen[0])*256+(trlen[1] < 0 ? 256+trlen[1]:trlen[1]);
                     if(trval == 0xFFFE) /* marks identical string, handle equally to non-translated */
                         trval = 0;
-                    if(enval == 0xFFFF)
-                    {
+                    if(enval == 0xFFFF) {
                         multimode = true;
                         if(trval != 0xFFFF) /* files do not match */
                             return false;
@@ -595,8 +629,7 @@ public final class I18n {
                     }
                 }
             }
-        }
-        catch (IOException e) {
+        } catch (IOException e) {
             return false;
         }
         if (!s.isEmpty()) {
@@ -654,13 +687,11 @@ public final class I18n {
         }
     }
 
-    private static int pluralEval(long n)
-    {
-        switch(pluralMode)
-        {
+    private static int pluralEval(long n) {
+        switch(pluralMode) {
         case MODE_NOTONE: /* bg, da, de, el, en, en_GB, es, et, eu, fi, gl, is, it, iw_IL, nb, nl, sv */
             return ((n != 1) ? 1 : 0);
-        case MODE_NONE: /* ja, tr, zh_CN, zh_TW */
+        case MODE_NONE: /* id, ja, km, tr, zh_CN, zh_TW */
             return 0;
         case MODE_GREATERONE: /* fr, pt_BR */
             return ((n > 1) ? 1 : 0);
diff --git a/src/org/openstreetmap/josm/tools/ImageProvider.java b/src/org/openstreetmap/josm/tools/ImageProvider.java
index 35aa1cd..1bd7ae7 100644
--- a/src/org/openstreetmap/josm/tools/ImageProvider.java
+++ b/src/org/openstreetmap/josm/tools/ImageProvider.java
@@ -72,7 +72,6 @@ import org.xml.sax.helpers.DefaultHandler;
 import org.xml.sax.helpers.XMLReaderFactory;
 
 import com.kitfox.svg.SVGDiagram;
-import com.kitfox.svg.SVGException;
 import com.kitfox.svg.SVGUniverse;
 
 /**
@@ -667,8 +666,11 @@ public class ImageProvider {
         try (InputStream is = cf.getInputStream()) {
             switch (type) {
             case SVG:
-                URI uri = getSvgUniverse().loadSVG(is, Utils.fileToURL(cf.getFile()).toString());
-                SVGDiagram svg = getSvgUniverse().getDiagram(uri);
+                SVGDiagram svg = null;
+                synchronized (getSvgUniverse()) {
+                    URI uri = getSvgUniverse().loadSVG(is, Utils.fileToURL(cf.getFile()).toString());
+                    svg = getSvgUniverse().getDiagram(uri);
+                }
                 return svg == null ? null : new ImageResource(svg);
             case OTHER:
                 BufferedImage img = null;
@@ -706,8 +708,11 @@ public class ImageProvider {
                 }
                 if ("image/svg+xml".equals(mediatype)) {
                     String s = new String(bytes, StandardCharsets.UTF_8);
-                    URI uri = getSvgUniverse().loadSVG(new StringReader(s), URLEncoder.encode(s, "UTF-8"));
-                    SVGDiagram svg = getSvgUniverse().getDiagram(uri);
+                    SVGDiagram svg = null;
+                    synchronized (getSvgUniverse()) {
+                        URI uri = getSvgUniverse().loadSVG(new StringReader(s), URLEncoder.encode(s, "UTF-8"));
+                        svg = getSvgUniverse().getDiagram(uri);
+                    }
                     if (svg == null) {
                         Main.warn("Unable to process svg: "+s);
                         return null;
@@ -777,8 +782,11 @@ public class ImageProvider {
                 try (InputStream is = zipFile.getInputStream(entry)) {
                     switch (type) {
                     case SVG:
-                        URI uri = getSvgUniverse().loadSVG(is, entryName);
-                        SVGDiagram svg = getSvgUniverse().getDiagram(uri);
+                        SVGDiagram svg = null;
+                        synchronized (getSvgUniverse()) {
+                            URI uri = getSvgUniverse().loadSVG(is, entryName);
+                            svg = getSvgUniverse().getDiagram(uri);
+                        }
                         return svg == null ? null : new ImageResource(svg);
                     case OTHER:
                         while(size > 0)
@@ -808,8 +816,11 @@ public class ImageProvider {
     private static ImageResource getIfAvailableLocalURL(URL path, ImageType type) {
         switch (type) {
         case SVG:
-            URI uri = getSvgUniverse().loadSVG(path);
-            SVGDiagram svg = getSvgUniverse().getDiagram(uri);
+            SVGDiagram svg = null;
+            synchronized (getSvgUniverse()) {
+                URI uri = getSvgUniverse().loadSVG(path);
+                svg = getSvgUniverse().getDiagram(uri);
+            }
             return svg == null ? null : new ImageResource(svg);
         case OTHER:
             BufferedImage img = null;
@@ -868,8 +879,8 @@ public class ImageProvider {
 
             }
         }
-        // Try user-preference directory
-        String dir = Main.pref.getPreferencesDir() + "images";
+        // Try user-data directory
+        String dir = new File(Main.pref.getUserDataDirectory(), "images").getAbsolutePath();
         try {
             u = getImageUrl(dir, imageName, additionalClassLoaders);
             if (u != null)
@@ -940,7 +951,8 @@ public class ImageProvider {
                 }
             });
 
-            CachedFile cf = new CachedFile(base + fn).setDestDir(new File(Main.pref.getPreferencesDir(), "images").toString());
+            CachedFile cf = new CachedFile(base + fn).setDestDir(
+                    new File(Main.pref.getUserDataDirectory(), "images").getPath());
             try (InputStream is = cf.getInputStream()) {
                 parser.parse(new InputSource(is));
             }
@@ -1178,8 +1190,11 @@ public class ImageProvider {
         }
         g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
         try {
-            svg.render(g);
-        } catch (SVGException ex) {
+            synchronized (getSvgUniverse()) {
+                svg.render(g);
+            }
+        } catch (Exception ex) {
+            Main.error("Unable to load svg: {0}", ex.getMessage());
             return null;
         }
         return img;
diff --git a/src/org/openstreetmap/josm/tools/ImageResource.java b/src/org/openstreetmap/josm/tools/ImageResource.java
index 67746e8..4c13c8a 100644
--- a/src/org/openstreetmap/josm/tools/ImageResource.java
+++ b/src/org/openstreetmap/josm/tools/ImageResource.java
@@ -80,7 +80,7 @@ public class ImageResource {
      */
     public ImageIcon getImageIcon(Dimension dim) {
         if (dim.width < -1 || dim.width == 0 || dim.height < -1 || dim.height == 0)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException(dim+" is invalid");
         Image img = imgCache.get(dim);
         if (img != null) {
             return new ImageIcon(img);
@@ -122,7 +122,7 @@ public class ImageResource {
      */
     public ImageIcon getImageIconBounded(Dimension maxSize) {
         if (maxSize.width < -1 || maxSize.width == 0 || maxSize.height < -1 || maxSize.height == 0)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException(maxSize+" is invalid");
         float realWidth;
         float realHeight;
         if (svg != null) {
diff --git a/src/org/openstreetmap/josm/tools/PlatformHook.java b/src/org/openstreetmap/josm/tools/PlatformHook.java
index e2a5594..7837ec1 100644
--- a/src/org/openstreetmap/josm/tools/PlatformHook.java
+++ b/src/org/openstreetmap/josm/tools/PlatformHook.java
@@ -119,4 +119,25 @@ public interface PlatformHook {
      */
     public boolean setupHttpsCertificate(String entryAlias, KeyStore.TrustedCertificateEntry trustedCert)
             throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException;
+
+    /**
+     * Returns the platform-dependent default cache directory.
+     * @return the platform-dependent default cache directory
+     * @since 7829
+     */
+    public File getDefaultCacheDirectory();
+
+    /**
+     * Returns the platform-dependent default preferences directory.
+     * @return the platform-dependent default preferences directory
+     * @since 7831
+     */
+    public File getDefaultPrefDirectory();
+
+    /**
+     * Returns the platform-dependent default user data directory.
+     * @return the platform-dependent default user data directory
+     * @since 7834
+     */
+    public File getDefaultUserDataDirectory();
 }
diff --git a/src/org/openstreetmap/josm/tools/PlatformHookOsx.java b/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
index 35a8b02..74a062b 100644
--- a/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
+++ b/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
@@ -18,7 +18,6 @@ import javax.swing.UIManager;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.OpenFileAction.OpenFileTask;
-import org.openstreetmap.josm.data.Preferences;
 import org.openstreetmap.josm.io.OsmTransferException;
 import org.xml.sax.SAXException;
 
@@ -36,7 +35,8 @@ public class PlatformHookOsx extends PlatformHookUnixoid implements PlatformHook
         // MUST be set before Swing is initialized!
         // And will not work when one of the system independent LAFs is used.
         // They just insist on painting themselves...
-        Preferences.updateSystemProperty("apple.laf.useScreenMenuBar", "true");
+        Utils.updateSystemProperty("apple.laf.useScreenMenuBar", "true");
+        migrateOldDirectory();
     }
 
     @Override
@@ -322,4 +322,71 @@ public class PlatformHookOsx extends PlatformHookUnixoid implements PlatformHook
     public String getOSDescription() {
         return System.getProperty("os.name") + " " + System.getProperty("os.version");
     }
+
+    @Override
+    public File getDefaultCacheDirectory() {
+        return new File(System.getProperty("user.home")+"/Library/Caches", "JOSM");
+    }
+
+    @Override
+    public File getDefaultPrefDirectory() {
+        return new File(System.getProperty("user.home")+"/Library/Preferences", "JOSM");
+    }
+
+    @Override
+    public File getDefaultUserDataDirectory() {
+        return new File(System.getProperty("user.home")+"/Library", "JOSM");
+    }
+
+    /***
+     * Prior to r7834, JOSM used the same Unix directory ~/.josm for all local files (preferences,
+     * caches, user data). This method migrates the existing preferences and plugins to new directories
+     * if applicable. Old directory, including cache, is deleted.
+     * Method to remove end of 2015.
+     * @since 7835
+     */
+    public static void migrateOldDirectory() {
+        File oldDir = new File(System.getProperty("user.home"), ".josm");
+        if (oldDir.exists()) {
+            boolean error = false;
+
+            File oldPref = new File(oldDir, "preferences.xml");
+            if (oldPref.exists()) {
+                File newPref = Main.pref.getPreferenceFile();
+                if (!newPref.exists()) {
+                    try {
+                        Main.pref.getPreferencesDirectory().mkdirs();
+                        Main.info("Copying old preferences file to new location");
+                        Utils.copyFile(oldPref, newPref);
+                        if (!oldPref.delete()) {
+                            Main.warn("Unable to delete old preferences file: "+oldPref.getPath());
+                        }
+                    } catch (IOException e) {
+                        Main.error(e);
+                        error = true;
+                    }
+                }
+            }
+
+            File oldPlugins = new File(oldDir, "plugins");
+            if (oldPlugins.exists()) {
+                File newPlugins = Main.pref.getPluginsDirectory();
+                if (!newPlugins.exists()) {
+                    try {
+                        Utils.copyDirectory(oldPlugins, newPlugins);
+                    } catch (IOException e) {
+                        Main.error(e);
+                        error = true;
+                    }
+                }
+            }
+
+            if (!error) {
+                Main.info("Deleting old preferences directory");
+                if (!Utils.deleteDirectory(oldDir)) {
+                    Main.warn("Unable to delete old preferences directory");
+                }
+            }
+        }
+    }
 }
diff --git a/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java b/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
index c9c20b1..d4b084f 100644
--- a/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
+++ b/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
@@ -369,4 +369,20 @@ public class PlatformHookUnixoid implements PlatformHook {
         // TODO setup HTTPS certificate on Unix systems
         return false;
     }
+
+    @Override
+    public File getDefaultCacheDirectory() {
+        return new File(Main.pref.getUserDataDirectory(), "cache");
+    }
+
+    @Override
+    public File getDefaultPrefDirectory() {
+        return new File(System.getProperty("user.home"), ".josm");
+    }
+
+    @Override
+    public File getDefaultUserDataDirectory() {
+        // Use preferences directory by default
+        return Main.pref.getPreferencesDirectory();
+    }
 }
diff --git a/src/org/openstreetmap/josm/tools/PlatformHookWindows.java b/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
index 7dc8383..ee0e80e 100644
--- a/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
+++ b/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
@@ -282,4 +282,19 @@ public class PlatformHookWindows extends PlatformHookUnixoid implements Platform
         ks.setEntry(entryAlias, trustedCert, null);
         return true;
     }
+
+    @Override
+    public File getDefaultCacheDirectory() {
+        String p = System.getenv("LOCALAPPDATA");
+        if (p == null || p.isEmpty()) {
+            // Fallback for Windows OS earlier than Windows Vista, where the variable is not defined
+            p = System.getenv("APPDATA");
+        }
+        return new File(new File(p, "JOSM"), "cache");
+    }
+
+    @Override
+    public File getDefaultPrefDirectory() {
+        return new File(System.getenv("APPDATA"), "JOSM");
+    }
 }
diff --git a/src/org/openstreetmap/josm/tools/TextTagParser.java b/src/org/openstreetmap/josm/tools/TextTagParser.java
index 142a247..cf92277 100644
--- a/src/org/openstreetmap/josm/tools/TextTagParser.java
+++ b/src/org/openstreetmap/josm/tools/TextTagParser.java
@@ -203,7 +203,7 @@ public final class TextTagParser {
 
         // Format
         // tag1\tval1\ntag2\tval2\n
-        tags = readTagsByRegexp(buf, "[\\r\\n]+", "(.*?)\\t(.*?)", false);
+        tags = readTagsByRegexp(buf, "[\\r\\n]+", ".*([a-zA-Z0-9:_]+).*\\t(.*?)", false);
                 // try "tag\tvalue\n" format
         if (tags!=null) return tags;
 
diff --git a/src/org/openstreetmap/josm/tools/Utils.java b/src/org/openstreetmap/josm/tools/Utils.java
index 408f647..29cb07f 100644
--- a/src/org/openstreetmap/josm/tools/Utils.java
+++ b/src/org/openstreetmap/josm/tools/Utils.java
@@ -12,7 +12,6 @@ import java.awt.datatransfer.DataFlavor;
 import java.awt.datatransfer.StringSelection;
 import java.awt.datatransfer.Transferable;
 import java.awt.datatransfer.UnsupportedFlavorException;
-import java.io.BufferedInputStream;
 import java.io.BufferedReader;
 import java.io.Closeable;
 import java.io.File;
@@ -50,7 +49,7 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 import java.util.zip.ZipInputStream;
 
-import org.apache.tools.bzip2.CBZip2InputStream;
+import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Version;
 
@@ -158,7 +157,11 @@ public final class Utils {
     }
 
     /**
-     * Get minimum of 3 values
+     * Returns the minimum of three values.
+     * @param   a   an argument.
+     * @param   b   another argument.
+     * @param   c   another argument.
+     * @return  the smaller of {@code a}, {@code b} and {@code c}.
      */
     public static int min(int a, int b, int c) {
         if (b < c) {
@@ -172,10 +175,29 @@ public final class Utils {
         }
     }
 
+    /**
+     * Returns the greater of four {@code int} values. That is, the
+     * result is the argument closer to the value of
+     * {@link Integer#MAX_VALUE}. If the arguments have the same value,
+     * the result is that same value.
+     *
+     * @param   a   an argument.
+     * @param   b   another argument.
+     * @param   c   another argument.
+     * @param   d   another argument.
+     * @return  the larger of {@code a}, {@code b}, {@code c} and {@code d}.
+     */
     public static int max(int a, int b, int c, int d) {
         return Math.max(Math.max(a, b), Math.max(c, d));
     }
 
+    /**
+     * Ensures a logical condition is met. Otherwise throws an assertion error.
+     * @param condition the condition to be met
+     * @param message Formatted error message to raise if condition is not met
+     * @param data Message parameters, optional
+     * @throws AssertionError if the condition is not met
+     */
     public static void ensure(boolean condition, String message, Object...data) {
         if (!condition)
             throw new AssertionError(
@@ -188,7 +210,7 @@ public final class Utils {
      */
     public static int mod(int a, int n) {
         if (n <= 0)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("n must be <= 0 but is "+n);
         int res = a % n;
         if (res < 0) {
             res += n;
@@ -205,12 +227,9 @@ public final class Utils {
      * @return null if values is null. The joined string otherwise.
      */
     public static String join(String sep, Collection<?> values) {
-        if (sep == null)
-            throw new IllegalArgumentException();
+        CheckParameterUtil.ensureParameterNotNull(sep, "sep");
         if (values == null)
             return null;
-        if (values.isEmpty())
-            return "";
         StringBuilder s = null;
         for (Object a : values) {
             if (a == null) {
@@ -222,7 +241,7 @@ public final class Utils {
                 s = new StringBuilder(a.toString());
             }
         }
-        return s.toString();
+        return s != null ? s.toString() : "";
     }
 
     /**
@@ -323,7 +342,7 @@ public final class Utils {
     }
 
     /**
-     * Simple file copy function that will overwrite the target file.<br>
+     * Simple file copy function that will overwrite the target file.
      * @param in The source file
      * @param out The destination file
      * @return the path to the target file
@@ -331,12 +350,43 @@ public final class Utils {
      * @throws IllegalArgumentException If {@code in} or {@code out} is {@code null}
      * @since 7003
      */
-    public static Path copyFile(File in, File out) throws IOException, IllegalArgumentException  {
+    public static Path copyFile(File in, File out) throws IOException {
         CheckParameterUtil.ensureParameterNotNull(in, "in");
         CheckParameterUtil.ensureParameterNotNull(out, "out");
         return Files.copy(in.toPath(), out.toPath(), StandardCopyOption.REPLACE_EXISTING);
     }
 
+    /**
+     * Recursive directory copy function
+     * @param in The source directory
+     * @param out The destination directory
+     * @throws IOException If any I/O error ooccurs
+     * @throws IllegalArgumentException If {@code in} or {@code out} is {@code null}
+     * @since 7835
+     */
+    public static void copyDirectory(File in, File out) throws IOException {
+        CheckParameterUtil.ensureParameterNotNull(in, "in");
+        CheckParameterUtil.ensureParameterNotNull(out, "out");
+        if (!out.exists() && !out.mkdirs()) {
+            Main.warn("Unable to create directory "+out.getPath());
+        }
+        for (File f : in.listFiles()) {
+            File target = new File(out, f.getName());
+            if (f.isDirectory()) {
+                copyDirectory(f, target);
+            } else {
+                copyFile(f, target);
+            }
+        }
+    }
+
+    /**
+     * Copy data from source stream to output stream.
+     * @param source source stream
+     * @param destination target stream
+     * @return number of bytes copied
+     * @throws IOException if any I/O error occurs
+     */
     public static int copyStream(InputStream source, OutputStream destination) throws IOException {
         int count = 0;
         byte[] b = new byte[512];
@@ -348,18 +398,24 @@ public final class Utils {
         return count;
     }
 
+    /**
+     * Deletes a directory recursively.
+     * @param path The directory to delete
+     * @return  <code>true</code> if and only if the file or directory is
+     *          successfully deleted; <code>false</code> otherwise
+     */
     public static boolean deleteDirectory(File path) {
         if( path.exists() ) {
             File[] files = path.listFiles();
             for (File file : files) {
                 if (file.isDirectory()) {
                     deleteDirectory(file);
-                } else {
-                    file.delete();
+                } else if (!file.delete()) {
+                    Main.warn("Unable to delete file: "+file.getPath());
                 }
             }
         }
-        return( path.delete() );
+        return path.delete();
     }
 
     /**
@@ -672,7 +728,7 @@ public final class Utils {
     /**
      * Opens a connection to the given URL, sets the User-Agent property to JOSM's one, and decompresses stream if necessary.
      * @param url The url to open
-     * @param decompress whether to wrap steam in a {@link GZIPInputStream} or {@link CBZip2InputStream}
+     * @param decompress whether to wrap steam in a {@link GZIPInputStream} or {@link BZip2CompressorInputStream}
      *                   if the {@code Content-Type} header is set accordingly.
      * @return An stream for the given URL
      * @throws IOException if an I/O exception occurs.
@@ -699,20 +755,13 @@ public final class Utils {
      * @param in The raw input stream
      * @return a Bzip2 input stream wrapping given input stream, or {@code null} if {@code in} is {@code null}
      * @throws IOException if the given input stream does not contain valid BZ2 header
-     * @since 7119
+     * @since 7867
      */
-    public static CBZip2InputStream getBZip2InputStream(InputStream in) throws IOException {
+    public static BZip2CompressorInputStream getBZip2InputStream(InputStream in) throws IOException {
         if (in == null) {
             return null;
         }
-        BufferedInputStream bis = new BufferedInputStream(in);
-        int b = bis.read();
-        if (b != 'B')
-            throw new IOException(tr("Invalid bz2 file."));
-        b = bis.read();
-        if (b != 'Z')
-            throw new IOException(tr("Invalid bz2 file."));
-        return new CBZip2InputStream(bis, /* see #9537 */ true);
+        return new BZip2CompressorInputStream(in, /* see #9537 */ true);
     }
 
     /**
@@ -778,7 +827,7 @@ public final class Utils {
     /**
      * Opens a connection to the given URL and sets the User-Agent property to JOSM's one.
      * @param url The url to open
-     * @param decompress whether to wrap steam in a {@link GZIPInputStream} or {@link CBZip2InputStream}
+     * @param decompress whether to wrap steam in a {@link GZIPInputStream} or {@link BZip2CompressorInputStream}
      *                   if the {@code Content-Type} header is set accordingly.
      * @return An buffered stream reader for the given URL (using UTF-8)
      * @throws IOException if an I/O exception occurs.
@@ -899,7 +948,7 @@ public final class Utils {
      * @throws IllegalArgumentException if elapsedTime is < 0
      * @since 6354
      */
-    public static String getDurationString(long elapsedTime) throws IllegalArgumentException {
+    public static String getDurationString(long elapsedTime) {
         if (elapsedTime < 0) {
             throw new IllegalArgumentException("elapsedTime must be >= 0");
         }
@@ -1003,7 +1052,7 @@ public final class Utils {
         Throwable result = t;
         if (result != null) {
             Throwable cause = result.getCause();
-            while (cause != null && cause != result) {
+            while (cause != null && !cause.equals(result)) {
                 result = cause;
                 cause = result.getCause();
             }
@@ -1026,6 +1075,9 @@ public final class Utils {
 
     /**
      * If the string {@code s} is longer than {@code maxLength}, the string is cut and "..." is appended.
+     * @param s String to shorten
+     * @param maxLength maximum number of characters to keep (not including the "...")
+     * @return the shortened string
      */
     public static String shortenString(String s, int maxLength) {
         if (s != null && s.length() > maxLength) {
@@ -1091,4 +1143,24 @@ public final class Utils {
         ExecutorService pool = noThreads <= 1 ? null : Executors.newFixedThreadPool(noThreads);
         return new Pair<>(noThreads, pool);
     }
+
+    /**
+     * Updates a given system property.
+     * @param key The property key
+     * @param value The property value
+     * @return the previous value of the system property, or {@code null} if it did not have one.
+     * @since 7894
+     */
+    public static String updateSystemProperty(String key, String value) {
+        if (value != null) {
+            String old = System.setProperty(key, value);
+            if (!key.toLowerCase().contains("password")) {
+                Main.debug("System property '"+key+"' set to '"+value+"'. Old value was '"+old+"'");
+            } else {
+                Main.debug("System property '"+key+"' changed.");
+            }
+            return old;
+        }
+        return null;
+    }
 }
diff --git a/src/org/openstreetmap/josm/tools/XmlObjectParser.java b/src/org/openstreetmap/josm/tools/XmlObjectParser.java
index 7129c60..83e1720 100644
--- a/src/org/openstreetmap/josm/tools/XmlObjectParser.java
+++ b/src/org/openstreetmap/josm/tools/XmlObjectParser.java
@@ -270,6 +270,12 @@ public class XmlObjectParser implements Iterable<Object> {
         }
     }
 
+    /**
+     * Starts parsing from the given input reader, without validation.
+     * @param in The input reader
+     * @return iterable collection of objects
+     * @throws SAXException if any XML or I/O error occurs
+     */
     public Iterable<Object> start(final Reader in) throws SAXException {
         try {
             return start(in, parser);
@@ -278,6 +284,14 @@ public class XmlObjectParser implements Iterable<Object> {
         }
     }
 
+    /**
+     * Starts parsing from the given input reader, with XSD validation.
+     * @param in The input reader
+     * @param namespace default namespace
+     * @param schemaSource XSD schema
+     * @return iterable collection of objects
+     * @throws SAXException if any XML or I/O error occurs
+     */
     public Iterable<Object> startWithValidation(final Reader in, String namespace, String schemaSource) throws SAXException {
         SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
         try (InputStream mis = new CachedFile(schemaSource).getInputStream()) {
diff --git a/styles/standard/elemstyles.mapcss b/styles/standard/elemstyles.mapcss
index 708d646..3f0f334 100644
--- a/styles/standard/elemstyles.mapcss
+++ b/styles/standard/elemstyles.mapcss
@@ -284,11 +284,6 @@ node[building=garages] {
     set icon_z17;
     text: auto;
 }
-node[building=entrance] {
-    icon-image: "misc/entrance-yes.png";
-    set icon_z17;
-    text: auto;
-}
 node[entrance=yes] {
     icon-image: "misc/entrance-yes.png";
     set icon_z17;
@@ -314,6 +309,11 @@ node[entrance=emergency] {
     set icon_z17;
     text: auto;
 }
+node[building=entrance] {
+    icon-image: "misc/deprecated.png";
+    set icon_z17;
+    text: auto;
+}
 
 /****************/
 /* barrier tags */
@@ -330,7 +330,8 @@ way[barrier=bollard] {
     dashes: 3,9;
 }
 node[barrier=bollard] {
-    icon-image: "vehicle/restriction/bollard.png";
+    icon-image: "presets/bollard.png";
+    icon-width: 16;
     set icon_z17;
     text: auto;
 }
@@ -348,6 +349,7 @@ way[barrier=city_wall],
 way[barrier=retaining_wall],
 way[barrier=block],
 way[barrier=chain],
+way[barrier=ditch],
 way[barrier=kerb] {
     width: 2;
     color: barrier#F0F050;
@@ -356,7 +358,8 @@ node[barrier=hedge],
 node[barrier=wall],
 node[barrier=guard_rail],
 node[barrier=city_wall],
-node[barrier=retaining_wall] {
+node[barrier=retaining_wall],
+node[barrier=ditch] {
     icon-image: "misc/deprecated.png";
     set icon_z17;
     text: auto;
@@ -377,7 +380,7 @@ node[barrier=chain] {
     text: auto;
 }
 node[barrier=stile] {
-    icon-image: "vehicle/stile.png";
+    icon-image: "vehicle/stile.svg";
     set icon_z17;
     text: auto;
 }
@@ -506,16 +509,12 @@ way[highway=road] {
     casing-color: #ff9696;
     color: #770000;
 }
-way[highway=unsurfaced] {
-    width: 1;
-    color: street#c0c0c0;
-}
 way[highway=track][area?], relation[type=multipolygon][highway=track] {
-    fill-color: highway_track#006600;
+    fill-color: highway_track#6e541c;
 }
 way[highway=track] {
-    width: 1;
-    color: highway_track#006600;
+    width: 2;
+    color: highway_track#6e541c;
 }
 way[highway=residential] {
     width: 2;
@@ -536,7 +535,7 @@ way[highway=service][!area?] {
 }
 way[highway=bridleway] {
     width: 1;
-    color: horse#c08000;
+    color: horse#a18559;
 }
 way[highway=cycleway] {
     width: 1;
@@ -598,7 +597,7 @@ way[highway=pedestrian] {
     color: foot#00ff00;
 }
 way[highway=steps] {
-    width: 1;
+    width: 3;
     color: foot#00ff00;
     dashes: 2,2;
 }
@@ -619,6 +618,19 @@ way[highway=raceway] {
 way[highway=raceway][area?], relation[type=multipolygon][highway=raceway] {
     fill-color: raceway#ff80ff;
 }
+area[junction=yes] {
+    fill-color: junction#c0c0c0;
+}
+node[junction=yes] {
+    icon-image: "misc/no_icon.png";
+    set icon_z17;
+    text: auto;
+}
+node[highway=traffic_mirror] {
+    icon-image: "vehicle/traffic_mirror.svg";
+    set icon_z17;
+    text: auto;
+}
 node[direction=clockwise] {
     icon-image: "vehicle/restriction/roundabout_left.png";
     set icon_z17;
@@ -644,7 +656,27 @@ node[highway=give_way] {
     text: auto;
 }
 node[highway=traffic_signals] {
-    icon-image: "vehicle/restriction/traffic-light.png";
+    icon-image: "vehicle/traffic_signals.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=traffic_signals][crossing] {
+    icon-image: "vehicle/traffic_signals_crossing.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=traffic_signals][crossing_ref=zebra] {
+    icon-image: "vehicle/traffic_signals_crossing_ref_zebra.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=traffic_signals][crossing=island] {
+    icon-image: "vehicle/traffic_signals_crossing_island.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=traffic_signals][crossing=traffic_signals] {
+    icon-image: "vehicle/traffic_signals_crossing_traffic_signals.svg";
     set icon_z17;
     text: auto;
 }
@@ -664,7 +696,27 @@ node[traffic_sign=city_limit] {
     text: auto;
 }
 node[highway=crossing] {
-    icon-image: "vehicle/zebra_crossing.png";
+    icon-image: "vehicle/crossing.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=crossing][crossing=unmarked] {
+    icon-image: "vehicle/crossing_unmarked.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=crossing][crossing=island] {
+    icon-image: "vehicle/crossing_island.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=crossing][crossing_ref=zebra] {
+    icon-image: "vehicle/crossing_ref_zebra.svg";
+    set icon_z17;
+    text: auto;
+}
+node[highway=crossing][crossing=traffic_signals] {
+    icon-image: "vehicle/crossing_traffic_signals.svg";
     set icon_z17;
     text: auto;
 }
@@ -674,7 +726,7 @@ node[highway=incline], node[highway=incline_steep] {
     text: auto;
 }
 node[highway=motorway_junction] {
-    icon-image: "vehicle/exit.png";
+    icon-image: "vehicle/motorway_junction.svg";
     set icon_z17;
     text: auto;
 }
@@ -727,6 +779,9 @@ node[highway=passing_place] {
     set icon_z17;
     text: auto;
 }
+area[highway=elevator] {
+    fill-color: elevator#a6bace;
+}
 node[highway=elevator] {
     icon-image: "service/elevator.png";
     set icon_z17;
@@ -923,20 +978,19 @@ node[cycleway=opposite] {
 /******************/
 
 way[highway=track][tracktype=grade1] {
-    width: 2;
-    dashes: 2,2;
+    dashes: 8,1;
 }
 way[highway=track][tracktype=grade2] {
-    dashes: 2,3;
+    dashes: 6,2;
 }
 way[highway=track][tracktype=grade3] {
-    dashes: 2,4;
+    dashes: 4,3;
 }
 way[highway=track][tracktype=grade4] {
-    dashes: 2,5;
+    dashes: 4,5;
 }
 way[highway=track][tracktype=grade5] {
-    dashes: 1,5;
+    dashes: 4,7;
 }
 
 /**************/
@@ -1469,6 +1523,11 @@ node[leisure=firepit] {
     set icon_z17; 
     text: auto; 
 }
+node[leisure=picnic_table] {
+    icon-image: "leisure/picnic.png";
+    set icon_z17;
+    text: auto;
+}
 area[leisure=swimming_pool] {
     fill-color: swimming_pool#51c4ef;
 }
@@ -1504,6 +1563,21 @@ node[leisure=sauna] {
     text: auto;
 }
 
+/********************/
+/* advertising tags */
+/********************/
+
+node[advertising=column] {
+    icon-image: "leisure/advertising_column.svg";
+    set icon_z17;
+    text: auto;
+}
+node[advertising=billboard] {
+    icon-image: "leisure/billboard.svg";
+    set icon_z17;
+    text: auto;
+}
+
 /*************/
 /* shop tags */
 /*************/
@@ -2161,15 +2235,6 @@ node[amenity=clock] {
     set icon_z17;
     text: auto;
 }
-/* Rule to delete by end of 2014 if this deprecated tag has finally been replaced by emergency=phone below */
-area[amenity=emergency_phone] {
-    fill-color: amenity_light#f7efb7;
-}
-node[amenity=emergency_phone] {
-    icon-image: "vehicle/emergency_phone.png";
-    set icon_z17;
-    text: auto;
-}
 area[emergency=phone],
 area[emergency=aed],
 area[emergency=defibrillator],
@@ -4416,7 +4481,7 @@ way|z17-[highway=service][setting("highway_labels")] {
     text-halo-color: service#809bc0;
 }
 way|z17-[highway=track][setting("highway_labels")] {
-    text-halo-color: highway_track#006600;
+    text-halo-color: highway_track#6e541c;
 }
 way|z18[highway][setting("highway_labels")] {
     font-size: 10;
diff --git a/test/unit/org/openstreetmap/josm/actions/AlignInLineActionTest.java b/test/unit/org/openstreetmap/josm/actions/AlignInLineActionTest.java
new file mode 100644
index 0000000..c3a3247
--- /dev/null
+++ b/test/unit/org/openstreetmap/josm/actions/AlignInLineActionTest.java
@@ -0,0 +1,191 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+
+/**
+ * Unit tests for class AlignInLineAction.
+ */
+public final class AlignInLineActionTest {
+
+    /** Class under test. */
+    private static AlignInLineAction action;
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init(true);
+
+        // Enable "Align in line" feature.
+        action = Main.main.menu.alignInLine;
+        action.setEnabled(true);
+    }
+
+    /**
+     * Test case: only nodes selected, part of an open way: align these nodes on the line passing through the extremity
+     * nodes (the most distant in the way sequence, not the most euclidean-distant). See
+     * https://josm.openstreetmap.de/ticket/9605#comment:3. Note that in this test, after alignment, way is overlapping
+     * itself.
+     */
+    @Test
+    public void nodesOpenWay() {
+        DataSet dataSet = new DataSet();
+        OsmDataLayer layer = new OsmDataLayer(dataSet, OsmDataLayer.createNewName(), null);
+
+        // Create test points, lower left is (0,0).
+        //
+        // 1 - - -
+        // - 3 - 2
+        // - - - -
+        Node point1 = new Node(new EastNorth(0, 2));
+        Node point2 = new Node(new EastNorth(3, 1));
+        Node point3 = new Node(new EastNorth(1, 1));
+
+        try {
+            Main.main.addLayer(layer);
+
+            // Create an open way.
+            createWay(dataSet, point1, point2, point3);
+
+            // Select nodes to align.
+            dataSet.addSelected(point1, point2, point3);
+
+            action.actionPerformed(null);
+        } finally {
+            // Ensure we clean the place before leaving, even if test fails.
+            Main.map.mapView.removeLayer(layer);
+        }
+
+        // Points 1 and 3 are the extremities and must not have moved. Only point 2 must have moved.
+        assertCoordEq(point1, 0, 2);
+        assertCoordEq(point2, 2, 0);
+        assertCoordEq(point3, 1, 1);
+    }
+
+    /**
+     * Test case: only nodes selected, part of a closed way: align these nodes on the line passing through the most
+     * distant nodes.
+     */
+    @Test
+    public void nodesClosedWay() {
+        DataSet dataSet = new DataSet();
+        OsmDataLayer layer = new OsmDataLayer(dataSet, OsmDataLayer.createNewName(), null);
+
+        // Create test points, lower left is (0,0).
+        //
+        // 4 - 3
+        // - - -
+        // 1 - 2
+        Node point1 = new Node(new EastNorth(0, 0));
+        Node point2 = new Node(new EastNorth(2, 0));
+        Node point3 = new Node(new EastNorth(2, 2));
+        Node point4 = new Node(new EastNorth(0, 2));
+
+        try {
+            Main.main.addLayer(layer);
+
+            // Create a closed way.
+            createWay(dataSet, point1, point2, point3, point4, point1);
+            // Select nodes to align (point1 must be in the second position to exhibit the bug).
+            dataSet.addSelected(point4, point1, point2);
+
+            action.actionPerformed(null);
+        } finally {
+            // Ensure we clean the place before leaving, even if test fails.
+            Main.map.mapView.removeLayer(layer);
+        }
+
+        // Only point 1 must have moved.
+        assertCoordEq(point1, 1, 1);
+        assertCoordEq(point2, 2, 0);
+        assertCoordEq(point3, 2, 2);
+        assertCoordEq(point4, 0, 2);
+    }
+
+    /**
+     * Test case: only nodes selected, part of multiple ways: align these nodes on the line passing through the most
+     * distant nodes.
+     */
+    @Test
+    public void nodesOpenWays() {
+        DataSet dataSet = new DataSet();
+        OsmDataLayer layer = new OsmDataLayer(dataSet, OsmDataLayer.createNewName(), null);
+
+        // Create test points, lower left is (0,0).
+        //
+        // 1 - -
+        // 3 - 2
+        // - - 4
+        Node point1 = new Node(new EastNorth(0, 2));
+        Node point2 = new Node(new EastNorth(2, 1));
+        Node point3 = new Node(new EastNorth(0, 1));
+        Node point4 = new Node(new EastNorth(2, 0));
+
+        try {
+            Main.main.addLayer(layer);
+
+            // Create 2 ways.
+            createWay(dataSet, point1, point2);
+            createWay(dataSet, point3, point4);
+
+            // Select nodes to align.
+            dataSet.addSelected(point1, point2, point3, point4);
+
+            // Points must align between points 1 and 4.
+            action.actionPerformed(null);
+        } finally {
+            // Ensure we clean the place before leaving, even if test fails.
+            Main.map.mapView.removeLayer(layer);
+        }
+
+        assertCoordEq(point1, 0, 2);
+        assertCoordEq(point2, 1.5, 0.5);
+        assertCoordEq(point3, 0.5, 1.5);
+        assertCoordEq(point4, 2, 0);
+    }
+
+    /**
+     * Create a way made of the provided nodes and select nodes.
+     *
+     * @param dataSet Dataset in which adding nodes.
+     * @param nodes List of nodes to add to dataset.
+     */
+    private void createWay(DataSet dataSet, Node... nodes) {
+        Way way = new Way();
+        dataSet.addPrimitive(way);
+
+        for (Node node : nodes) {
+            // Add primitive to dataset only if not already included.
+            if (dataSet.getPrimitiveById(node) == null)
+                dataSet.addPrimitive(node);
+
+            way.addNode(node);
+        }
+    }
+
+    /**
+     * Assert that the provided node has the specified coordinates. If not fail the test.
+     *
+     * @param node Node to test.
+     * @param x X coordinate.
+     * @param y Y coordinate.
+     */
+    private void assertCoordEq(Node node, double x, double y) {
+        EastNorth coordinate = node.getEastNorth();
+        assertEquals("Wrong x coordinate.", x, coordinate.getX(), LatLon.MAX_SERVER_PRECISION);
+        assertEquals("Wrong y coordinate.", y, coordinate.getY(), LatLon.MAX_SERVER_PRECISION);
+    }
+}
diff --git a/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java b/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java
new file mode 100644
index 0000000..38d2cbf
--- /dev/null
+++ b/test/unit/org/openstreetmap/josm/data/validation/tests/InternetTagsTest.java
@@ -0,0 +1,79 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.data.validation.tests;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.data.osm.OsmUtils;
+import org.openstreetmap.josm.data.validation.TestError;
+import org.openstreetmap.josm.data.validation.routines.AbstractValidator;
+import org.openstreetmap.josm.data.validation.routines.EmailValidator;
+import org.openstreetmap.josm.data.validation.routines.UrlValidator;
+
+/**
+ * JUnit Test of "Internet Tags" validation test.
+ */
+public class InternetTagsTest {
+
+    private static InternetTags TEST;
+
+    /**
+     * Setup test by initializing JOSM preferences and projection.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+        TEST = new InternetTags();
+    }
+
+    /**
+     * Test of "Internet Tags" validation test.
+     */
+    @Test
+    public void test() {
+
+        // Valid URLs
+        testUrl("url", "www.domain.com", true);                                // No protocol
+        testUrl("url", "http://josm.openstreetmap.de", true);                  // Simple HTTP
+        testUrl("url", "http://josm.openstreetmap.de/", true);                 // Simple HTTP + slash
+        testUrl("website", "https://www.openstreetmap.org", true);             // Simple HTTPS
+        testUrl("heritage:website", "http://www.unesco.org", true);            // Key with :
+        testUrl("website", "http://www.nu-lounge.today", true);                // see #10810: new TLD
+        testUrl("website", "http://xn--80akeqobjv1b0d3a.xn--p1ai", true);      // see #10862: IDN URL in ASCII form
+        testUrl("website", "http://xn--80akeqobjv1b0d3a.xn--p1ai/", true);     // see #10862: IDN URL in ASCII form + slash
+        testUrl("website", "http://золотаяцепь.рф", true);                     // see #10862: IDN URL in Unicode form
+        testUrl("website", "http://золотаяцепь.рф/", true);                    // see #10862: IDN URL in Unicode form + slash
+
+        // Invalid URLs
+        testUrl("url", "something://www.domain.com", false);                   // invalid protocol
+        testUrl("url", "http://www.domain.invalidtld", false);                 // invalid TLD
+
+        // Valid E-mails
+        testEmail("email", "contact at www.domain.com", true);                    // Simple email
+        testEmail("contact:email", "john.doe at other-domain.org", true);         // Key with : + dash in domain
+
+        // Invalid E-mails
+        testEmail("email", "contact at www.domain.com", false);                // No @
+        testEmail("contact:email", "john.doe at other-domain.invalidtld", false); // invalid TLD
+    }
+
+    private static void testKey(String key, String value, boolean valid, AbstractValidator validator, int code) {
+        TestError error = TEST.validateTag(OsmUtils.createPrimitive("node "+key+"="+value+""), key, validator, code);
+        if (valid) {
+            assertNull(error != null ? error.getMessage() : null, error);
+        } else {
+            assertNotNull(error);
+        }
+    }
+
+    private static void testUrl(String key, String value, boolean valid) {
+        testKey(key, value, valid, UrlValidator.getInstance(), InternetTags.INVALID_URL);
+    }
+
+    private static void testEmail(String key, String value, boolean valid) {
+        testKey(key, value, valid, EmailValidator.getInstance(), InternetTags.INVALID_EMAIL);
+    }
+}
diff --git a/test/unit/org/openstreetmap/josm/data/validation/tests/RelationCheckerTest.groovy b/test/unit/org/openstreetmap/josm/data/validation/tests/RelationCheckerTest.groovy
index 68f52aa..a00adff 100644
--- a/test/unit/org/openstreetmap/josm/data/validation/tests/RelationCheckerTest.groovy
+++ b/test/unit/org/openstreetmap/josm/data/validation/tests/RelationCheckerTest.groovy
@@ -47,6 +47,13 @@ class RelationCheckerTest extends GroovyTestCase {
         assert errors.get(0).getMessage() == "Relation is empty"
     }
 
+    void testNormal() {
+        def r = createRelation("type=multipolygon")
+        r.addMember(new RelationMember("outer", new Way()))
+        r.addMember(new RelationMember("inner", new Way()))
+        assert testRelation(r).isEmpty()
+    }
+
     void testOuter2() {
         def r = createRelation("type=multipolygon")
         r.addMember(new RelationMember("outer", new Way()))
@@ -54,7 +61,7 @@ class RelationCheckerTest extends GroovyTestCase {
 
         def errors = testRelation(r)
         assert errors.size() == 1
-        assert errors.get(0).getDescription() == "Role outer2 unknown"
+        assert errors.get(0).getDescription() == "Role outer2 unknown in templates outer/inner"
     }
 
     void testRestrictionViaMissing() {
@@ -75,7 +82,7 @@ class RelationCheckerTest extends GroovyTestCase {
 
         def errors = testRelation(r)
         assert errors.size() == 1
-        assert errors.get(0).getDescription() == "Member for role via of wrong type"
+        assert errors.get(0).getDescription() == "Role member type relation does not match accepted list of node/way in template Turn Restriction"
     }
 
     void testRestrictionTwoFrom() {
@@ -99,7 +106,7 @@ class RelationCheckerTest extends GroovyTestCase {
 
         def errors = testRelation(r)
         assert errors.size() == 1
-        assert errors.get(0).getDescription() == "Empty role found"
+        assert errors.get(0).getDescription().startsWith("Empty role type found when expecting one of")
     }
 
     void testPowerMemberExpression() {
@@ -108,6 +115,6 @@ class RelationCheckerTest extends GroovyTestCase {
 
         def errors = testRelation(r)
         assert errors.size() == 1
-        assert errors.get(0).getDescription() == "Member for role '<empty>' does not match 'power'"
+        assert errors.get(0).getDescription() == "Role member does not match expression power in template Power Route"
     }
 }
diff --git a/test/unit/org/openstreetmap/josm/data/validation/tests/SimilarNamedWaysTest.groovy b/test/unit/org/openstreetmap/josm/data/validation/tests/SimilarNamedWaysTest.groovy
new file mode 100644
index 0000000..96ae6e6
--- /dev/null
+++ b/test/unit/org/openstreetmap/josm/data/validation/tests/SimilarNamedWaysTest.groovy
@@ -0,0 +1,107 @@
+// License: GPL. See LICENSE file for details.
+package org.openstreetmap.josm.data.validation.tests
+
+import static org.junit.Assert.assertEquals
+
+import org.openstreetmap.josm.JOSMFixture
+import org.openstreetmap.josm.data.coor.LatLon
+import org.openstreetmap.josm.data.osm.DataSet
+import org.openstreetmap.josm.data.osm.Node
+import org.openstreetmap.josm.data.osm.Way
+import org.openstreetmap.josm.data.validation.TestError
+
+class SimilarNamedWaysTest extends GroovyTestCase {
+
+    SimilarNamedWays test = new SimilarNamedWays()
+
+    @Override
+    void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    public static List<TestError> testWays(String namea, String nameb) {
+        def ds = new DataSet()
+
+        def n00 = new Node(new LatLon(0, 0))
+        def n10 = new Node(new LatLon(1, 0))
+        def n20 = new Node(new LatLon(2, 0))
+        def n30 = new Node(new LatLon(3, 0))
+        def n40 = new Node(new LatLon(4, 0))
+
+        ds.addPrimitive(n00)
+        ds.addPrimitive(n10)
+        ds.addPrimitive(n20)
+        ds.addPrimitive(n30)
+        ds.addPrimitive(n40)
+
+        def waya = new Way()
+        waya.addNode(n00)
+        waya.addNode(n10)
+        waya.addNode(n20)
+        waya.put("name", namea)
+        def wayb = new Way()
+        wayb.addNode(n20)
+        wayb.addNode(n30)
+        wayb.addNode(n40)
+        wayb.put("name", nameb)
+
+        ds.addPrimitive(waya)
+        ds.addPrimitive(wayb)
+
+        assert waya.isUsable()
+        assert wayb.isUsable()
+
+        def t = new SimilarNamedWays()
+        t.startTest(null)
+        t.visit(waya)
+        t.visit(wayb)
+        return t.errors
+    }
+
+    void testCombinations() {
+        assert testWays("Church Street", "Water Street").isEmpty()
+        assert !testWays("Main Street", "Maim Street").isEmpty()
+        assert !testWays("First Street", "Frist Street").isEmpty()
+
+        assert testWays("1st Street", "2nd Street").isEmpty()
+        assert testWays("First Avenue", "Second Avenue").isEmpty()
+        assert testWays("West Main Street", "East Main Street").isEmpty()
+        assert testWays("A Street", "B Street").isEmpty()
+    }
+
+    void checkSimilarity(String message, String name1, String name2, boolean expected) {
+        boolean actual = test.similaryName(name1, name2);
+        assertEquals(message, expected, actual);
+    }
+
+    void testSimilarNames() {
+        checkSimilarity("same string", "Testname", "Testname", false);
+        checkSimilarity("different case", "Testname", "TestName", true);
+        checkSimilarity("typo", "Testname", "Testxame", true);
+        checkSimilarity("missing char", "Testname", "Testame", true);
+        checkSimilarity("additional char", "Testname", "Testxname", true);
+        checkSimilarity("2 changes", "Testname", "Tostxname", true);
+        checkSimilarity("3 changes", "Testname", "Tostxnam", false);
+
+        // regular expression rule
+        checkSimilarity("same number", "track 1", "track 1", false);
+        checkSimilarity("different number", "track 1", "track 2", false);
+        checkSimilarity("different number length", "track 9", "track 10", false);
+        checkSimilarity("multiple numbers", "track 8 - 9", "track 10 - 11", false);
+
+        checkSimilarity("1st and 2nd", "1st Street", "2nd Street", false);
+        checkSimilarity("1st case", "1St Street", "1st Street", true);
+        checkSimilarity("1st and 2nd case", "1St Street", "2nd Street", true);
+        checkSimilarity("3rd and 4th", "2rd Street", "4th Street", false);
+
+        // synonyms
+        checkSimilarity("east and west", "East Foothill Drive", "West Foothill Drive", false);
+        checkSimilarity("east and west case", "east Foothill Drive", "West Foothill Drive", true);
+        checkSimilarity("first and second", "First Street", "Second Street", false);
+        checkSimilarity("first and second case", "First Street", "second Street", true);
+        checkSimilarity("first and second typo", "Forst Street", "Second Street", true);
+        checkSimilarity("first and second typo2", "First Street", "Socond Street", true);
+        checkSimilarity("first and second 2 changes", "First Street", "Soconds Street", true);
+        checkSimilarity("first and second 3 changes", "First Street", "Soconds Stret", false);
+    }
+}
diff --git a/test/unit/org/openstreetmap/josm/tools/GeometryTest.java b/test/unit/org/openstreetmap/josm/tools/GeometryTest.java
new file mode 100644
index 0000000..b1c39bf
--- /dev/null
+++ b/test/unit/org/openstreetmap/josm/tools/GeometryTest.java
@@ -0,0 +1,52 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.tools;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.BeforeClass;
+
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.data.coor.EastNorth;
+
+/**
+ * Unit tests of {@link Geometry} class.
+ */
+public class GeometryTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    @Test
+    public void testLineLineIntersection() {
+        EastNorth p1 = new EastNorth(-9477809.106349014, 1.5392960539974203E7);
+        EastNorth p2 = new EastNorth(-9477813.789091509, 1.5392954297092048E7);
+        EastNorth p3 = new EastNorth(-9477804.974058038, 1.539295490030348E7);
+        EastNorth p4 = new EastNorth(-9477814.628697459, 1.5392962142181376E7);
+
+        EastNorth intersectionPoint = Geometry.getLineLineIntersection(p1, p2, p3, p4);
+        
+        EastNorth d1 = intersectionPoint.sub(p3);
+        EastNorth d2 = p2.sub(p1);
+        Double crossProduct = d1.east()*d2.north() - d1.north()*d2.east();
+        Double scalarProduct = d1.east()*d2.east() + d1.north()*d2.north();
+        Double len1 = d1.length();
+        Double len2 = d2.length();
+        
+        Double angle1 = Geometry.getCornerAngle(p1, p2, intersectionPoint);
+        Double angle2 = Geometry.getCornerAngle(p3, p4, intersectionPoint);
+        Assert.assertTrue("intersection point not on line, angle: " + angle1,
+                Math.abs(angle1) < 1e-10);
+        Assert.assertTrue("intersection point not on line, angle: " + angle2,
+                Math.abs(angle1) < 1e-10);
+
+        Assert.assertTrue("cross product != 1 : " + Math.abs(crossProduct/len1/len2),
+                Math.abs(Math.abs(crossProduct/len1/len2) - 1) < 1e-10);
+        Assert.assertTrue("scalar product != 0 : " + scalarProduct/len1/len2,
+                Math.abs(scalarProduct/len1/len2) < 1e-10);
+    }
+}
diff --git a/test/unit/org/openstreetmap/josm/tools/TextTagParserTest.java b/test/unit/org/openstreetmap/josm/tools/TextTagParserTest.java
index 83b55f1..8eda804 100644
--- a/test/unit/org/openstreetmap/josm/tools/TextTagParserTest.java
+++ b/test/unit/org/openstreetmap/josm/tools/TextTagParserTest.java
@@ -38,9 +38,9 @@ public class TextTagParserTest {
 
     @Test
     public void testTNformat() {
-        String txt = "   a  \t  1   \n\n\n  b=2 \t the value with \"quotes\"";
+        String txt = "   a  \t  1   \n\n\n  b\t2 \n c \t the value with \"quotes\"";
         Map<String, String> correctTags = new HashMap<String, String>() { {
-            put("a", "1"); put("b=2", "the value with \"quotes\"");
+            put("a", "1"); put("b", "2"); put("c", "the value with \"quotes\"");
         }};
         Map<String, String> tags = TextTagParser.readTagsFromText(txt);
         Assert.assertEquals(correctTags, tags);
diff --git a/windows/README.txt b/windows/README.txt
new file mode 100644
index 0000000..cef0b2a
--- /dev/null
+++ b/windows/README.txt
@@ -0,0 +1,66 @@
+This is the Win32 installer generator for JOSM, to create a Windows 
+like installer. This should ease installation and provides a reasonable set of 
+default preferences for Windows users.
+
+Currently only josm and a small assortment of josm plugins is included in the 
+installer.
+
+As other osm related applications like osmarender and mapnik have a lot more
+UNIX related dependencies that will make them complicated to install, only JOSM
+is currently installed "the easy way".
+
+
+install
+-------
+simply execute josm-setup-latest.exe
+
+uninstall
+---------
+use "control panel / software" to uninstall
+
+
+current state of the art
+------------------------
+The installer will currently add:
+- josm into "C:\Program Files\JOSM" (or the corresponding international dir)
+- josm icons to the desktop and quick launch bar
+- josm file associations to .osm and .gpx files
+- some assorted plugins (more to follow?)
+- default preferences to the current user profile (if not already existing)
+
+When the installed josm.exe is executed, it should ask the user to download 
+Java runtime if it's not already installed.
+
+build the installer
+-------------------
+1.) You will need to download and install the following on your machine:
+- cygwin bash and wget
+- launch4j - http://launch4j.sourceforge.net/ (currently 3.5, older 2.x will NOT work!)
+- NSIS - http://nsis.sourceforge.net/ (any recent version should do)
+
+2.) Edit the two absolute paths in the file josm-setup-unix.sh (in the calls 
+to launch4jc and makensis)
+
+3.) Start a cygwin shell and call ./josm-setup-unix.sh
+
+how the installer is build
+--------------------------
+First, wget will download the required files (e.g. the josm plugins) into the 
+downloads subdir. Then jaunch4j wraps the josm.jar into a josm.exe, which 
+makes registration of file extensions a lot easier. Then NSIS is called to 
+create the actual josm-setup-latest.exe.
+
+known issues
+------------
+- absolute paths in josm-setup-unix.sh
+- josm should support "global settings" instead of only the personal profile
+- install all josm plugins by default and only enable them according to user wishes?
+
+build the installer under Linux / Debian
+----------------------------------------
+It's possible to build the installer under Linux. Beside the things mentioned above, 
+the NSIS Debian package currently has an incomplete System.dll (in the plugins directory).
+This dll needs to be replaced by the System.dll included in the NSIS zip package, e.g. from
+http://nsis.sourceforge.net/Development_Files.
+More details can be found in the following NSIS forum thread:
+http://forums.winamp.com/showthread.php?s=bb7fa5bf8173e31c05e083340ca2c242&postid=2211132 
diff --git a/windows/josm-nsis-brand.bmp b/windows/josm-nsis-brand.bmp
new file mode 100644
index 0000000..a6c71a2
Binary files /dev/null and b/windows/josm-nsis-brand.bmp differ
diff --git a/windows/josm-setup-unix.sh b/windows/josm-setup-unix.sh
new file mode 100755
index 0000000..b396e2d
--- /dev/null
+++ b/windows/josm-setup-unix.sh
@@ -0,0 +1,151 @@
+#!/bin/bash
+
+# Creates an josm-setup-xy.exe File
+#
+# for working on a debian-unix system install the nsis package with
+# apt-get install nsis
+# replace the  /usr/share/nsis/Plugins/System.dll with the Version from the nsis .zip File
+# The one coming with the debian package is missing the Call:: Function
+# See also /usr/share/doc/nsis/README.Debian 
+#
+# Then download launch4j from http://launch4j.sourceforge.net/ 
+# wget http://softlayer-ams.dl.sourceforge.net/project/launch4j/launch4j-3/3.5/launch4j-3.5-linux.tgz
+# and unpack it to /usr/share/launch4j
+#
+# On Debian/Ubuntu 64bits, follow then this procedure
+# http://sourceforge.net/p/launch4j/feature-requests/74/#2051
+# if you get this error: launch4j: net.sf.launch4j.ExecException: java.io.IOException: 
+#   Cannot run program "/usr/share/launch4j/bin/windres": error=2, No such file or directory
+
+## settings ##
+
+# trying to find launch4j
+if [ -s "/cygdrive/c/Program Files (x86)/Launch4j/launch4jc.exe" ]; then
+    # Windows under cygwin or MobaXterm
+    LAUNCH4J="/cygdrive/c/Program Files (x86)/Launch4j/launch4jc.exe"
+elif [ -s /usr/share/launch4j/launch4j.jar ]; then
+    # as described above
+    LAUNCH4J="java -jar /usr/share/launch4j/launch4j.jar"
+elif [ -s ../launch4j/launch4j.jar ]; then
+    LAUNCH4J="java -jar ../launch4j/launch4j.jar"
+elif [ -s $HOME/launch4j/launch4j.jar ]; then
+    LAUNCH4J="java -jar $HOME/launch4j/launch4j.jar"
+else
+    # launch4j installed locally under this nsis folder
+    LAUNCH4J="java -jar ./launch4j/launch4j.jar"
+fi
+echo Using launch4j: $LAUNCH4J
+
+# trying to find makensis
+if [ -s "/cygdrive/c/Program Files (x86)/NSIS/makensis.exe" ]; then
+    # Windows under cygwin or MobaXterm
+    MAKENSIS="/cygdrive/c/Program Files (x86)/NSIS/makensis.exe"
+else
+    # UNIX like
+    MAKENSIS=/usr/bin/makensis
+fi
+echo Using NSIS: $MAKENSIS
+
+if [ -n "$2" ]; then
+  # 2 arguments: for Ant build.xml and Jenkins CI
+  export VERSION=$1
+  export JOSM_BUILD="no"
+  export WEBKIT_DOWNLOAD="yes"
+  export JOSM_FILE=$2
+elif [ -n "$1" ]; then
+  # 1 argument: for official JOSM server
+  export VERSION=$1
+  export JOSM_BUILD="no"
+  export WEBKIT_DOWNLOAD="no"
+  export JOSM_FILE="/home/josm/www/download/josm-tested.jar"
+else
+  # no argument: for everyone else
+  svncorerevision=`svnversion -n ..`
+  #svnpluginsrevision=`svnversion -n ../../plugins`
+  #svnrevision="$svncorerevision-$svnpluginsrevision"
+
+  #export VERSION=custom-${svnrevision}
+  export VERSION=`echo ${svncorerevision} | sed -e 's/M//g' -e 's/S//g' -e 's/P//g'`
+  export JOSM_BUILD="yes"
+  export WEBKIT_DOWNLOAD="yes"
+  export JOSM_FILE="..\dist\josm-custom.jar"
+fi
+
+echo "Creating Windows Installer for josm-$VERSION"
+
+echo 
+echo "##################################################################"
+echo "### Download and unzip the webkit stuff"
+if [ "x$WEBKIT_DOWNLOAD" == "xyes" ]; then
+    wget --continue --timestamping http://josm.openstreetmap.de/download/windows/webkit-image.zip
+else
+    if ! [ -f webkit-image.zip ]; then
+      ln -s /home/josm/www/download/windows/webkit-image.zip .
+    fi
+fi
+unzip -o webkit-image.zip
+
+echo 
+echo "##################################################################"
+echo "### Build the Complete josm + Plugin Stuff"
+if [ "x$JOSM_BUILD" == "xyes" ]; then
+    (
+	echo "Build the Complete josm Stuff"
+	
+	echo "Compile Josm"
+	cd ../core
+	ant -q clean
+	ant -q compile || exit -1
+	cd ..
+	
+	echo "Compile Josm Plugins"
+	cd plugins
+	ant -q clean
+	ant -q dist || exit -1
+	) || exit -1
+fi
+
+/bin/cp $JOSM_FILE josm-tested.jar
+
+function build_exe {
+
+	export TARGET=$1	# josm / josm64. Used in file name of launcher and installer
+	
+	/bin/rm -f "launch4j_${TARGET}.xml"
+	/bin/sed -e "s/%TARGET%/$1/" -e "s/%RTBITS%/$2/" -e "s/%INIHEAP%/$3/" -e "s/%MAXHEAP%/$4/" -e "s/%VERSION%/$VERSION/" "launch4j.xml" > "launch4j_${TARGET}.xml"
+	
+	echo 
+	echo "##################################################################"
+	echo "### convert jar to ${TARGET}.exe with launch4j"
+	# (an exe file makes attaching to file extensions a lot easier)
+	# launch4j - http://launch4j.sourceforge.net/
+	# delete old exe file first
+	/bin/rm -f ${TARGET}*.exe
+	$LAUNCH4J "launch4j_${TARGET}.xml"
+	# comment previous line and uncomment next one on Windows
+	#"$LAUNCH4J" "launch4j_${TARGET}.xml"
+
+	if ! [ -s ${TARGET}.exe ]; then
+		echo "NO ${TARGET}.exe File Created"
+		exit -1
+	fi
+
+	/bin/rm -f "launch4j_${TARGET}.xml"
+
+	echo 
+	echo "##################################################################"
+	echo "### create the ${TARGET}-installer-${VERSION}.exe with makensis"
+	# NSIS - http://nsis.sourceforge.net/Main_Page
+	# apt-get install nsis
+	"$MAKENSIS" -V2 -DVERSION=$VERSION -DDEST=$TARGET josm.nsi
+
+	# keep the intermediate file, for debugging
+	/bin/rm -f ${TARGET}-intermediate.exe 2>/dev/null >/dev/null
+	/bin/mv ${TARGET}.exe ${TARGET}-intermediate.exe 2>/dev/null >/dev/null
+}
+
+build_exe "josm" "64\/32" 128 1024
+# 64-bit binary generation commented until possible with launch4j / nsis
+# build_exe "josm64"  "64" 256 2048
+
+/bin/rm -f josm-tested.jar 2>/dev/null >/dev/null
diff --git a/windows/josm.nsi b/windows/josm.nsi
new file mode 100644
index 0000000..96bdc88
--- /dev/null
+++ b/windows/josm.nsi
@@ -0,0 +1,471 @@
+;
+; josm.nsi
+;
+
+; Set the compression mechanism first.
+SetCompressor /SOLID lzma
+
+; Load StdUtils plugin (ANSI until we switch to Unicode installer with NSIS 3)
+!addplugindir plugins/stdutils/Plugins/Release_ANSI
+!addincludedir plugins/stdutils/Include
+
+!include "StdUtils.nsh"
+
+; make sure the installer will get elevated rights on UAC-enabled system (Vista+)
+RequestExecutionLevel admin
+
+; Used to refresh the display of file association
+!define SHCNE_ASSOCCHANGED 0x08000000
+!define SHCNF_IDLIST 0
+
+; Used to add associations between file extensions and JOSM
+!define OSM_ASSOC "josm-file"
+
+; ============================================================================
+; Header configuration
+; ============================================================================
+; The name of the installer
+Name "JOSM ${VERSION}"
+
+; The file to write
+OutFile "${DEST}-setup-${VERSION}.exe"
+
+XPStyle on
+
+Var /GLOBAL plugins
+
+; ============================================================================
+; Modern UI
+; ============================================================================
+
+!include "MUI2.nsh"
+
+; Icon of installer and uninstaller
+!define MUI_ICON "logo.ico"
+!define MUI_UNICON "logo.ico"
+
+!define MUI_COMPONENTSPAGE_SMALLDESC
+!define MUI_FINISHPAGE_NOAUTOCLOSE
+!define MUI_UNFINISHPAGE_NOAUTOCLOSE
+!define MUI_WELCOMEFINISHPAGE_BITMAP "josm-nsis-brand.bmp"
+!define MUI_WELCOMEPAGE_TEXT $(JOSM_WELCOME_TEXT) 
+
+!define MUI_FINISHPAGE_RUN
+!define MUI_FINISHPAGE_RUN_FUNCTION LaunchJOSM
+
+; Function used to Launch JOSM in user (non-elevated) mode
+Function LaunchJOSM
+  ${StdUtils.ExecShellAsUser} $0 "$INSTDIR\${DEST}.exe" "open" ""
+FunctionEnd
+
+; ============================================================================
+; MUI Pages
+; ============================================================================
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "..\LICENSE"
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_COMPONENTS
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
+; ============================================================================
+; MUI Languages
+; ============================================================================
+
+  ;Remember the installer language
+  !define MUI_LANGDLL_REGISTRY_ROOT "HKLM" 
+  !define MUI_LANGDLL_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" 
+  !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+  
+  ;; English goes first because its the default. The rest are
+  ;; in alphabetical order (at least the strings actually displayed
+  ;; will be).
+
+  !insertmacro MUI_LANGUAGE "English"
+  !insertmacro MUI_LANGUAGE "French"
+  !insertmacro MUI_LANGUAGE "German"
+
+;--------------------------------
+;Translations
+
+  !define JOSM_DEFAULT_LANGFILE "locale\english.nsh"
+
+  !include "langmacros.nsh"
+  
+  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "ENGLISH" "locale\english.nsh"
+  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "FRENCH" "locale\french.nsh"
+  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "GERMAN" "locale\german.nsh"
+
+; Uninstall stuff
+!define MUI_UNCONFIRMPAGE_TEXT_TOP ${un.JOSM_UNCONFIRMPAGE_TEXT_TOP}
+
+; ============================================================================
+; Installation types
+; ============================================================================
+
+InstType "$(JOSM_FULL_INSTALL)"
+
+InstType "un.$(un.JOSM_DEFAULT_UNINSTALL)"
+InstType "un.$(un.JOSM_FULL_UNINSTALL)"
+
+; ============================================================================
+; Section macros
+; ============================================================================
+!include "Sections.nsh"
+
+; ========= Macro to unselect and disable a section =========
+
+!macro DisableSection SECTION
+
+  Push $0
+    SectionGetFlags "${SECTION}" $0
+    IntOp $0 $0 & ${SECTION_OFF}
+    IntOp $0 $0 | ${SF_RO}
+    SectionSetFlags "${SECTION}" $0
+  Pop $0
+
+!macroend
+
+; ========= Macro to enable (unreadonly) a section =========
+!define SECTION_ENABLE   0xFFFFFFEF
+!macro EnableSection SECTION
+
+  Push $0
+    SectionGetFlags "${SECTION}" $0
+    IntOp $0 $0 & ${SECTION_ENABLE}
+    SectionSetFlags "${SECTION}" $0
+  Pop $0
+
+!macroend
+
+; ============================================================================
+; Command Line
+; ============================================================================
+!include "FileFunc.nsh"
+
+; ============================================================================
+; Directory selection page configuration
+; ============================================================================
+; The text to prompt the user to enter a directory
+DirText $(JOSM_DIR_TEXT)
+
+; The default installation directory
+InstallDir $PROGRAMFILES\JOSM\
+
+; See if this is an upgrade; if so, use the old InstallDir as default
+InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\JOSM "InstallDir"
+
+
+; ============================================================================
+; Install page configuration
+; ============================================================================
+ShowInstDetails show
+ShowUninstDetails show
+
+; ============================================================================
+; Functions and macros
+; ============================================================================
+
+; update file extension icons
+!macro UpdateIcons
+	Push $R0
+  	Push $R1
+  	Push $R2
+
+	!define UPDATEICONS_UNIQUE ${__LINE__}
+
+	IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.next1_${UPDATEICONS_UNIQUE} UpdateIcons.error1_${UPDATEICONS_UNIQUE}
+UpdateIcons.next1_${UPDATEICONS_UNIQUE}:
+	GetDllVersion "$SYSDIR\shell32.dll" $R0 $R1
+	IntOp $R2 $R0 / 0x00010000
+	IntCmp $R2 4 UpdateIcons.next2_${UPDATEICONS_UNIQUE} UpdateIcons.error2_${UPDATEICONS_UNIQUE}
+UpdateIcons.next2_${UPDATEICONS_UNIQUE}:
+	System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
+	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
+
+UpdateIcons.error1_${UPDATEICONS_UNIQUE}:
+	MessageBox MB_OK|MB_ICONSTOP $(JOSM_UPDATEICONS_ERROR1)
+	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
+UpdateIcons.error2_${UPDATEICONS_UNIQUE}:
+	MessageBox MB_OK|MB_ICONINFORMATION $(JOSM_UPDATEICONS_ERROR2)
+	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
+UpdateIcons.quit_${UPDATEICONS_UNIQUE}:
+	!undef UPDATEICONS_UNIQUE
+	Pop $R2
+	Pop $R1
+  	Pop $R0
+
+!macroend
+
+; associate a file extension to an icon
+Function Associate
+	; $R0 should contain the prefix to associate to JOSM
+	Push $R1
+
+	ReadRegStr $R1 HKCR $R0 ""
+	StrCmp $R1 "" Associate.doRegister
+	Goto Associate.end
+Associate.doRegister:
+	;The extension is not associated to any program, we can do the link
+	WriteRegStr HKCR $R0 "" ${OSM_ASSOC}
+Associate.end:
+	pop $R1
+FunctionEnd
+
+; disassociate a file extension from an icon
+Function un.unlink
+	; $R0 should contain the prefix to unlink
+	Push $R1
+
+	ReadRegStr $R1 HKCR $R0 ""
+	StrCmp $R1 ${OSM_ASSOC} un.unlink.doUnlink
+	Goto un.unlink.end
+un.unlink.doUnlink:
+	; The extension is associated with JOSM so, we must destroy this!
+	DeleteRegKey HKCR $R0
+un.unlink.end:
+	pop $R1
+FunctionEnd
+
+Function .onInit
+  !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+Function un.onInit
+  !insertmacro MUI_UNGETLANGUAGE
+FunctionEnd
+
+; ============================================================================
+; Installation execution commands
+; ============================================================================
+
+Section "-Required"
+;-------------------------------------------
+
+;
+; Install for every user
+;
+SectionIn 1 2 RO
+SetShellVarContext current
+
+SetOutPath $INSTDIR
+
+; Write the uninstall keys for Windows
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "DisplayVersion" "${VERSION}"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "DisplayName" "JOSM ${VERSION}"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "UninstallString" '"$INSTDIR\uninstall.exe"'
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "Publisher" "OpenStreetMap JOSM team"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "HelpLink" "mailto:josm-dev at openstreetmap.org."
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "URLInfoAbout" "https://josm.openstreetmap.de"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "URLUpdateInfo" "https://josm.openstreetmap.de"
+WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "NoModify" 1
+WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "NoRepair" 1
+WriteUninstaller "uninstall.exe"
+
+; Write an entry for ShellExecute
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe" "" '$INSTDIR\${DEST}.exe'
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe" "Path" '$INSTDIR'
+
+SectionEnd ; "Required"
+
+
+Section $(JOSM_SEC_JOSM) SecJosm
+;-------------------------------------------
+SectionIn 1
+SetOutPath $INSTDIR
+File "${DEST}.exe"
+File "josm-tested.jar"
+
+; XXX - should be provided/done by josm.jar itself and not here!
+SetShellVarContext current
+SetOutPath "$APPDATA\JOSM"
+
+SectionEnd
+
+SectionGroup $(JOSM_SEC_PLUGINS_GROUP) SecPluginsGroup
+
+Section $(JOSM_SEC_TURNRESTRICTIONS_PLUGIN) SecTurnrestrictionsPlugin
+;-------------------------------------------
+SectionIn 1 2
+SetShellVarContext current
+SetOutPath $APPDATA\JOSM\plugins
+File "../../dist/turnrestrictions.jar"
+StrCpy $plugins "$plugins<entry value='turnrestrictions'/>"
+SectionEnd
+
+Section $(JOSM_SEC_WMS) SecWMS
+;-------------------------------------------
+SectionIn 1 2
+SetShellVarContext current
+SetOutPath $INSTDIR\imageformats
+File "webkit-image\imageformats\qjpeg4.dll"
+SetOutPath $INSTDIR
+File "webkit-image\mingwm10.dll"
+File "webkit-image\QtCore4.dll"
+File "webkit-image\QtGui4.dll"
+File "webkit-image\QtNetwork4.dll"
+File "webkit-image\QtWebKit4.dll"
+File "webkit-image\webkit-image.exe"
+SectionEnd
+
+SectionGroupEnd	; "Plugins"
+
+Section $(JOSM_SEC_STARTMENU) SecStartMenu
+;-------------------------------------------
+SectionIn 1 2
+; To quote "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11d.asp":
+; "Do not include Readme, Help, or Uninstall entries on the Programs menu."
+CreateShortCut "$SMPROGRAMS\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
+SectionEnd
+
+Section $(JOSM_SEC_DESKTOP_ICON) SecDesktopIcon
+;-------------------------------------------
+; Create desktop icon
+; Desktop icon for a program should not be installed as default!
+CreateShortCut "$DESKTOP\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
+SectionEnd
+
+Section $(JOSM_SEC_QUICKLAUNCH_ICON) SecQuickLaunchIcon
+;-------------------------------------------
+; Create quick launch icon. Does not really exist as of Windows 7/8 but still advanced users use it.
+; Only disable it by default, see #10241
+CreateShortCut "$QUICKLAUNCH\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
+SectionEnd
+
+Section $(JOSM_SEC_FILE_EXTENSIONS) SecFileExtensions
+;-------------------------------------------
+SectionIn 1 2
+; Create File Extensions
+WriteRegStr HKCR ${OSM_ASSOC} "" "OpenStreetMap data"
+WriteRegStr HKCR "${OSM_ASSOC}\Shell\open\command" "" '"$INSTDIR\${DEST}.exe" "%1"'
+WriteRegStr HKCR "${OSM_ASSOC}\DefaultIcon" "" '"$INSTDIR\${DEST}.exe",0'
+push $R0
+	StrCpy $R0 ".osm"
+  	Call Associate
+	StrCpy $R0 ".gpx"
+  	Call Associate
+; if somethings added here, add it also to the uninstall section
+pop $R0
+!insertmacro UpdateIcons
+SectionEnd
+
+Section "-PluginSetting"
+;-------------------------------------------
+SectionIn 1 2
+;MessageBox MB_OK "PluginSetting!" IDOK 0
+; XXX - should better be handled inside JOSM (recent plugin manager is going in the right direction)
+SetShellVarContext current
+!include LogicLib.nsh
+IfFileExists "$APPDATA\JOSM\preferences" settings_exists
+IfFileExists "$APPDATA\JOSM\preferences.xml" settings_exists
+FileOpen $R0 "$APPDATA\JOSM\preferences.xml" w
+FileWrite $R0 "<?xml version='1.0' encoding='UTF-8'?><preferences xmlns='http://josm.openstreetmap.de/preferences-1.0' version='4660'><list key='plugins'>$plugins</list></preferences>"
+FileClose $R0
+settings_exists:
+SectionEnd
+
+Section "un.$(un.JOSM_SEC_UNINSTALL)" un.SecUinstall
+;-------------------------------------------
+
+;
+; UnInstall for every user
+;
+SectionIn 1 2
+SetShellVarContext current
+
+Delete "$INSTDIR\josm-tested.jar"
+IfErrors 0 NoJOSMErrorMsg
+	MessageBox MB_OK $(un.JOSM_IN_USE_ERROR) IDOK 0 ;skipped if josm.jar removed
+	Abort $(un.JOSM_IN_USE_ERROR)
+NoJOSMErrorMsg:
+Delete "$INSTDIR\${DEST}.exe"
+Delete "$INSTDIR\imageformats\qjpeg4.dll"
+RMDir "$INSTDIR\imageformats"
+Delete "$INSTDIR\mingwm10.dll"
+Delete "$INSTDIR\QtCore4.dll"
+Delete "$INSTDIR\QtGui4.dll"
+Delete "$INSTDIR\QtNetwork4.dll"
+Delete "$INSTDIR\QtWebKit4.dll"
+Delete "$INSTDIR\webkit-image.exe"
+Delete "$INSTDIR\uninstall.exe"
+
+DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM"
+DeleteRegKey HKEY_LOCAL_MACHINE "Software\${DEST}.exe"
+DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe"
+
+; Remove Language preference info
+DeleteRegKey HKCU "Software/JOSM" ;${MUI_LANGDLL_REGISTRY_ROOT} ${MUI_LANGDLL_REGISTRY_KEY}
+
+push $R0
+	StrCpy $R0 ".osm"
+  	Call un.unlink
+	StrCpy $R0 ".gpx"
+  	Call un.unlink
+pop $R0
+
+DeleteRegKey HKCR ${OSM_ASSOC}
+DeleteRegKey HKCR "${OSM_ASSOC}\Shell\open\command"
+DeleteRegKey HKCR "${OSM_ASSOC}\DefaultIcon"
+!insertmacro UpdateIcons
+
+Delete "$SMPROGRAMS\josm.lnk"
+Delete "$DESKTOP\josm.lnk"
+Delete "$QUICKLAUNCH\josm.lnk"
+
+RMDir "$INSTDIR"
+
+SectionEnd ; "Uninstall"
+
+Section /o "un.$(un.JOSM_SEC_PERSONAL_SETTINGS)" un.SecPersonalSettings
+;-------------------------------------------
+SectionIn 2
+SetShellVarContext current
+Delete "$APPDATA\JOSM\plugins\turnrestrictions\*.*"
+RMDir "$APPDATA\JOSM\plugins\turnrestrictions"
+Delete "$APPDATA\JOSM\plugins\*.*"
+RMDir "$APPDATA\JOSM\plugins"
+
+Delete "$APPDATA\JOSM\motd.html"
+Delete "$APPDATA\JOSM\preferences.xml"
+RMDir "$APPDATA\JOSM"
+SectionEnd
+
+Section "-Un.Finally"
+;-------------------------------------------
+SectionIn 1 2
+; this test must be done after all other things uninstalled (e.g. Global Settings)
+IfFileExists "$INSTDIR" 0 NoFinalErrorMsg
+    MessageBox MB_OK $(un.JOSM_INSTDIR_ERROR) IDOK 0 ; skipped if dir doesn't exist
+NoFinalErrorMsg:
+SectionEnd
+
+; ============================================================================
+; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD!
+; ============================================================================
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecJosm} $(JOSM_SECDESC_JOSM)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsGroup} $(JOSM_SECDESC_PLUGINS_GROUP)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecTurnrestrictionsPlugin} $(JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecWMS} $(JOSM_SECDESC_WMS)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(JOSM_SECDESC_STARTMENU)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} $(JOSM_SECDESC_DESKTOP_ICON)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecQuickLaunchIcon} $(JOSM_SECDESC_QUICKLAUNCH_ICON) 
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecFileExtensions} $(JOSM_SECDESC_FILE_EXTENSIONS)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${un.SecUinstall} $(un.JOSM_SECDESC_UNINSTALL)
+  !insertmacro MUI_DESCRIPTION_TEXT ${un.SecPersonalSettings} $(un.JOSM_SECDESC_PERSONAL_SETTINGS)
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
+
+; ============================================================================
+; Callback functions
+; ============================================================================
+
diff --git a/windows/langmacros.nsh b/windows/langmacros.nsh
new file mode 100644
index 0000000..d7f5173
--- /dev/null
+++ b/windows/langmacros.nsh
@@ -0,0 +1,84 @@
+;;
+;; Windows JOSM NSIS installer language macros
+;;
+
+!macro JOSM_MACRO_DEFAULT_STRING LABEL VALUE
+  !ifndef "${LABEL}"
+    !define "${LABEL}" "${VALUE}"
+    !ifdef INSERT_DEFAULT
+      !warning "${LANG} lang file mising ${LABEL}, using default.."
+    !endif
+  !endif
+!macroend
+
+!macro JOSM_MACRO_LANGSTRING_INSERT LABEL LANG
+  LangString "${LABEL}" "${LANG_${LANG}}" "${${LABEL}}"
+  !undef "${LABEL}"
+!macroend
+
+!macro JOSM_MACRO_LANGUAGEFILE_BEGIN LANG
+  !define CUR_LANG "${LANG}"
+!macroend
+
+!macro JOSM_MACRO_LANGUAGEFILE_END
+  !define INSERT_DEFAULT
+  !include "${JOSM_DEFAULT_LANGFILE}"
+  !undef INSERT_DEFAULT
+
+  ; JOSM Language file Version 2
+  ; String labels should match those from the default language file.
+  
+  
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_WELCOME_TEXT				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_DIR_TEXT					${CUR_LANG}
+
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_FULL_INSTALL				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_JOSM 					${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_PLUGINS_GROUP 			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_TURNRESTRICTIONS_PLUGIN    ${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_WMS 			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_STARTMENU 				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_DESKTOP_ICON 			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_QUICKLAUNCH_ICON 		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_FILE_EXTENSIONS 		${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_JOSM				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_PLUGINS_GROUP		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN	${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_WMS			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_STARTMENU			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_DESKTOP_ICON		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_QUICKLAUNCH_ICON	${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_FILE_EXTENSIONS	${CUR_LANG}
+
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_UPDATEICONS_ERROR1			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_UPDATEICONS_ERROR2			${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_LINK_TEXT					${CUR_LANG}
+  
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_UNCONFIRMPAGE_TEXT_TOP		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_DEFAULT_UNINSTALL			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_FULL_UNINSTALL				${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_IN_USE_ERROR				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_INSTDIR_ERROR				${CUR_LANG}
+    
+	
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_UNINSTALL				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_PERSONAL_SETTINGS		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_PLUGINS					${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SECDESC_UNINSTALL			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SECDESC_PERSONAL_SETTINGS	${CUR_LANG}
+  
+
+  !undef CUR_LANG
+!macroend
+
+!macro JOSM_MACRO_INCLUDE_LANGFILE LANG FILE
+  !insertmacro JOSM_MACRO_LANGUAGEFILE_BEGIN "${LANG}"
+  !include "${FILE}"
+  !insertmacro JOSM_MACRO_LANGUAGEFILE_END
+!macroend
diff --git a/windows/launch4j.xml b/windows/launch4j.xml
new file mode 100644
index 0000000..6170dac
--- /dev/null
+++ b/windows/launch4j.xml
@@ -0,0 +1,35 @@
+<launch4jConfig>
+  <headerType>gui</headerType>
+  <outfile>%TARGET%.exe</outfile>
+  <jar>josm-tested.jar</jar>
+  <dontWrapJar>true</dontWrapJar>
+  <errTitle></errTitle>
+  <downloadUrl>https://java.com/download</downloadUrl>
+  <supportUrl></supportUrl>
+  <cmdLine></cmdLine>
+  <chdir></chdir>
+  <priority>normal</priority>
+  <stayAlive>true</stayAlive>
+  <icon>logo.ico</icon>
+  <jre>
+    <path></path>
+    <minVersion>1.7.0</minVersion>
+    <maxVersion></maxVersion>
+    <jdkPreference>preferJre</jdkPreference>
+	<runtimeBits>%RTBITS%</runtimeBits>
+    <initialHeapSize>%INIHEAP%</initialHeapSize>
+    <maxHeapSize>%MAXHEAP%</maxHeapSize>
+  </jre>
+  <versionInfo>
+    <fileVersion>1.5.0.%VERSION%</fileVersion>
+    <txtFileVersion>%VERSION%</txtFileVersion>
+    <fileDescription>Java OpenStreetMap Editor</fileDescription>
+    <copyright>GNU General Public License v2 or later</copyright>
+    <productVersion>1.5.0.%VERSION%</productVersion>
+    <txtProductVersion>%VERSION%</txtProductVersion>
+    <productName>JOSM</productName>
+    <companyName>OpenStreetMap</companyName>
+    <internalName>%TARGET%</internalName>
+    <originalFilename>%TARGET%.exe</originalFilename>
+  </versionInfo>
+</launch4jConfig>
diff --git a/windows/locale/english.nsh b/windows/locale/english.nsh
new file mode 100644
index 0000000..6a2e648
--- /dev/null
+++ b/windows/locale/english.nsh
@@ -0,0 +1,51 @@
+;;
+;;  english.nsh
+;;
+;;  Default language strings for the Windows JOSM NSIS installer.
+;;  Windows Code page: 1252
+;;
+;;  Note: If translating this file, replace "!insertmacro JOSM_MACRO_DEFAULT_STRING"
+;;  with "!define".
+
+; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
+; langmacros.nsh when updating this file
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "This wizard will guide you through the installation of the Java OpenStreetMap Editor (JOSM).$\r$\n$\r$\nBefore starting the installation, make sure any JOSM applications are not running.$\r$\n$\r$\nClick 'Next' to continue."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Choose a directory in which to install JOSM."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (full install)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Plugins"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "WMS Downloader"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Start Menu Entry"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Desktop Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Quick Launch Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "File Extensions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM is the Java OpenStreetMap editor for .osm files."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "An assortment of useful JOSM plugins."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Allows to enter and maintain information about turn restrictions."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Display background images from Web Map Service (WMS) sources."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "Add a JOSM start menu entry."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "Add a JOSM desktop icon."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "Add a JOSM icon to the quick launch bar."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "Add JOSM file extensions for .osm and .gpx files."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "Can't find 'shell32.dll' library. Impossible to update icons"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "You should install the free 'Microsoft Layer for Unicode' to update JOSM file icons"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "Java OpenStreetMap - Editor"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "The following Java OpenStreetMap editor (JOSM) installation will be uninstalled. Click 'Next' to continue."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "Default (keep Personal Settings and plugins)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "All (remove all)"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Please note: josm could not be removed, it's probably in use!"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Please note: The directory $INSTDIR could not be removed!"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Personal settings" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Personal plugins" 
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "Uninstall JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "Uninstall personal settings from your profile: $PROFILE."
diff --git a/windows/locale/french.nsh b/windows/locale/french.nsh
new file mode 100644
index 0000000..2e913f0
--- /dev/null
+++ b/windows/locale/french.nsh
@@ -0,0 +1,51 @@
+;;
+;;  french.nsh
+;;
+;;  French language strings for the Windows JOSM NSIS installer.
+;;  Windows Code page: 1252
+;;
+;;  Author: Vincent Privat <vprivat at openstreetmap.fr>, 2011.
+;;
+
+; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
+; langmacros.nsh when updating this file
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "Cet assistant va vous guider � travers l'installation de l'�diteur Java OpenStreetMap (JOSM).$\r$\n$\r$\nAvant de lancer l'installation, assurez-vous que JOSM n'est pas d�j� en cours d'ex�cution.$\r$\n$\r$\nVeuillez cliquer sur 'Suivant' pour continuer."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Veuillez choisir un dossier o� installer JOSM."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (installation compl�te)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Greffons"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "T�l�chargement WMS"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Entr�e dans le menu D�marrer"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Ic�ne sur le Bureau"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Ic�ne dans la barre de lancement rapide"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "Extensions de fichier"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM est l'�diteur Java OpenStreetMap pour les fichiers .osm."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "Une s�lection de greffons utiles pour JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Permet de saisir et de maintenir des informations sur les restrictions de tourner."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Affiche des images en arri�re-plan � partir de sources Web Map Service (WMS)."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "Ajoute une entr�e JOSM au menu d�marrer."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "Ajoute une ic�ne JOSM au Bureau."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "Ajoute une ic�ne JOSM � la barre de lancement rapide."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "Associe JOSM aux extensions de fichier .osm et .gpx."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "La biblioth�que 'shell32.dll' est introuvable. Impossible de mettre � jour les ic�nes"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "Vous devriez installer le compl�ment gratuit 'Microsoft Layer for Unicode' pour mettre � jour les fichiers d'ic�nes de JOSM"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "�diteur Java OpenStreetMap"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "L'installation suivante de l'�diteur Java OpenStreetMap (JOSM) va �tre d�sinstall�e. Veuillez cliquer sur 'Suivant' pour continuer."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "D�faut (conserve les param�tres personnels et les greffons)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "Tout (supprime l'int�gralit� des fichiers)"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Attention: JOSM n'a pas pu �tre retir�, il est probablement en utilisation !"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Attention: Le dossier $INSTDIR n'a pas pu �tre supprim� !"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Param�tres personnels" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Greffons personnels" 
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "D�sinstaller JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "D�sinstaller les param�tres personnels de votre profil: $PROFILE."
diff --git a/windows/locale/german.nsh b/windows/locale/german.nsh
new file mode 100644
index 0000000..0486fe9
--- /dev/null
+++ b/windows/locale/german.nsh
@@ -0,0 +1,51 @@
+;;
+;;  german.nsh
+;;
+;;  German language strings for the Windows JOSM NSIS installer.
+;;  Windows Code page: 1252
+;;
+;;  Author: Bjoern Voigt <bjoern at cs.tu-berlin.de>, 2003.
+;;  Version 2
+
+; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
+; langmacros.nsh when updating this file
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "Diese Installationshilfe wird Sie durch den Installationsvorgang des JAVA OpenStreetMap Editors (JOSM) f�hren.$\r$\n$\r$\nBevor Sie die Installation starten, stellen Sie bitte sicher das JOSM nicht bereits l�uft.$\r$\n$\r$\nAuf 'Weiter' klicken um fortzufahren."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Bitte das Verzeichnis ausw�hlen, in das JOSM installiert werden soll."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (Komplettinstallation)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Plugins"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "WMS Downloadprogram"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Startmen� Eintrag"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Desktop Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Schnellstartleiste Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "Dateiendungen"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM ist der JAVA OpenStreetMap Editor f�r .osm Dateien."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "Eine Auswahl an n�tzlichen JOSM Plugins."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Erleichtert die Eingabe und Pflege von Informationen zu Abbiegebeschr�nkungen."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Hintergrundbilder von Web Map Service (WMS) Quellen."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "F�gt JOSM zum Startmen� hinzu."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "F�gt ein JOSM Icon zum Desktop hinzu."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "F�gt ein JOSM Icon zur Schnellstartleiste (Quick Launch) hinzu."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "F�gt JOSM Dateiendungen f�r .osm and .gpx Dateien hinzu."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "Kann die Bibliothek 'shell32.dll' nicht finden. Das Update der Icons ist nicht m�glich"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "Sie sollten die kostenlose 'Microsoft Layer for Unicode' installieren um die Icons updaten zu k�nnen"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "JAVA OpenStreetMap - Editor"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "Die folgende JAVA OpenStreetMap editor (JOSM) Installation wird deinstalliert. Auf 'Weiter' klicken um fortzufahren."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "Default (pers�nliche Einstellungen und Plugins behalten)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "Alles (alles entfernen)"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Achtung: josm konnte nicht entfernt werden, m�glicherweise wird es noch benutzt!"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Achtung: Das Verzeichnis $INSTDIR konnte nicht entfernt werden!"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Pers�nliche Einstellungen" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Pers�nliche Plugins" 
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "Deinstalliere JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "Deinstalliere pers�nliche Einstellungen von Ihrem Profil: $PROFILE."
diff --git a/windows/logo.ico b/windows/logo.ico
new file mode 100644
index 0000000..eb76acf
Binary files /dev/null and b/windows/logo.ico differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ComUtils.h b/windows/plugins/stdutils/Contrib/StdUtils/ComUtils.h
new file mode 100644
index 0000000..621fb8f
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/ComUtils.h
@@ -0,0 +1,96 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#ifdef _UNICODE
+	#define ALLOC_STRING(STR) SysAllocString(STR)
+#else
+	static inline BSTR ALLOC_STRING(const char *STR)
+	{
+		BSTR result = NULL;
+		wchar_t *temp = ansi_to_utf16(STR);
+		if(temp)
+		{
+			result = SysAllocString(temp);
+			delete [] temp;
+		}
+		return result;
+	}
+#endif
+
+class variant_t
+{
+public:
+	variant_t(void) { VariantInit(&data); }
+	variant_t(const TCHAR *str) { VariantInit(&data); if(str != NULL) setString(str); }
+	variant_t(const LONG value) { VariantInit(&data); setIValue(value); }
+	~variant_t(void) { VariantClear(&data); }
+	void setIValue(const LONG value) { VariantClear(&data); data.vt = VT_I4; data.lVal = value; }
+	void setString(const TCHAR *str) { VariantClear(&data); if(str != NULL) { setOleStr(ALLOC_STRING(str)); } }
+	operator const VARIANT&(void) const { return data; };
+	operator VARIANT*(void) { return &data; };
+	operator const BSTR(void) const { return data.bstrVal; };
+#ifndef _UNICODE
+	variant_t(const WCHAR *str) { VariantInit(&data); if(str != NULL) setString(str); }
+	void setString(const WCHAR *str) { VariantClear(&data); if(str != NULL) { setOleStr(SysAllocString(str)); } }
+#endif
+protected:
+	void setOleStr(const BSTR value) { if(value != NULL) { data.vt = VT_BSTR; data.bstrVal = value; } }
+private:
+	VARIANT data;
+};
+
+#define DISPATCH_MESSAGES do \
+{ \
+	for(int i = 0; i < 16; i++) \
+	{ \
+		MSG _msg; bool _flag = false; \
+		while(PeekMessage(&_msg, NULL, 0, 0, PM_REMOVE)) \
+		{ \
+			DispatchMessage(&_msg); _flag = true; \
+		} \
+		if(_flag) Sleep(0); else break;\
+	} \
+} \
+while(0)
+
+/*
+ * Each single-threaded apartment (STA) must have a message loop to handle calls from other processes and apartments within the same process!
+ * In order to avoid deadlock or crash, we use CoWaitForMultipleHandles() to dispatch the pending messages, as it will perform "message pumping" while waiting.
+ * Source: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680112%28v=vs.85%29.aspx | http://msdn.microsoft.com/en-us/library/ms809971.aspx
+ */
+static void DispatchPendingMessages(const DWORD dwTimeout)
+{
+	DWORD dwMaxTicks = GetTickCount() + (10 * dwTimeout);
+	HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
+	if(hEvent)
+	{
+		for(;;)
+		{
+			DISPATCH_MESSAGES;
+			DWORD dwReturn = MsgWaitForMultipleObjects(1, &hEvent, FALSE, dwTimeout, QS_ALLINPUT | QS_ALLPOSTMESSAGE);
+			if((dwReturn == WAIT_TIMEOUT) || (dwReturn == WAIT_FAILED) || (GetTickCount() > dwMaxTicks)) break;
+		}
+		CloseHandle(hEvent);
+	}
+	DISPATCH_MESSAGES;
+}
+
+/*eof*/
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.cpp b/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.cpp
new file mode 100644
index 0000000..c27fda3
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.cpp
@@ -0,0 +1,294 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#define WIN32_LEAN_AND_MEAN
+#include <Windows.h>
+
+#include <climits>
+
+#include "UnicodeSupport.h"
+#include "DetectOsVersion.h"
+
+//Forward declaration
+static bool verify_os_version(const DWORD major, const DWORD minor, const DWORD spack);
+static bool verify_os_buildNo(const DWORD buildNo);
+
+/*
+ * Determine the *real* Windows version
+ */
+bool get_real_os_version(unsigned int *major, unsigned int *minor, unsigned int *spack, bool *pbOverride)
+{
+	static const DWORD MAX_VALUE = 1024;
+
+	*major = *minor = *spack = 0;
+	*pbOverride = false;
+	
+	//Initialize local variables
+	OSVERSIONINFOEXW osvi;
+	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
+	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
+
+	//Try GetVersionEx() first
+	if(GetVersionExW((LPOSVERSIONINFOW)&osvi) == FALSE)
+	{
+		/*fprintf(stderr, "GetVersionEx() has failed, cannot detect Windows version!\n");*/
+		return false;
+	}
+
+	//Make sure we are running on NT
+	if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
+	{
+		*major = osvi.dwMajorVersion;
+		*minor = osvi.dwMinorVersion;
+		*spack = osvi.wServicePackMajor;
+	}
+	else
+	{
+		//Workaround for Windows 9x comaptibility mode
+		if(verify_os_version(4, 0, 0))
+		{
+			*pbOverride = true;
+			*major = 4;
+		}
+		else
+		{
+			//Really not running on Windows NT
+			return false;
+		}
+	}
+
+	//Determine the real *major* version first
+	for(DWORD nextMajor = (*major) + 1; nextMajor <= MAX_VALUE; nextMajor++)
+	{
+		if(verify_os_version(nextMajor, 0, 0))
+		{
+			*major = nextMajor;
+			*minor = *spack = 0;
+			*pbOverride = true;
+			continue;
+		}
+		break;
+	}
+
+	//Now also determine the real *minor* version
+	for(DWORD nextMinor = (*minor) + 1; nextMinor <= MAX_VALUE; nextMinor++)
+	{
+		if(verify_os_version((*major), nextMinor, 0))
+		{
+			*minor = nextMinor;
+			*spack = 0;
+			*pbOverride = true;
+			continue;
+		}
+		break;
+	}
+
+	//Finally determine the real *servicepack* version
+	for(DWORD nextSpack = (*spack) + 1; nextSpack <= MAX_VALUE; nextSpack++)
+	{
+		if(verify_os_version((*major), (*minor), nextSpack))
+		{
+			*spack = nextSpack;
+			*pbOverride = true;
+			continue;
+		}
+		break;
+	}
+
+	//Overflow detected?
+	if((*major >= MAX_VALUE) || (*minor >= MAX_VALUE) || (*spack >= MAX_VALUE))
+	{
+		return false;
+	}
+
+	return true;
+}
+
+/*
+ * Determine the *real* Windows build number
+ */
+bool get_real_os_buildNo(unsigned int *buildNo, bool *pbOverride)
+{
+	*buildNo = 0;
+	*pbOverride = false;
+	
+	//Initialize local variables
+	OSVERSIONINFOEXW osvi;
+	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
+	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
+
+	//Try GetVersionEx() first
+	if(GetVersionExW((LPOSVERSIONINFOW)&osvi) == FALSE)
+	{
+		/*fprintf(stderr, "GetVersionEx() has failed, cannot detect Windows version!\n");*/
+		return false;
+	}
+
+	//Make sure we are running on NT
+	if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
+	{
+		*buildNo = osvi.dwBuildNumber;
+	}
+	else
+	{
+		//Workaround for Windows 9x comaptibility mode
+		if(verify_os_version(4, 0, 0))
+		{
+			*pbOverride = true;
+			*buildNo = 1381;
+		}
+		else
+		{
+			//Really not running on Windows NT
+			return false;
+		}
+	}
+
+	//Determine the real build number
+	DWORD stepSize = 4096;
+	for(DWORD nextBuildNo = (*buildNo); nextBuildNo < INT_MAX; nextBuildNo = (*buildNo) + stepSize)
+	{
+		if(verify_os_buildNo(nextBuildNo))
+		{
+			*buildNo = nextBuildNo;
+			*pbOverride = true;
+			continue;
+		}
+		if(stepSize > 1)
+		{
+			stepSize = stepSize / 2;
+			continue;
+		}
+		break;
+	}
+
+	return true;
+}
+
+/*
+ * Get friendly OS version name
+ */
+const TCHAR *get_os_friendly_name(const DWORD major, const DWORD minor)
+{
+	static const size_t NAME_COUNT = 8;
+
+	static const struct
+	{
+		const DWORD major;
+		const DWORD minor;
+		const TCHAR name[6];
+	}
+	s_names[NAME_COUNT] =
+	{
+		{ 4, 0, T("winnt") },
+		{ 5, 0, T("win2k") },
+		{ 5, 1, T("winxp") },
+		{ 5, 2, T("xpx64") },
+		{ 6, 0, T("vista") },
+		{ 6, 1, T("win70") },
+		{ 6, 2, T("win80") },
+		{ 6, 3, T("win81") }
+	};
+
+	for(size_t i = 0; i < NAME_COUNT; i++)
+	{
+		if((s_names[i].major == major) && (s_names[i].minor == minor))
+		{
+			return &s_names[i].name[0];
+		}
+	}
+
+	return T("unknown");
+}
+
+/*
+ * Verify a specific Windows version
+ */
+static bool verify_os_version(const DWORD major, const DWORD minor, const DWORD spack)
+{
+	OSVERSIONINFOEXW osvi;
+	DWORDLONG dwlConditionMask = 0;
+
+	//Initialize the OSVERSIONINFOEX structure
+	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
+
+	//Fille the OSVERSIONINFOEX structure
+	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
+	osvi.dwMajorVersion      = major;
+	osvi.dwMinorVersion      = minor;
+	osvi.wServicePackMajor   = spack;
+	osvi.dwPlatformId        = VER_PLATFORM_WIN32_NT;
+
+	//Initialize the condition mask
+	VER_SET_CONDITION(dwlConditionMask, VER_MAJORVERSION,     VER_GREATER_EQUAL);
+	VER_SET_CONDITION(dwlConditionMask, VER_MINORVERSION,     VER_GREATER_EQUAL);
+	VER_SET_CONDITION(dwlConditionMask, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
+	VER_SET_CONDITION(dwlConditionMask, VER_PLATFORMID,       VER_EQUAL);
+
+	// Perform the test
+	const BOOL ret = VerifyVersionInfoW(&osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_PLATFORMID, dwlConditionMask);
+
+	//Error checking
+	if(!ret)
+	{
+		if(GetLastError() != ERROR_OLD_WIN_VERSION)
+		{
+			/*fprintf(stderr, "VerifyVersionInfo() system call has failed!\n");*/
+		}
+	}
+
+	return (ret != FALSE);
+}
+
+/*
+ * Verify a specific Windows build
+ */
+static bool verify_os_buildNo(const DWORD buildNo)
+{
+	OSVERSIONINFOEXW osvi;
+	DWORDLONG dwlConditionMask = 0;
+
+	//Initialize the OSVERSIONINFOEX structure
+	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
+
+	//Fille the OSVERSIONINFOEX structure
+	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
+	osvi.dwBuildNumber       = buildNo;
+
+	//Initialize the condition mask
+	VER_SET_CONDITION(dwlConditionMask, VER_BUILDNUMBER, VER_GREATER_EQUAL);
+
+	// Perform the test
+	const BOOL ret = VerifyVersionInfoW(&osvi, VER_BUILDNUMBER, dwlConditionMask);
+
+	//Error checking
+	if(!ret)
+	{
+		if(GetLastError() != ERROR_OLD_WIN_VERSION)
+		{
+			/*fprintf(stderr, "VerifyVersionInfo() system call has failed!\n");*/
+		}
+	}
+
+	return (ret != FALSE);
+}
+
+/*eof*/
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.h b/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.h
new file mode 100644
index 0000000..c0638be
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.h
@@ -0,0 +1,26 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+bool get_real_os_version(unsigned int *major, unsigned int *minor, unsigned int *spack, bool *pbOverride);
+bool get_real_os_buildNo(unsigned int *buildNo, bool *pbOverride);
+const TCHAR *get_os_friendly_name(const DWORD major, const DWORD minor);
+
+/*eof*/
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.cpp b/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.cpp
new file mode 100644
index 0000000..7c2a5ca
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.cpp
@@ -0,0 +1,258 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+// The following code was strongly inspired by the "InvokeShellVerb" plug-in
+// Copyright (c) 2011 Robert Strong
+// For details see: http://nsis.sourceforge.net/Invoke_Shell_Verb_plugin
+///////////////////////////////////////////////////////////////////////////////
+
+#include "InvokeShellVerb.h"
+#include "UnicodeSupport.h"
+#include "msvc_utils.h"
+
+#include <exdisp.h>
+#include <Shobjidl.h>
+#include <Shlwapi.h>
+#include <SHLGUID.h>
+
+///////////////////////////////////////////////////////////////////////////////
+
+#include "ComUtils.h"
+
+typedef struct
+{
+	const TCHAR *pcDirectoryName;
+	const TCHAR *pcFileName;
+	DWORD uiVerbId;
+	int returnValue;
+}
+threadParam_t;
+
+static const WCHAR *shell32 = L"shell32.dll";
+
+///////////////////////////////////////////////////////////////////////////////
+
+static unsigned __stdcall MyInvokeShellVerb_ThreadHelperProc(void* pArguments)
+{
+	HRESULT hr = CoInitialize(NULL);
+	if((hr == S_OK) || (hr == S_FALSE))
+	{
+		if(threadParam_t *params = (threadParam_t*) pArguments)
+		{
+			params->returnValue = MyInvokeShellVerb(params->pcDirectoryName, params->pcFileName, params->uiVerbId, false);
+		}
+		DispatchPendingMessages(1000); //Required to avoid potential deadlock or crash on CoUninitialize() !!!
+		CoUninitialize();
+	}
+	else
+	{
+		if(threadParam_t *params = (threadParam_t*) pArguments)
+		{
+			params->returnValue = -3;
+		}
+	}
+
+	return EXIT_SUCCESS;
+}
+
+static int MyInvokeShellVerb_ShellDispatchProc(const TCHAR *pcDirectoryName, const TCHAR *pcFileName, const DWORD uiVerbId)
+{
+	int iSuccess = 0;
+
+	bool bUnloadDll = false;
+	HMODULE hShellDll = GetModuleHandleW(shell32); 
+	if(hShellDll == NULL)
+	{
+		bUnloadDll = true;
+		hShellDll = LoadLibraryW(shell32);
+		if(hShellDll == NULL)
+		{
+			iSuccess = -3;
+			return iSuccess;
+		}
+	}
+
+	WCHAR pcVerbName[128];
+	memset(pcVerbName, 0, sizeof(WCHAR) * 128);
+	
+	if(LoadStringW(hShellDll, uiVerbId, pcVerbName, 128) < 1)
+	{
+		if(bUnloadDll)
+		{
+			FreeLibrary(hShellDll);
+			hShellDll = NULL;
+		}
+		iSuccess = -3;
+		return iSuccess;
+	}
+
+	if(bUnloadDll)
+	{
+		FreeLibrary(hShellDll);
+		hShellDll = NULL;
+	}
+
+	// ----------------------------------- //
+
+	IShellDispatch *pShellDispatch = NULL;
+	Folder *pFolder = NULL; FolderItem *pItem = NULL;
+	
+	HRESULT hr = CoCreateInstance(CLSID_Shell, NULL, CLSCTX_INPROC_SERVER, IID_IShellDispatch, (void**)&pShellDispatch);
+	if(FAILED(hr) || (pShellDispatch ==  NULL))
+	{
+		iSuccess = -3;
+		return iSuccess;
+	}
+
+	variant_t vaDirectory(pcDirectoryName);
+	hr = pShellDispatch->NameSpace(vaDirectory, &pFolder);
+	if(FAILED(hr) || (pFolder == NULL))
+	{
+		iSuccess = -3;
+		pShellDispatch->Release();
+		return iSuccess;
+	}
+
+	pShellDispatch->Release();
+	pShellDispatch = NULL;
+
+	variant_t vaFileName(pcFileName);
+	hr = pFolder->ParseName(vaFileName, &pItem);
+	if(FAILED(hr) || (pItem == NULL))
+	{
+		iSuccess = -3;
+		pFolder->Release();
+		return iSuccess;
+	}
+
+	pFolder->Release();
+	pFolder = NULL;
+
+	// ----------------------------------- //
+
+	long iVerbCount = 0;
+	FolderItemVerbs *pVerbs = NULL;
+	
+	hr = pItem->Verbs(&pVerbs);
+	if(FAILED(hr) || (pVerbs == NULL))
+	{
+		iSuccess = -3;
+		pItem->Release();
+		return iSuccess;
+	}
+
+	pItem->Release();
+	pItem = NULL;
+
+	hr = pVerbs->get_Count(&iVerbCount);
+	if(FAILED(hr) || (iVerbCount < 1))
+	{
+		iSuccess = -3;
+		pVerbs->Release();
+		return iSuccess;
+	}
+
+	DispatchPendingMessages(125);
+
+	// ----------------------------------- //
+
+	for(int i = 0; i < iVerbCount; i++)
+	{
+		variant_t vaVariantIndex(i);
+		FolderItemVerb *pCurrentVerb = NULL;
+		BSTR pcCurrentVerbName = NULL;
+
+		hr = pVerbs->Item(vaVariantIndex, &pCurrentVerb);
+		if (FAILED(hr) || (pCurrentVerb == NULL))
+		{
+			continue;
+		}
+		
+		hr = pCurrentVerb->get_Name(&pcCurrentVerbName);
+		if(FAILED(hr) || (pcCurrentVerbName == NULL))
+		{
+			pCurrentVerb->Release();
+			continue;
+		}
+
+		if(_wcsicmp(pcCurrentVerbName, pcVerbName) == 0)
+		{
+			hr = pCurrentVerb->DoIt();
+			if(!FAILED(hr))
+			{
+				iSuccess = 1;
+			}
+		}
+
+		SysFreeString(pcCurrentVerbName);
+		pCurrentVerb->Release();
+	}
+
+	pVerbs->Release();
+	pVerbs = NULL;
+
+	// ----------------------------------- //
+	
+	return iSuccess;
+}
+
+int MyInvokeShellVerb(const TCHAR *pcDirectoryName, const TCHAR *pcFileName, const DWORD uiVerbId, const bool threaded)
+{
+	int iSuccess = -1;
+
+	OSVERSIONINFO osVersion;
+	memset(&osVersion, 0, sizeof(OSVERSIONINFO));
+	osVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+	
+	if(GetVersionEx(&osVersion))
+	{
+		if((osVersion.dwPlatformId == VER_PLATFORM_WIN32_NT) && ((osVersion.dwMajorVersion > 6) || ((osVersion.dwMajorVersion == 6) && (osVersion.dwMinorVersion >= 1))))
+		{
+			if(threaded)
+			{
+				threadParam_t threadParams = {pcDirectoryName, pcFileName, uiVerbId, 0};
+				HANDLE hThread = (HANDLE) _beginthreadex(NULL, 0, MyInvokeShellVerb_ThreadHelperProc, &threadParams, 0, NULL);
+				if((hThread != NULL) && (hThread != INVALID_HANDLE_VALUE))
+				{
+					DWORD status = WaitForSingleObject(hThread, 30000);
+					if(status == WAIT_OBJECT_0)
+					{
+						iSuccess = threadParams.returnValue;
+					}
+					else if(status == WAIT_TIMEOUT)
+					{
+						iSuccess = -2;
+						TerminateThread(hThread, EXIT_FAILURE);
+					}
+					CloseHandle(hThread);
+					return iSuccess;
+				}
+			}
+			else
+			{
+				iSuccess = MyInvokeShellVerb_ShellDispatchProc(pcDirectoryName, pcFileName, uiVerbId);
+			}
+		}
+	}
+
+	return iSuccess;
+}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.h b/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.h
new file mode 100644
index 0000000..15f7292
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.h
@@ -0,0 +1,26 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WINDOWS_
+#include <Windows.h>
+#endif
+
+int MyInvokeShellVerb(const TCHAR *pcDirectoryName, const TCHAR *pcFileName, const DWORD uiVerbId, const bool threaded = true);
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.cpp b/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.cpp
new file mode 100644
index 0000000..0bc10ea
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.cpp
@@ -0,0 +1,152 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#include <Windows.h>
+#include "UnicodeSupport.h"
+
+static bool parse_parameter(const TCHAR *str, const size_t len, const TCHAR *arg_name, bool *first, TCHAR *dest_buff, size_t dest_size)
+{
+	if(*first)
+	{
+		*first = false;
+		return false;
+	}
+
+	bool bSuccess = false;
+	
+	if((len > 1) && (str[0] == T('/')))
+	{
+		TCHAR *buffer = new TCHAR[len];
+		memset(buffer, 0, sizeof(TCHAR) * len);
+		STRNCPY(buffer, &str[1], len-1);
+
+		TCHAR *offset = STRCHR(buffer, T('='));
+		if(offset != NULL)
+		{
+			offset[0] = T('\0');
+			if(STRICMP(buffer, arg_name) == 0)
+			{
+				bSuccess = true;
+				STRNCPY(dest_buff, &offset[1], dest_size);
+				dest_buff[dest_size-1] = T('\0');
+			}
+		}
+		else
+		{
+			if(STRICMP(buffer, arg_name) == 0)
+			{
+				bSuccess = true;
+				dest_buff[0] = T('\0');
+			}
+		}
+	
+		delete [] buffer;
+	}
+
+	return bSuccess;
+}
+
+bool parse_commandline(const TCHAR *arg_name, TCHAR *dest_buff, size_t dest_size)
+{
+	bool bSuccess = false;
+	TCHAR *cmd = GetCommandLine();
+	
+	if(cmd)
+	{
+		bool first = true;
+		size_t cmd_len = STRLEN(cmd);
+		size_t tok_len = 0;
+		TCHAR *tok_pos = NULL;
+		bool flag = false;
+		for(size_t i = 0; i < cmd_len; i++)
+		{
+			if(cmd[i] == T('\"'))
+			{
+				if(tok_pos != NULL)
+				{
+					if(parse_parameter(tok_pos, tok_len, arg_name, &first, dest_buff, dest_size))
+					{
+						bSuccess = true;
+					}
+				}
+				tok_len = 0;
+				tok_pos = NULL;
+				flag = !flag;
+				continue;
+			}
+			if((cmd[i] == L' ') && (flag == false))
+			{
+				if(tok_pos != NULL)
+				{
+					if(parse_parameter(tok_pos, tok_len, arg_name, &first, dest_buff, dest_size))
+					{
+						bSuccess = true;
+					}
+				}
+				tok_len = 0;
+				tok_pos = NULL;
+				continue;
+			}
+			if(tok_pos == NULL)
+			{
+				tok_pos = &cmd[i];
+			}
+			tok_len++;
+		}
+		if(tok_pos != NULL)
+		{
+			if(parse_parameter(tok_pos, tok_len, arg_name, &first, dest_buff, dest_size))
+			{
+				bSuccess = true;
+			}
+		}
+	}
+
+	return bSuccess;
+}
+
+const TCHAR *get_commandline_arguments(void)
+{
+	TCHAR *cmd = GetCommandLine();
+	static const TCHAR *error = T("error");
+
+	if(cmd)
+	{
+		size_t i = 0;
+		while(cmd[i] == T(' ')) i++;
+		if(cmd[i] == T('\"'))
+		{
+			i++;
+			while((cmd[i] != T('\0')) && (cmd[i] != T('\"'))) i++;
+			if(cmd[i] == T('\"')) i++;
+		}
+		else
+		{
+			while((cmd[i] != T('\0')) && (cmd[i] != T(' ')) && (cmd[i] != T('\"'))) i++;
+		}
+		while(cmd[i] == T(' ')) i++;
+		return &cmd[i];
+	}
+	else
+	{
+		return error;
+	}
+}
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.h b/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.h
new file mode 100644
index 0000000..006ef1d
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.h
@@ -0,0 +1,23 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+bool parse_commandline(const TCHAR *arg_name, TCHAR *dest_buff, size_t dest_size);
+const TCHAR *get_commandline_arguments(void);
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/RandUtils.h b/windows/plugins/stdutils/Contrib/StdUtils/RandUtils.h
new file mode 100644
index 0000000..7919e8d
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/RandUtils.h
@@ -0,0 +1,101 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+typedef BOOLEAN (__stdcall *secure_rand_t)(PVOID RandomBuffer, ULONG RandomBufferLength);
+
+static bool s_secure_rand_init = false;
+static secure_rand_t s_secure_rand = NULL;
+
+/*RAII mutext locker class*/
+class MutexLocker
+{
+public:
+	MutexLocker(LPCRITICAL_SECTION mutex)
+	:
+		m_mutex(mutex)
+	{
+		EnterCriticalSection(m_mutex);
+	}
+	~MutexLocker(void)
+	{
+		LeaveCriticalSection(m_mutex);
+	}
+private:
+	LPCRITICAL_SECTION const m_mutex;
+};
+
+/* Robert Jenkins' 96 bit Mix Function */
+static unsigned int mix_function(const unsigned int x, const unsigned int y, const unsigned int z)
+{
+	unsigned int a = x;
+	unsigned int b = y;
+	unsigned int c = z;
+	
+	a=a-b;  a=a-c;  a=a^(c >> 13);
+	b=b-c;  b=b-a;  b=b^(a << 8); 
+	c=c-a;  c=c-b;  c=c^(b >> 13);
+	a=a-b;  a=a-c;  a=a^(c >> 12);
+	b=b-c;  b=b-a;  b=b^(a << 16);
+	c=c-a;  c=c-b;  c=c^(b >> 5);
+	a=a-b;  a=a-c;  a=a^(c >> 3);
+	b=b-c;  b=b-a;  b=b^(a << 10);
+	c=c-a;  c=c-b;  c=c^(b >> 15);
+
+	return c;
+}
+
+static void init_rand(void)
+{
+	MutexLocker locker(&g_mutex);
+
+	if(!s_secure_rand_init)
+	{
+		srand(static_cast<unsigned int>(time(NULL)));
+
+		HMODULE advapi32 = GetModuleHandle(_T("Advapi32.dll"));
+		if(advapi32)
+		{
+			s_secure_rand = reinterpret_cast<secure_rand_t>(GetProcAddress(advapi32, "SystemFunction036"));
+		}
+
+		s_secure_rand_init = true;
+	}
+}
+
+static unsigned int next_rand(void)
+{
+	init_rand();
+
+	if(s_secure_rand)
+	{
+		unsigned int rnd;
+		if(s_secure_rand(&rnd, sizeof(unsigned int)))
+		{
+			return rnd;
+		}
+	}
+
+	unsigned int x = (RAND_MAX * static_cast<unsigned int>(rand())) + static_cast<unsigned int>(rand());
+	unsigned int y = (RAND_MAX * static_cast<unsigned int>(rand())) + static_cast<unsigned int>(rand());
+	unsigned int z = (RAND_MAX * static_cast<unsigned int>(rand())) + static_cast<unsigned int>(rand());
+	
+	return mix_function(x, y, z);
+}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.cpp b/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.cpp
new file mode 100644
index 0000000..b929ba3
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.cpp
@@ -0,0 +1,189 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#include "ShellExecAsUser.h"
+#include "UnicodeSupport.h"
+#include "msvc_utils.h"
+
+#include <exdisp.h>
+#include <Shobjidl.h>
+#include <Shlwapi.h>
+#include <SHLGUID.h>
+
+///////////////////////////////////////////////////////////////////////////////
+
+#include "ComUtils.h"
+
+typedef struct
+{
+	const TCHAR *pcOperation;
+	const TCHAR *pcFileName;
+	const TCHAR *pcParameters;
+	const HWND parentHwnd;
+	int returnValue;
+}
+threadParam_t;
+
+///////////////////////////////////////////////////////////////////////////////
+
+static unsigned __stdcall ShellExecAsUser_ThreadHelperProc(void* pArguments)
+{
+	HRESULT hr = CoInitialize(NULL);
+	if((hr == S_OK) || (hr == S_FALSE))
+	{
+		if(threadParam_t *params = (threadParam_t*) pArguments)
+		{
+			params->returnValue = ShellExecAsUser(params->pcOperation, params->pcFileName, params->pcParameters, params->parentHwnd, false);
+		}
+		DispatchPendingMessages(1000); //Required to avoid potential deadlock or crash on CoUninitialize() !!!
+		CoUninitialize();
+	}
+	else
+	{
+		if(threadParam_t *params = (threadParam_t*) pArguments)
+		{
+			params->returnValue = -1;
+		}
+	}
+
+	return EXIT_SUCCESS;
+}
+
+static int ShellExecAsUser_ShellDispatchProc(const TCHAR *pcOperation, const TCHAR *pcFileName, const TCHAR *pcParameters, const HWND parentHwnd)
+{
+	int iSuccess = -1;
+
+	IShellWindows *psw = NULL;
+	HRESULT hr = CoCreateInstance(CLSID_ShellWindows, NULL, CLSCTX_LOCAL_SERVER, IID_PPV_ARGS(&psw));
+	if(SUCCEEDED(hr))
+	{
+		HWND hwnd = 0;
+		IDispatch* pdisp = NULL;
+		variant_t vEmpty;
+		if(S_OK == psw->FindWindowSW(vEmpty, vEmpty, SWC_DESKTOP, (long*)&hwnd, SWFO_NEEDDISPATCH, &pdisp))
+		{
+			if((hwnd != NULL) && (hwnd != INVALID_HANDLE_VALUE))
+			{
+				IShellBrowser *psb;
+				hr = IUnknown_QueryService(pdisp, SID_STopLevelBrowser, IID_PPV_ARGS(&psb));
+				if(SUCCEEDED(hr))
+				{
+					IShellView *psv = NULL;
+					hr = psb->QueryActiveShellView(&psv);
+					if(SUCCEEDED(hr))
+					{
+						IDispatch *pdispBackground = NULL;
+						HRESULT hr = psv->GetItemObject(SVGIO_BACKGROUND, IID_PPV_ARGS(&pdispBackground));
+						if (SUCCEEDED(hr))
+						{
+							IShellFolderViewDual *psfvd = NULL;
+							hr = pdispBackground->QueryInterface(IID_PPV_ARGS(&psfvd));
+							if (SUCCEEDED(hr))
+							{
+								IDispatch *pdisp = NULL;
+								hr = psfvd->get_Application(&pdisp);
+								if (SUCCEEDED(hr))
+								{
+									IShellDispatch2 *psd;
+									hr = pdisp->QueryInterface(IID_PPV_ARGS(&psd));
+									if(SUCCEEDED(hr))
+									{
+										DispatchPendingMessages(125);
+										variant_t verb(pcOperation);
+										variant_t file(pcFileName);
+										variant_t para(pcParameters);
+										variant_t show(SW_SHOWNORMAL);
+										hr = psd->ShellExecute(file, para, vEmpty, verb, show);
+										if(SUCCEEDED(hr)) iSuccess = 1;
+										psd->Release();
+										psd = NULL;
+									}
+									pdisp->Release();
+									pdisp = NULL;
+								}
+							}
+							pdispBackground->Release();
+							pdispBackground = NULL;
+						}
+						psv->Release();
+						psv = NULL;
+					}
+					psb->Release();
+					psb = NULL;
+				}
+			}
+			pdisp->Release();
+			pdisp = NULL;
+		}
+		psw->Release();
+		psw = NULL;
+	}
+
+	return iSuccess;
+}
+
+int ShellExecAsUser(const TCHAR *pcOperation, const TCHAR *pcFileName, const TCHAR *pcParameters, const HWND parentHwnd, const bool threaded)
+{
+	int iSuccess = -1;
+
+	OSVERSIONINFO osVersion;
+	memset(&osVersion, 0, sizeof(OSVERSIONINFO));
+	osVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+	
+	if(GetVersionEx(&osVersion))
+	{
+		if((osVersion.dwPlatformId == VER_PLATFORM_WIN32_NT) && (osVersion.dwMajorVersion >= 6))
+		{
+			if(threaded)
+			{
+				threadParam_t threadParams = {pcOperation, pcFileName, pcParameters, parentHwnd, -1};
+				HANDLE hThread = (HANDLE) _beginthreadex(NULL, 0, ShellExecAsUser_ThreadHelperProc, &threadParams, 0, NULL);
+				if((hThread != NULL) && (hThread != INVALID_HANDLE_VALUE))
+				{
+					DWORD status = WaitForSingleObject(hThread, 30000);
+					if(status == WAIT_OBJECT_0)
+					{
+						iSuccess = threadParams.returnValue;
+					}
+					else if(status == WAIT_TIMEOUT)
+					{
+						iSuccess = -2;
+						TerminateThread(hThread, EXIT_FAILURE);
+					}
+					CloseHandle(hThread);
+					return iSuccess;
+				}
+			}
+			else
+			{
+				iSuccess = ShellExecAsUser_ShellDispatchProc(pcOperation, pcFileName, pcParameters, parentHwnd);
+			}
+		}
+	}
+	
+	if(iSuccess < 1)
+	{
+		HINSTANCE hInst = ShellExecute(parentHwnd, pcOperation, pcFileName, pcParameters, NULL, SW_SHOWNORMAL);
+		if(((int)hInst) > 32) iSuccess = 0;
+	}
+
+	return iSuccess;
+}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.h b/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.h
new file mode 100644
index 0000000..9cb0812
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.h
@@ -0,0 +1,26 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WINDOWS_
+#include <Windows.h>
+#endif
+
+int ShellExecAsUser(const TCHAR *pcOperation, const TCHAR *pcFileName, const TCHAR *pcParameters, const HWND hwnd, const bool threaded = true);
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.aps b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.aps
new file mode 100644
index 0000000..b1d4fd7
Binary files /dev/null and b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.aps differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.cpp b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.cpp
new file mode 100644
index 0000000..fc861c5
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.cpp
@@ -0,0 +1,921 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#include "StdUtils.h"
+#include "ShellExecAsUser.h"
+#include "ParameterParser.h"
+#include "InvokeShellVerb.h"
+#include "UnicodeSupport.h"
+#include "DetectOsVersion.h"
+
+HANDLE g_hInstance;
+bool g_bCallbackRegistred;
+bool g_bVerbose;
+
+RTL_CRITICAL_SECTION g_mutex;
+
+///////////////////////////////////////////////////////////////////////////////
+// DLL MAIN
+///////////////////////////////////////////////////////////////////////////////
+
+BOOL WINAPI DllMain(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
+{
+	if(ul_reason_for_call == DLL_PROCESS_ATTACH)
+	{
+		InitializeCriticalSection(&g_mutex);
+		g_hInstance = hInst;
+		g_bCallbackRegistred = false;
+		g_bVerbose = false;
+	}
+	else if(ul_reason_for_call == DLL_PROCESS_DETACH)
+	{
+		DeleteCriticalSection(&g_mutex);
+	}
+	return TRUE;
+}
+
+static UINT_PTR PluginCallback(enum NSPIM msg)
+{
+	switch(msg)
+	{
+	case NSPIM_UNLOAD:
+	case NSPIM_GUIUNLOAD:
+		break;
+	default:
+		MessageBoxA(NULL, "Unknown callback message. Take care!", "StdUtils", MB_ICONWARNING|MB_TOPMOST|MB_TASKMODAL);
+		break;
+	}
+
+	return 0;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// TIME UTILS
+///////////////////////////////////////////////////////////////////////////////
+
+static const unsigned __int64 FTIME_SECOND = 10000000ui64;
+static const unsigned __int64 FTIME_MINUTE = 60ui64 * FTIME_SECOND;
+static const unsigned __int64 FTIME_HOUR   = 60ui64 * FTIME_MINUTE;
+static const unsigned __int64 FTIME_DAY    = 24ui64 * FTIME_HOUR;
+
+static unsigned __int64 getFileTime(void)
+{
+	SYSTEMTIME systime;
+	GetSystemTime(&systime);
+	
+	FILETIME filetime;
+	if(!SystemTimeToFileTime(&systime, &filetime))
+	{
+		return 0;
+	}
+
+	ULARGE_INTEGER uli;
+	uli.LowPart = filetime.dwLowDateTime;
+	uli.HighPart = filetime.dwHighDateTime;
+
+	return uli.QuadPart;
+}
+
+NSISFUNC(Time)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	long t = time(NULL);
+	pushint(t);
+}
+
+NSISFUNC(GetMinutes)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	unsigned __int64 ftime = getFileTime() / FTIME_MINUTE;
+	pushint(static_cast<int>(ftime));
+}
+
+NSISFUNC(GetHours)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	unsigned __int64 ftime = getFileTime() / FTIME_HOUR;
+	pushint(static_cast<int>(ftime));
+}
+
+NSISFUNC(GetDays)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	unsigned __int64 ftime = getFileTime() / FTIME_DAY;
+	pushint(static_cast<int>(ftime));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// PRNG FUNCTIONS
+///////////////////////////////////////////////////////////////////////////////
+
+#include "RandUtils.h"
+
+NSISFUNC(Rand)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	unsigned int r = next_rand() % static_cast<unsigned int>(INT_MAX);
+	pushint(r);
+}
+
+NSISFUNC(RandMax)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	int m = abs(popint()) + 1;
+	unsigned int r = next_rand() % static_cast<unsigned int>(m);
+	pushint(r);
+}
+
+NSISFUNC(RandMinMax)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	int max = popint();
+	int min = popint();
+	
+	if(min > max)
+	{
+		MessageBoxW(NULL, L"RandMinMax() was called with bad arguments!", L"StdUtils::RandMinMax", MB_ICONERROR | MB_TASKMODAL);
+		pushint(0);
+	}
+
+	int diff = abs(max - min) + 1;
+	unsigned int r = next_rand() % static_cast<unsigned int>(diff);
+	pushint(r + min);
+}
+
+NSISFUNC(RandList)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	int count = popint();
+	int max = popint() + 1;
+	int done = 0;
+
+	if(count > max)
+	{
+		if(g_bVerbose)
+		{
+			MessageBoxW(NULL, L"RandList() was called with bad arguments!", L"StdUtils::RandList", MB_ICONERROR | MB_TASKMODAL);
+		}
+		pushstring(T("EOL"));
+		return;
+	}
+
+	bool *list = new bool[max];
+	for(int idx = 0; idx < max; idx++)
+	{
+		list[idx] = false;
+	}
+
+	while(done < count)
+	{
+		unsigned int rnd = next_rand() % static_cast<unsigned int>(max);
+		if(!list[rnd])
+		{
+			list[rnd] = true;
+			done++;
+		}
+	}
+
+	pushstring(T("EOL"));
+	for(int idx = max-1; idx >= 0; idx--)
+	{
+		if(list[idx])
+		{
+			pushint(idx);
+		}
+	}
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// STRING FUNCTIONS
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(FormatStr)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(fmt, g_stringsize);
+	MAKESTR(out, g_stringsize);
+
+	int v = popint();
+	popstringn(fmt, 0);
+
+	if(SNPRINTF(out, g_stringsize, fmt, v) < 0)
+	{
+		out[g_stringsize-1] = T('\0');
+	}
+
+	pushstring(out);
+	delete [] fmt;
+	delete [] out;
+}
+
+NSISFUNC(FormatStr2)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(fmt, g_stringsize);
+	MAKESTR(out, g_stringsize);
+
+	int v2 = popint();
+	int v1 = popint();
+	popstringn(fmt, 0);
+
+	if(SNPRINTF(out, g_stringsize, fmt, v1, v2) < 0)
+	{
+		out[g_stringsize-1] = T('\0');
+	}
+
+	pushstring(out);
+	delete [] fmt;
+	delete [] out;
+}
+
+NSISFUNC(FormatStr3)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(fmt, g_stringsize);
+	MAKESTR(out, g_stringsize);
+
+	int v3 = popint();
+	int v2 = popint();
+	int v1 = popint();
+	popstringn(fmt, 0);
+
+	if(SNPRINTF(out, g_stringsize, fmt, v1, v2, v3) < 0)
+	{
+		out[g_stringsize-1] = T('\0');
+	}
+
+	pushstring(out);
+	delete [] fmt;
+	delete [] out;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(ScanStr)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(in, g_stringsize);
+	MAKESTR(fmt, g_stringsize);
+
+	int def = popint();
+	popstringn(in, 0);
+	popstringn(fmt, 0);
+	int out = 0;
+
+	if(SSCANF(in, fmt, &out) != 1)
+	{
+		out = def;
+	}
+
+	pushint(out);
+	delete [] fmt;
+	delete [] in;
+}
+
+NSISFUNC(ScanStr2)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(in, g_stringsize);
+	MAKESTR(fmt, g_stringsize);
+
+	int def2 = popint();
+	int def1 = popint();
+	popstringn(in, 0);
+	popstringn(fmt, 0);
+	int out1 = 0;
+	int out2 = 0;
+	int result = 0;
+
+	result = SSCANF(in, fmt, &out1, &out2);
+	
+	if(result != 2)
+	{
+		if(result != 1)
+		{
+			out1 = def1;
+		}
+		out2 = def2;
+	}
+
+	pushint(out2);
+	pushint(out1);
+	delete [] fmt;
+	delete [] in;
+}
+
+NSISFUNC(ScanStr3)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(in, g_stringsize);
+	MAKESTR(fmt, g_stringsize);
+
+	int def3 = popint();
+	int def2 = popint();
+	int def1 = popint();
+	popstringn(in, 0);
+	popstringn(fmt, 0);
+	int out1 = 0;
+	int out2 = 0;
+	int out3 = 0;
+	int result = 0;
+
+	result = SSCANF(in, fmt, &out1, &out2, &out3);
+	
+	if(result != 3)
+	{
+		if(result == 0)
+		{
+			out1 = def1;
+			out2 = def2;
+		}
+		else if(result == 1)
+		{
+			out2 = def2;
+		}
+		out3 = def3;
+	}
+
+	pushint(out3);
+	pushint(out2);
+	pushint(out1);
+	delete [] fmt;
+	delete [] in;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(TrimStr)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(str, g_stringsize);
+	
+	popstringn(str, 0);
+	pushstring(STRTRIM(str));
+
+	delete [] str;
+}
+
+NSISFUNC(TrimStrLeft)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(str, g_stringsize);
+	
+	popstringn(str, 0);
+	pushstring(STRTRIM(str, true, false));
+
+	delete [] str;
+}
+
+NSISFUNC(TrimStrRight)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(str, g_stringsize);
+	
+	popstringn(str, 0);
+	pushstring(STRTRIM(str, false, true));
+
+	delete [] str;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(RevStr)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(str, g_stringsize);
+	
+	popstringn(str, 0);
+
+	if(str[0] != T('\0'))
+	{
+		size_t left = 0;
+		size_t right = STRLEN(str) - 1;
+		while(left < right)
+		{
+			TCHAR tmp = str[left];
+			str[left++] = str[right];
+			str[right--] = tmp;
+		}
+	}
+
+	pushstring(str);
+	delete [] str;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// SHELL FILE FUNCTIONS
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(SHFileMove)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(from, g_stringsize);
+	MAKESTR(dest, g_stringsize);
+
+	SHFILEOPSTRUCT fileop;
+	SecureZeroMemory(&fileop, sizeof(SHFILEOPSTRUCT));
+
+	HWND hwnd = (HWND) popint();
+	popstringn(dest, 0);
+	popstringn(from, 0);
+
+	fileop.hwnd = hwnd;
+	fileop.wFunc = FO_MOVE;
+	fileop.pFrom = from;
+	fileop.pTo = dest;
+	fileop.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR;
+	if(hwnd == 0) fileop.fFlags |= FOF_SILENT;
+
+	int result = SHFileOperation(&fileop);
+	pushstring((result == 0) ? (fileop.fAnyOperationsAborted ? T("ABORTED") : T("OK")) : T("ERROR"));
+
+	if((result != 0) && g_bVerbose)
+	{
+		char temp[1024];
+		_snprintf(temp, 1024, "Failed with error code: 0x%X", result);
+		temp[1023] = '\0';
+		MessageBoxA(NULL, temp, "StdUtils::SHFileMove", MB_TOPMOST|MB_ICONERROR);
+	}
+
+	delete [] from;
+	delete [] dest;
+}
+
+NSISFUNC(SHFileCopy)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(from, g_stringsize);
+	MAKESTR(dest, g_stringsize);
+
+	SHFILEOPSTRUCT fileop;
+	SecureZeroMemory(&fileop, sizeof(SHFILEOPSTRUCT));
+
+	HWND hwnd = (HWND) popint();
+	popstringn(dest, 0);
+	popstringn(from, 0);
+
+	fileop.hwnd = hwnd;
+	fileop.wFunc = FO_COPY;
+	fileop.pFrom = from;
+	fileop.pTo = dest;
+	fileop.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR;
+	if(hwnd == 0) fileop.fFlags |= FOF_SILENT;
+
+	int result = SHFileOperation(&fileop);
+	pushstring((result == 0) ? (fileop.fAnyOperationsAborted ? T("ABORTED") : T("OK")) : T("ERROR"));
+
+	if((result != 0) && g_bVerbose)
+	{
+		char temp[1024];
+		_snprintf(temp, 1024, "Failed with error code: 0x%X", result);
+		temp[1023] = '\0';
+		MessageBoxA(NULL, temp, "StdUtils::SHFileCopy", MB_TOPMOST|MB_ICONERROR);
+	}
+
+	delete [] from;
+	delete [] dest;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// EXEC SHELL AS USER
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(ExecShellAsUser)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(file, g_stringsize);
+	MAKESTR(verb, g_stringsize);
+	MAKESTR(args, g_stringsize);
+
+	popstringn(args, 0);
+	popstringn(verb, 0);
+	popstringn(file, 0);
+	
+	if(_tcslen(file) < 1) { delete [] file; file = NULL; }
+	if(_tcslen(verb) < 1) { delete [] verb; verb = NULL; }
+	if(_tcslen(args) < 1) { delete [] args; args = NULL; }
+
+	if(!(file))
+	{
+		pushstring(T("einval"));
+		if(file) delete [] file;
+		if(verb) delete [] verb;
+		if(args) delete [] args;
+		return;
+	}
+
+	int result = ShellExecAsUser(verb, file, args, hWndParent, true);
+	
+	switch(result)
+	{
+	case 1:
+		pushstring(T("ok"));
+		break;
+	case 0:
+		pushstring(T("fallback"));
+		break;
+	case -1:
+		pushstring(T("error"));
+		break;
+	case -2:
+		pushstring(T("timeout"));
+		break;
+	default:
+		pushstring(T("unknown"));
+		break;
+	}
+
+	if(file) delete [] file;
+	if(verb) delete [] verb;
+	if(args) delete [] args;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// INVOKE SHELL VERB
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(InvokeShellVerb)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(path, g_stringsize);
+	MAKESTR(file, g_stringsize);
+
+	int verb = popint();
+	popstringn(file, 0);
+	popstringn(path, 0);
+	
+	if(_tcslen(file) < 1) { delete [] file; file = NULL; }
+	if(_tcslen(path) < 1) { delete [] path; path = NULL; }
+
+	if(!(file && path))
+	{
+		pushstring(T("einval"));
+		if(file) delete [] file;
+		if(path) delete [] path;
+		return;
+	}
+
+	int result = MyInvokeShellVerb(path, file, verb, true);
+	
+	switch(result)
+	{
+	case 1:
+		pushstring(T("ok"));
+		break;
+	case 0:
+		pushstring(T("not_found"));
+		break;
+	case -1:
+		pushstring(T("unsupported"));
+		break;
+	case -2:
+		pushstring(T("timeout"));
+		break;
+	case -3:
+		pushstring(T("error"));
+		break;
+	default:
+		pushstring(T("unknown"));
+		break;
+	}
+
+	if(file) delete [] file;
+	if(path) delete [] path;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// EXEC SHELL WAIT
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(ExecShellWaitEx)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(file, g_stringsize);
+	MAKESTR(verb, g_stringsize);
+	MAKESTR(args, g_stringsize);
+	
+	popstringn(args, 0);
+	popstringn(verb, 0);
+	popstringn(file, 0);
+
+	SHELLEXECUTEINFO shInfo;
+	memset(&shInfo, 0, sizeof(SHELLEXECUTEINFO));
+	shInfo.cbSize = sizeof(SHELLEXECUTEINFO);
+	shInfo.hwnd = hWndParent;
+	shInfo.fMask = SEE_MASK_NOASYNC | SEE_MASK_NOCLOSEPROCESS;
+	shInfo.lpFile = file;
+	shInfo.lpVerb = (_tcslen(verb) > 0) ? verb : NULL;
+	shInfo.lpParameters = (_tcslen(args) > 0) ? args : NULL;
+	shInfo.nShow = SW_SHOWNORMAL;
+
+	if(ShellExecuteEx(&shInfo) != FALSE)
+	{
+		if((shInfo.hProcess != NULL) && (shInfo.hProcess != INVALID_HANDLE_VALUE))
+		{
+			TCHAR out[32];
+			SNPRINTF(out, 32, T("hProc:%08X"), shInfo.hProcess);
+			pushstring(out);
+			pushstring(_T("ok"));
+		}
+		else
+		{
+			pushint(0);
+			pushstring(T("no_wait"));
+		}
+	}
+	else
+	{
+		pushint(GetLastError());
+		pushstring(T("error"));
+	}
+
+	delete [] file;
+	delete [] verb;
+	delete [] args;
+}
+
+NSISFUNC(WaitForProcEx)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(temp, g_stringsize);
+	popstringn(temp, 0);
+
+	HANDLE hProc = NULL;
+	int result = SSCANF(temp, T("hProc:%X"), &hProc);
+
+	DWORD dwExitCode = 0;
+	bool success = false;
+
+	if(result == 1)
+	{
+		if(hProc != NULL)
+		{
+			if(WaitForSingleObject(hProc, INFINITE) == WAIT_OBJECT_0)
+			{
+				success = (GetExitCodeProcess(hProc, &dwExitCode) != FALSE);
+			}
+			CloseHandle(hProc);
+		}
+	}
+
+	if(success)
+	{
+		pushint(dwExitCode);
+	}
+	else
+	{
+		pushstring(T("error"));
+	}
+
+	delete [] temp;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// GET COMMAND-LINE PARAMS
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(GetParameter)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	MAKESTR(aval, g_stringsize);
+	MAKESTR(name, g_stringsize);
+
+	popstringn(aval, 0);
+	popstringn(name, 0);
+	parse_commandline(name, aval, g_stringsize);
+	pushstring(aval);
+
+	delete [] aval;
+	delete [] name;
+}
+
+NSISFUNC(GetAllParameters)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	int truncate = popint();
+	const TCHAR *cmd = get_commandline_arguments();
+
+	if((STRLEN(cmd) < g_stringsize) || truncate)
+	{
+		pushstring(cmd);
+	}
+	else
+	{
+		pushstring(T("too_long"));
+	}
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// GET REAL OS VERSION
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(GetRealOsVersion)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+
+	bool flag;
+	unsigned int version[3];
+
+	if(get_real_os_version(&version[0], &version[1], &version[2], &flag))
+	{
+		pushint(version[2]);
+		pushint(version[1]);
+		pushint(version[0]);
+	}
+	else
+	{
+		pushstring(T("error"));
+		pushstring(T("error"));
+		pushstring(T("error"));
+	}
+}
+
+NSISFUNC(GetRealOsBuildNo)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+
+	bool flag;
+	unsigned int buildNumber;
+
+	if(get_real_os_buildNo(&buildNumber, &flag))
+	{
+		pushint(buildNumber);
+	}
+	else
+	{
+		pushstring(T("error"));
+	}
+}
+
+NSISFUNC(VerifyRealOsVersion)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+
+	bool flag;
+	unsigned int expectedVersion[3];
+	unsigned int detectedVersion[3];
+
+	expectedVersion[2] = abs(popint());
+	expectedVersion[1] = abs(popint());
+	expectedVersion[0] = abs(popint());
+
+	if(!get_real_os_version(&detectedVersion[0], &detectedVersion[1], &detectedVersion[2], &flag))
+	{
+		pushstring(T("error"));
+		return;
+	}
+
+	//Majaor version
+	for(size_t i = 0; i < 3; i++)
+	{
+		if(detectedVersion[i] > expectedVersion[i])
+		{
+			pushstring(T("newer"));
+			return;
+		}
+		if(detectedVersion[i] < expectedVersion[i])
+		{
+			pushstring(T("older"));
+			return;
+		}
+	}
+
+	pushstring(T("ok"));
+}
+
+NSISFUNC(VerifyRealOsBuildNo)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+
+	bool flag;
+	unsigned int expectedBuildNo;
+	unsigned int detectedBuildNo;
+
+	expectedBuildNo = abs(popint());
+	
+	if(!get_real_os_buildNo(&detectedBuildNo, &flag))
+	{
+		pushstring(T("error"));
+		return;
+	}
+
+	if(detectedBuildNo > expectedBuildNo)
+	{
+		pushstring(T("newer"));
+		return;
+	}
+	if(detectedBuildNo < expectedBuildNo)
+	{
+		pushstring(T("older"));
+		return;
+	}
+
+	pushstring(T("ok"));
+}
+
+NSISFUNC(GetRealOsName)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+
+	bool flag;
+	unsigned int detectedVersion[3];
+
+	if(!get_real_os_version(&detectedVersion[0], &detectedVersion[1], &detectedVersion[2], &flag))
+	{
+		pushstring(T("error"));
+		return;
+	}
+
+	pushstring(get_os_friendly_name(detectedVersion[0], detectedVersion[1]));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// FOR DEBUGGING
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(EnableVerboseMode)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	g_bVerbose = true;
+}
+
+NSISFUNC(DisableVerboseMode)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	g_bVerbose = false;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+#include "resource.h"
+
+static const TCHAR *dllTimeStamp = T(__TIMESTAMP__);
+static const TCHAR *dllVerString = T(DLL_VERSION_STRING);
+
+NSISFUNC(GetLibVersion)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+	pushstring(dllTimeStamp);
+	pushstring(dllVerString);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+NSISFUNC(Dummy)
+{
+	EXDLL_INIT();
+	REGSITER_CALLBACK(g_hInstance);
+}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.h b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.h
new file mode 100644
index 0000000..e7da416
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.h
@@ -0,0 +1,43 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __STDUTILS_H__
+#define __STDUTILS_H__
+
+#define WIN32_LEAN_AND_MEAN
+#include <Windows.h>
+#include <Shellapi.h>
+#include "nsis\pluginapi.h"
+#include "msvc_utils.h"
+
+#define NSISFUNC(name) extern "C" void __declspec(dllexport) name(HWND hWndParent, int string_size, TCHAR* variables, stack_t** stacktop, extra_parameters* extra)
+
+#define MAKESTR(VAR,LEN) \
+	TCHAR *VAR = new TCHAR[LEN]; \
+	memset(VAR, 0, sizeof(TCHAR) * LEN)
+
+#define REGSITER_CALLBACK(INST) do \
+{ \
+	if(!g_bCallbackRegistred) g_bCallbackRegistred = (extra->RegisterPluginCallback((HMODULE)INST, PluginCallback) == 0); \
+} \
+while(0)
+
+#endif //__STDUTILS_H__
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.rc b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.rc
new file mode 100644
index 0000000..ece4a0d
Binary files /dev/null and b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.rc differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.sln b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.sln
new file mode 100644
index 0000000..ba8c786
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.sln
@@ -0,0 +1,22 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StdUtils", "StdUtils.vcxproj", "{970880F8-9482-4AF1-995D-5E0E7207B0A5}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release_ANSI|Win32 = Release_ANSI|Win32
+		Release_Unicode|Win32 = Release_Unicode|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Debug|Win32.ActiveCfg = Debug|Win32
+		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Debug|Win32.Build.0 = Debug|Win32
+		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_ANSI|Win32.ActiveCfg = Release_ANSI|Win32
+		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_ANSI|Win32.Build.0 = Release_ANSI|Win32
+		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_Unicode|Win32.ActiveCfg = Release_Unicode|Win32
+		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_Unicode|Win32.Build.0 = Release_Unicode|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj
new file mode 100644
index 0000000..56cfc98
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_Unicode|Win32">
+      <Configuration>Release_Unicode</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_ANSI|Win32">
+      <Configuration>Release_ANSI</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{970880F8-9482-4AF1-995D-5E0E7207B0A5}</ProjectGuid>
+    <ProjectName>StdUtils</ProjectName>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>Windows7.1SDK</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
+    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">false</GenerateManifest>
+    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">false</GenerateManifest>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)obj\$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">$(SolutionDir)obj\$(Configuration)\</IntDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">$(SolutionDir)obj\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\..\Plugins\$(Configuration)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">$(SolutionDir)..\..\Plugins\$(Configuration)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">$(SolutionDir)..\..\Plugins\$(Configuration)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <AdditionalIncludeDirectories>$(SolutionDir)\include\common;$(SolutionDir)\include\unicode;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>nsis_pluginapi_unicode.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+      <IgnoreSpecificDefaultLibraries>
+      </IgnoreSpecificDefaultLibraries>
+      <ImportLibrary>$(IntDir)\$(ProjectName).lib</ImportLibrary>
+      <AdditionalLibraryDirectories>$(SolutionDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Full</Optimization>
+      <AdditionalIncludeDirectories>$(SolutionDir)\include\common;$(SolutionDir)\include\unicode;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <ExceptionHandling>false</ExceptionHandling>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>nsis_pluginapi_unicode.lib;msvcrt_vc6.lib;Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+      <EntryPointSymbol>DllMain</EntryPointSymbol>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <ImportLibrary>$(IntDir)\$(ProjectName).lib</ImportLibrary>
+      <AdditionalLibraryDirectories>$(SolutionDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <MinimumRequiredVersion>5.0</MinimumRequiredVersion>
+      <SubSystem>Console</SubSystem>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>Full</Optimization>
+      <AdditionalIncludeDirectories>$(SolutionDir)\include\common;$(SolutionDir)\include\ansi;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <ExceptionHandling>false</ExceptionHandling>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>nsis_pluginapi_ansi.lib;msvcrt_vc6.lib;Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+      <EntryPointSymbol>DllMain</EntryPointSymbol>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <ImportLibrary>$(IntDir)\$(ProjectName).lib</ImportLibrary>
+      <AdditionalLibraryDirectories>$(SolutionDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <SubSystem>Console</SubSystem>
+      <MinimumRequiredVersion>5.0</MinimumRequiredVersion>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="DetectOsVersion.cpp" />
+    <ClCompile Include="InvokeShellVerb.cpp" />
+    <ClCompile Include="ParameterParser.cpp" />
+    <ClCompile Include="ShellExecAsUser.cpp" />
+    <ClCompile Include="StdUtils.cpp">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+    </ClCompile>
+    <ClCompile Include="UnicodeSupport.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="DetectOsVersion.h" />
+    <ClInclude Include="InvokeShellVerb.h" />
+    <ClInclude Include="ParameterParser.h" />
+    <ClInclude Include="RandUtils.h" />
+    <ClInclude Include="ShellExecAsUser.h" />
+    <ClInclude Include="StdUtils.h" />
+    <ClInclude Include="resource.h" />
+    <ClInclude Include="UnicodeSupport.h" />
+    <ClInclude Include="ComUtils.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="StdUtils.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.filters b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.filters
new file mode 100644
index 0000000..671dc5e
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.filters
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="DetectOsVersion.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="InvokeShellVerb.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="ParameterParser.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="ShellExecAsUser.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="UnicodeSupport.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="StdUtils.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="UnicodeSupport.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="ShellExecAsUser.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="resource.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="RandUtils.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="ParameterParser.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="InvokeShellVerb.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="DetectOsVersion.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="ComUtils.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="StdUtils.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="StdUtils.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{7c93e62c-ed44-4c3a-a941-8ed82d3bea7b}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{3f8a68cf-c183-4be6-80f4-6fe86b2e15f0}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.user b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.user
new file mode 100644
index 0000000..cfbfe9d
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.user
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerCommand>C:\Program Files (x86)\NSIS\Projects\Aero\Examples\Aero\TestModernUI.exe</LocalDebuggerCommand>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.cpp b/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.cpp
new file mode 100644
index 0000000..92d1b9d
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.cpp
@@ -0,0 +1,96 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#include <Windows.h>
+
+wchar_t *ansi_to_utf16(const char *input)
+{
+	wchar_t *Buffer;
+	int BuffSize, Result;
+	BuffSize = MultiByteToWideChar(CP_ACP, 0, input, -1, NULL, 0);
+	if(BuffSize > 0)
+	{
+		Buffer = new wchar_t[BuffSize];
+		Result = MultiByteToWideChar(CP_UTF8, 0, input, -1, Buffer, BuffSize);
+		return ((Result > 0) && (Result <= BuffSize)) ? Buffer : NULL;
+	}
+	return NULL;
+}
+
+wchar_t *utf8_to_utf16(const char *input)
+{
+	wchar_t *Buffer;
+	int BuffSize, Result;
+	BuffSize = MultiByteToWideChar(CP_UTF8, 0, input, -1, NULL, 0);
+	if(BuffSize > 0)
+	{
+		Buffer = new wchar_t[BuffSize];
+		Result = MultiByteToWideChar(CP_UTF8, 0, input, -1, Buffer, BuffSize);
+		return ((Result > 0) && (Result <= BuffSize)) ? Buffer : NULL;
+	}
+	return NULL;
+}
+
+inline static bool is_whitespace(const char c)
+{
+	return (c == ' ') || (c == '\t') || (c == '\n') || (c == '\r');
+}
+
+inline static bool is_whitespace(const wchar_t c)
+{
+	return (c == L' ') || (c == L'\t') || (c == L'\n') || (c == L'\r');
+}
+
+char *strtrim(char* input, bool trim_left, bool trim_right)
+{
+	size_t left = 0;
+
+	if(trim_right && (input[0] != '\0'))
+	{
+		size_t right = strlen(input) - 1;
+		while((right > 0) && is_whitespace(input[right])) input[right--] = '\0';
+		if(is_whitespace(input[right])) input[right] = '\0';
+	}
+	if(trim_left && (input[0] != '\0'))
+	{
+		while(is_whitespace(input[left])) left++;
+	}
+
+	return &input[left];
+}
+
+wchar_t *wcstrim(wchar_t* input, bool trim_left, bool trim_right)
+{
+	size_t left = 0;
+
+	if(trim_right && (input[0] != L'\0'))
+	{
+		size_t right = wcslen(input) - 1;
+		while((right > 0) && is_whitespace(input[right])) input[right--] = L'\0';
+		if(is_whitespace(input[right])) input[right] = L'\0';
+	}
+	if(trim_left && (input[0] != L'\0'))
+	{
+		while(is_whitespace(input[left])) left++;
+	}
+
+	return &input[left];
+}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.h b/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.h
new file mode 100644
index 0000000..4893078
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.h
@@ -0,0 +1,47 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+wchar_t *ansi_to_utf16(const char *input);
+wchar_t *utf8_to_utf16(const char *input);
+
+char *strtrim(char* input, bool trim_left = true, bool trim_right = true);
+wchar_t *wcstrim(wchar_t* input, bool trim_left = true, bool trim_right = true);
+
+#ifdef UNICODE
+	#define STRLEN wcslen	
+	#define STRICMP _wcsicmp
+	#define STRNCPY wcsncpy
+	#define STRCHR wcschr
+	#define STRTRIM wcstrim
+	#define SNPRINTF _snwprintf
+	#define SSCANF swscanf
+	#define __T__(X) L##X
+	#define T(X) __T__(X)
+#else
+	#define STRLEN strlen
+	#define STRICMP _stricmp
+	#define STRNCPY strncpy
+	#define STRCHR strchr
+	#define STRTRIM strtrim
+	#define SNPRINTF _snprintf
+	#define SSCANF sscanf
+	#define T(X) X
+#endif
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/api.h b/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/api.h
new file mode 100644
index 0000000..7418b87
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/api.h
@@ -0,0 +1,83 @@
+/*
+ * apih
+ * 
+ * This file is a part of NSIS.
+ * 
+ * Copyright (C) 1999-2009 Nullsoft and Contributors
+ * 
+ * Licensed under the zlib/libpng license (the "License");
+ * you may not use this file except in compliance with the License.
+ * 
+ * Licence details can be found in the file COPYING.
+ * 
+ * This software is provided 'as-is', without any express or implied
+ * warranty.
+ */
+
+#ifndef _NSIS_EXEHEAD_API_H_
+#define _NSIS_EXEHEAD_API_H_
+
+// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
+// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
+// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
+
+#define NSISPIAPIVER_1_0 0x00010000
+#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
+
+// NSIS Plug-In Callback Messages
+enum NSPIM 
+{
+	NSPIM_UNLOAD,    // This is the last message a plugin gets, do final cleanup
+	NSPIM_GUIUNLOAD, // Called after .onGUIEnd
+};
+
+// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
+// Return NULL for unknown messages
+// Should always be __cdecl for future expansion possibilities
+typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
+
+// extra_parameters data structures containing other interesting stuff
+// but the stack, variables and HWND passed on to plug-ins.
+typedef struct
+{
+  int autoclose;
+  int all_user_var;
+  int exec_error;
+  int abort;
+  int exec_reboot; // NSIS_SUPPORT_REBOOT
+  int reboot_called; // NSIS_SUPPORT_REBOOT
+  int XXX_cur_insttype; // depreacted
+  int plugin_api_version; // see NSISPIAPIVER_CURR
+                          // used to be XXX_insttype_changed
+  int silent; // NSIS_CONFIG_SILENT_SUPPORT
+  int instdir_error;
+  int rtl;
+  int errlvl;
+  int alter_reg_view;
+  int status_update;
+} exec_flags_t;
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+typedef struct {
+  exec_flags_t *exec_flags;
+  int (NSISCALL *ExecuteCodeSegment)(int, HWND);
+  void (NSISCALL *validate_filename)(char *);
+  int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
+} extra_parameters;
+
+// Definitions for page showing plug-ins
+// See Ui.c to understand better how they're used
+
+// sent to the outer window to tell it to go to the next inner window
+#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
+
+// custom pages should send this message to let NSIS know they're ready
+#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
+
+// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
+#define NOTIFY_BYE_BYE 'x'
+
+#endif /* _PLUGIN_H_ */
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/pluginapi.h b/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/pluginapi.h
new file mode 100644
index 0000000..d288026
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/pluginapi.h
@@ -0,0 +1,77 @@
+#ifndef ___NSIS_PLUGIN__H___
+#define ___NSIS_PLUGIN__H___
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "api.h"
+
+#undef _UNICODE
+#include "..\..\unicode\nsis\nsis_tchar.h"
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+#define EXDLL_INIT()           {  \
+        g_stringsize=string_size; \
+        g_stacktop=stacktop;      \
+        g_variables=variables; }
+
+typedef struct _stack_t {
+  struct _stack_t *next;
+  char text[1]; // this should be the length of string_size
+} stack_t;
+
+enum
+{
+INST_0,         // $0
+INST_1,         // $1
+INST_2,         // $2
+INST_3,         // $3
+INST_4,         // $4
+INST_5,         // $5
+INST_6,         // $6
+INST_7,         // $7
+INST_8,         // $8
+INST_9,         // $9
+INST_R0,        // $R0
+INST_R1,        // $R1
+INST_R2,        // $R2
+INST_R3,        // $R3
+INST_R4,        // $R4
+INST_R5,        // $R5
+INST_R6,        // $R6
+INST_R7,        // $R7
+INST_R8,        // $R8
+INST_R9,        // $R9
+INST_CMDLINE,   // $CMDLINE
+INST_INSTDIR,   // $INSTDIR
+INST_OUTDIR,    // $OUTDIR
+INST_EXEDIR,    // $EXEDIR
+INST_LANG,      // $LANGUAGE
+__INST_LAST
+};
+
+extern unsigned int g_stringsize;
+extern stack_t **g_stacktop;
+extern char *g_variables;
+
+int NSISCALL popstring(char *str); // 0 on success, 1 on empty stack
+int NSISCALL popstringn(char *str, int maxlen); // with length limit, pass 0 for g_stringsize
+int NSISCALL popint(); // pops an integer
+int NSISCALL popint_or(); // with support for or'ing (2|4|8)
+int NSISCALL myatoi(const char *s); // converts a string to an integer
+unsigned NSISCALL myatou(const char *s); // converts a string to an unsigned integer, decimal only
+int NSISCALL myatoi_or(const char *s); // with support for or'ing (2|4|8)
+void NSISCALL pushstring(const char *str);
+void NSISCALL pushint(int value);
+char * NSISCALL getuservariable(const int varnum);
+void NSISCALL setuservariable(const int varnum, const char *var);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif//!___NSIS_PLUGIN__H___
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/common/msvc_utils.h b/windows/plugins/stdutils/Contrib/StdUtils/include/common/msvc_utils.h
new file mode 100644
index 0000000..64f04cb
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/include/common/msvc_utils.h
@@ -0,0 +1,55 @@
+///////////////////////////////////////////////////////////////////////////////
+// StdUtils plug-in for NSIS
+// Copyright (C) 2004-2013 LoRd_MuldeR <MuldeR2 at GMX.de>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// http://www.gnu.org/licenses/lgpl-2.1.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef __MSVC_FUNC_H__
+#define __MSVC_FUNC_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RAND_MAX 0x7fff
+#define INT_MAX 2147483647
+
+long time(long *time);
+int rand(void);
+void srand(unsigned int _Seed);
+int abs(_In_ int _X);
+
+int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format, ...);
+int _snprintf(char *buffer, size_t count, const char *format, ...);
+int sscanf(const char *input, const char * format, ...);
+int swscanf(const wchar_t *input, const wchar_t * format, ...);
+
+uintptr_t _beginthreadex( 
+	void *security,
+	unsigned stack_size,
+	unsigned (__stdcall *start_address)(void*),
+	void *arglist,
+	unsigned initflag,
+	unsigned *thrdaddr
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //__MSVC_FUNC_H__
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/api.h b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/api.h
new file mode 100644
index 0000000..bab9522
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/api.h
@@ -0,0 +1,83 @@
+/*
+ * apih
+ * 
+ * This file is a part of NSIS.
+ * 
+ * Copyright (C) 1999-2009 Nullsoft and Contributors
+ * 
+ * Licensed under the zlib/libpng license (the "License");
+ * you may not use this file except in compliance with the License.
+ * 
+ * Licence details can be found in the file COPYING.
+ * 
+ * This software is provided 'as-is', without any express or implied
+ * warranty.
+ */
+
+#ifndef _NSIS_EXEHEAD_API_H_
+#define _NSIS_EXEHEAD_API_H_
+
+// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
+// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
+// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
+
+#define NSISPIAPIVER_1_0 0x00010000
+#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
+
+// NSIS Plug-In Callback Messages
+enum NSPIM 
+{
+	NSPIM_UNLOAD,    // This is the last message a plugin gets, do final cleanup
+	NSPIM_GUIUNLOAD, // Called after .onGUIEnd
+};
+
+// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
+// Return NULL for unknown messages
+// Should always be __cdecl for future expansion possibilities
+typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
+
+// extra_parameters data structures containing other interesting stuff
+// but the stack, variables and HWND passed on to plug-ins.
+typedef struct
+{
+  int autoclose;
+  int all_user_var;
+  int exec_error;
+  int abort;
+  int exec_reboot; // NSIS_SUPPORT_REBOOT
+  int reboot_called; // NSIS_SUPPORT_REBOOT
+  int XXX_cur_insttype; // depreacted
+  int plugin_api_version; // see NSISPIAPIVER_CURR
+                          // used to be XXX_insttype_changed
+  int silent; // NSIS_CONFIG_SILENT_SUPPORT
+  int instdir_error;
+  int rtl;
+  int errlvl;
+  int alter_reg_view;
+  int status_update;
+} exec_flags_t;
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+typedef struct {
+  exec_flags_t *exec_flags;
+  int (NSISCALL *ExecuteCodeSegment)(int, HWND);
+  void (NSISCALL *validate_filename)(TCHAR *);
+  int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
+} extra_parameters;
+
+// Definitions for page showing plug-ins
+// See Ui.c to understand better how they're used
+
+// sent to the outer window to tell it to go to the next inner window
+#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
+
+// custom pages should send this message to let NSIS know they're ready
+#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
+
+// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
+#define NOTIFY_BYE_BYE 'x'
+
+#endif /* _PLUGIN_H_ */
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/nsis_tchar.h b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/nsis_tchar.h
new file mode 100644
index 0000000..9532d4e
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/nsis_tchar.h
@@ -0,0 +1,214 @@
+/*
+ * nsis_tchar.h
+ * 
+ * This file is a part of NSIS.
+ * 
+ * Copyright (C) 1999-2007 Nullsoft and Contributors
+ * 
+ * This software is provided 'as-is', without any express or implied
+ * warranty.
+ *
+ * For Unicode support by Jim Park -- 08/30/2007
+ */
+
+// Jim Park: Only those we use are listed here.
+
+#pragma once
+
+#ifdef _UNICODE
+
+#ifndef _T
+#define __T(x)   L ## x
+#define _T(x)    __T(x)
+#define _TEXT(x) __T(x)
+#endif
+typedef wchar_t TCHAR;
+typedef wchar_t _TUCHAR;
+
+// program
+#define _tmain      wmain
+#define _tWinMain   wWinMain
+#define _tenviron   _wenviron
+#define __targv     __wargv
+
+// printfs
+#define _ftprintf   fwprintf
+#define _sntprintf  _snwprintf
+#define _stprintf   _swprintf
+#define _tprintf    wprintf
+#define _vftprintf  vfwprintf
+#define _vsntprintf _vsnwprintf
+#define _vstprintf  _vswprintf
+
+// scanfs
+#define _tscanf     wscanf
+#define _stscanf    swscanf
+
+// string manipulations
+#define _tcscat     wcscat
+#define _tcschr     wcschr
+#define _tcsclen    wcslen
+#define _tcscpy     wcscpy
+#define _tcsdup     _wcsdup
+#define _tcslen     wcslen
+#define _tcsnccpy   wcsncpy
+#define _tcsncpy    wcsncpy
+#define _tcsrchr    wcsrchr
+#define _tcsstr     wcsstr
+#define _tcstok     wcstok
+
+// string comparisons
+#define _tcscmp     wcscmp
+#define _tcsicmp    _wcsicmp
+#define _tcsncicmp  _wcsnicmp
+#define _tcsncmp    wcsncmp
+#define _tcsnicmp   _wcsnicmp
+
+// upper / lower
+#define _tcslwr     _wcslwr
+#define _tcsupr     _wcsupr
+#define _totlower   towlower
+#define _totupper   towupper
+
+// conversions to numbers
+#define _tcstoi64   _wcstoi64
+#define _tcstol     wcstol
+#define _tcstoul    wcstoul
+#define _tstof      _wtof
+#define _tstoi      _wtoi
+#define _tstoi64    _wtoi64
+#define _ttoi       _wtoi
+#define _ttoi64     _wtoi64
+#define _ttol       _wtol
+
+// conversion from numbers to strings
+#define _itot       _itow
+#define _ltot       _ltow
+#define _i64tot     _i64tow
+#define _ui64tot    _ui64tow
+
+// file manipulations
+#define _tfopen     _wfopen
+#define _topen      _wopen
+#define _tremove    _wremove
+#define _tunlink    _wunlink
+
+// reading and writing to i/o
+#define _fgettc     fgetwc
+#define _fgetts     fgetws
+#define _fputts     fputws
+#define _gettchar   getwchar
+
+// directory
+#define _tchdir     _wchdir
+
+// environment
+#define _tgetenv    _wgetenv
+#define _tsystem    _wsystem
+
+// time
+#define _tcsftime   wcsftime
+
+#else // ANSI
+
+#ifndef _T
+#define _T(x)    x
+#define _TEXT(x) x
+#endif
+typedef char            TCHAR;
+typedef unsigned char   _TUCHAR;
+
+// program
+#define _tmain      main
+#define _tWinMain   WinMain
+#define _tenviron   environ
+#define __targv     __argv
+
+// printfs
+#define _ftprintf   fprintf
+#define _sntprintf  _snprintf
+#define _stprintf   sprintf
+#define _tprintf    printf
+#define _vftprintf  vfprintf
+#define _vsntprintf _vsnprintf
+#define _vstprintf  vsprintf
+
+// scanfs
+#define _tscanf     scanf
+#define _stscanf    sscanf
+
+// string manipulations
+#define _tcscat     strcat
+#define _tcschr     strchr
+#define _tcsclen    strlen
+#define _tcscnlen   strnlen
+#define _tcscpy     strcpy
+#define _tcsdup     _strdup
+#define _tcslen     strlen
+#define _tcsnccpy   strncpy
+#define _tcsrchr    strrchr
+#define _tcsstr     strstr
+#define _tcstok     strtok
+
+// string comparisons
+#define _tcscmp     strcmp
+#define _tcsicmp    _stricmp
+#define _tcsncmp    strncmp
+#define _tcsncicmp  _strnicmp
+#define _tcsnicmp   _strnicmp
+
+// upper / lower
+#define _tcslwr     _strlwr
+#define _tcsupr     _strupr
+
+#define _totupper   toupper
+#define _totlower   tolower
+
+// conversions to numbers
+#define _tcstol     strtol
+#define _tcstoul    strtoul
+#define _tstof      atof
+#define _tstoi      atoi
+#define _tstoi64    _atoi64
+#define _tstoi64    _atoi64
+#define _ttoi       atoi
+#define _ttoi64     _atoi64
+#define _ttol       atol
+
+// conversion from numbers to strings
+#define _i64tot     _i64toa
+#define _itot       _itoa
+#define _ltot       _ltoa
+#define _ui64tot    _ui64toa
+
+// file manipulations
+#define _tfopen     fopen
+#define _topen      _open
+#define _tremove    remove
+#define _tunlink    _unlink
+
+// reading and writing to i/o
+#define _fgettc     fgetc
+#define _fgetts     fgets
+#define _fputts     fputs
+#define _gettchar   getchar
+
+// directory
+#define _tchdir     _chdir
+
+// environment
+#define _tgetenv    getenv
+#define _tsystem    system
+
+// time
+#define _tcsftime   strftime
+
+#endif
+
+// is functions (the same in Unicode / ANSI)
+#define _istgraph   isgraph
+#define _istascii   __isascii
+
+#define __TFILE__ _T(__FILE__)
+#define __TDATE__ _T(__DATE__)
+#define __TTIME__ _T(__TIME__)
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/pluginapi.h b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/pluginapi.h
new file mode 100644
index 0000000..e762bbf
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/pluginapi.h
@@ -0,0 +1,101 @@
+#ifndef ___NSIS_PLUGIN__H___
+#define ___NSIS_PLUGIN__H___
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "api.h"
+#include "nsis_tchar.h"
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+#define EXDLL_INIT()           {  \
+        g_stringsize=string_size; \
+        g_stacktop=stacktop;      \
+        g_variables=variables; }
+
+typedef struct _stack_t {
+  struct _stack_t *next;
+  TCHAR text[1]; // this should be the length of string_size
+} stack_t;
+
+enum
+{
+INST_0,         // $0
+INST_1,         // $1
+INST_2,         // $2
+INST_3,         // $3
+INST_4,         // $4
+INST_5,         // $5
+INST_6,         // $6
+INST_7,         // $7
+INST_8,         // $8
+INST_9,         // $9
+INST_R0,        // $R0
+INST_R1,        // $R1
+INST_R2,        // $R2
+INST_R3,        // $R3
+INST_R4,        // $R4
+INST_R5,        // $R5
+INST_R6,        // $R6
+INST_R7,        // $R7
+INST_R8,        // $R8
+INST_R9,        // $R9
+INST_CMDLINE,   // $CMDLINE
+INST_INSTDIR,   // $INSTDIR
+INST_OUTDIR,    // $OUTDIR
+INST_EXEDIR,    // $EXEDIR
+INST_LANG,      // $LANGUAGE
+__INST_LAST
+};
+
+extern unsigned int g_stringsize;
+extern stack_t **g_stacktop;
+extern TCHAR *g_variables;
+
+int NSISCALL popstring(TCHAR *str); // 0 on success, 1 on empty stack
+int NSISCALL popstringn(TCHAR *str, int maxlen); // with length limit, pass 0 for g_stringsize
+int NSISCALL popint(); // pops an integer
+int NSISCALL popint_or(); // with support for or'ing (2|4|8)
+int NSISCALL myatoi(const TCHAR *s); // converts a string to an integer
+unsigned NSISCALL myatou(const TCHAR *s); // converts a string to an unsigned integer, decimal only
+int NSISCALL myatoi_or(const TCHAR *s); // with support for or'ing (2|4|8)
+void NSISCALL pushstring(const TCHAR *str);
+void NSISCALL pushint(int value);
+TCHAR * NSISCALL getuservariable(const int varnum);
+void NSISCALL setuservariable(const int varnum, const TCHAR *var);
+
+#ifdef _UNICODE
+#define PopStringW(x) popstring(x)
+#define PushStringW(x) pushstring(x)
+#define SetUserVariableW(x,y) setuservariable(x,y)
+
+int  NSISCALL PopStringA(char* ansiStr);
+void NSISCALL PushStringA(const char* ansiStr);
+void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
+void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
+void NSISCALL SetUserVariableA(const int varnum, const char* ansiStr);
+
+#else
+// ANSI defs
+
+#define PopStringA(x) popstring(x)
+#define PushStringA(x) pushstring(x)
+#define SetUserVariableA(x,y) setuservariable(x,y)
+
+int  NSISCALL PopStringW(wchar_t* wideStr);
+void NSISCALL PushStringW(wchar_t* wideStr);
+void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
+void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
+void NSISCALL SetUserVariableW(const int varnum, const wchar_t* wideStr);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif//!___NSIS_PLUGIN__H___
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib b/windows/plugins/stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib
new file mode 100644
index 0000000..26f03fe
Binary files /dev/null and b/windows/plugins/stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib b/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib
new file mode 100644
index 0000000..ea64b80
Binary files /dev/null and b/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_unicode.lib b/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_unicode.lib
new file mode 100644
index 0000000..5a20842
Binary files /dev/null and b/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_unicode.lib differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/resource.h b/windows/plugins/stdutils/Contrib/StdUtils/resource.h
new file mode 100644
index 0000000..ba6b490
--- /dev/null
+++ b/windows/plugins/stdutils/Contrib/StdUtils/resource.h
@@ -0,0 +1,26 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+
+// VERSION
+#define DLL_VERSION_MAJ_LO 1
+#define DLL_VERSION_MIN_HI 0
+#define DLL_VERSION_MIN_LO 3
+#define DLL_VERSION_PATCHL 0
+
+// VERSION STRING
+#define DLL_VERSION_STR_F1(X)         #X
+#define DLL_VERSION_STR_F2(W,X,Y,Z)   DLL_VERSION_STR_F1(W.X.Y.Z)
+#define DLL_VERSION_STR_F3(W,X,Y,Z)   DLL_VERSION_STR_F2(W,X,Y,Z)
+#define DLL_VERSION_STRING            DLL_VERSION_STR_F3(DLL_VERSION_MAJ_LO,DLL_VERSION_MIN_HI,DLL_VERSION_MIN_LO,DLL_VERSION_PATCHL)
+
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        101
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1001
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/utils/Date.exe b/windows/plugins/stdutils/Contrib/StdUtils/utils/Date.exe
new file mode 100644
index 0000000..069bae1
Binary files /dev/null and b/windows/plugins/stdutils/Contrib/StdUtils/utils/Date.exe differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/utils/Zip.exe b/windows/plugins/stdutils/Contrib/StdUtils/utils/Zip.exe
new file mode 100644
index 0000000..55be81d
Binary files /dev/null and b/windows/plugins/stdutils/Contrib/StdUtils/utils/Zip.exe differ
diff --git a/windows/plugins/stdutils/Docs/StdUtils/StdUtils.html b/windows/plugins/stdutils/Docs/StdUtils/StdUtils.html
new file mode 100644
index 0000000..4d838cf
--- /dev/null
+++ b/windows/plugins/stdutils/Docs/StdUtils/StdUtils.html
@@ -0,0 +1,752 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+
+<head>
+	<title>StdUtils plug-in</title>
+	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<style type="text/css">
+	<!--
+		pre { background-color: #ECECEC; }
+		tt { background-color: #F0F0F0; }
+	-->
+	</style>
+</head>
+
+<body>
+
+<!-- ---------------- -->
+
+<h1>StdUtils for NSIS</h1>
+
+<p>This plug-in provides access to a number of "standard" functions from the <a href="http://en.wikipedia.org/wiki/C_standard_library">C Standard Library</a>, which programmers are used to from their C/C++ compilers (and other languages), but which are not available in NSIS by default. In order to keep the plug-in size as small as possible (~15 KB) and for maximum compatibility, the Visual C++ Run-Time v6.0 (MSVCRT.DLL), which is included with all versions of Windows (since Windows 2000) [...]
+<p>Many additional functions, <i>not</i> directly related to the C Standard Library, have sneaked in over the years. For example, this plug-in provides a wrapper for the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb762164%28v=vs.85%29.aspx">SHFileOperation</a> function. Moreover it provides a method for launching programs in a non-elevated way (user context) from an elevated installer (admin mode) on UAC-enabled systems (Vista and later) - see below for details! Las [...]
+<p><font style="color:darkred;">ANSI and Unicode builds available. Support operating systems: Windows 2000 and later.</font></p>
+
+<br>
+
+<b>Table of Contents:</b>
+<ul>
+	<li><a href="#53826d99">Available Functions</a>
+	<li><a href="#e5717960">Installation</a>
+	<li><a href="#72a4075a">General Usage</a>
+	<li><a href="#66dd4753">Time Functions</a>
+	<li><a href="#dc3f60d9">Pseudorandom Number Generator (PRNG)</a>
+	<li><a href="#23711935">String Functions</a>
+	<li><a href="#df333b53">Shell File Operation</a>
+	<li><a href="#a3d3af46">ExecShellAsUser</a>
+	<li><a href="#0c74ed2a">ExecShellWait</a>
+	<li><a href="#f24cc3f9">GetParameter / GetAllParameters</a>
+	<li><a href="#d452a779">InvokeShellVerb</a>
+	<li><a href="#f57ec206">GetRealOSVersion / GetRealOSName / VerifyOSVersion</a>
+	<li><a href="#14863bf9">Debugging Functions</a>
+	<li><a href="#b92197af">Acknowledgment</a>
+	<li><a href="#db579654">License</a>
+	<li><a href="#01efe0f2">Download and Sources</a>
+</ul>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="53826d99"></a><h2>Available Functions</h2>
+
+<p>The following functions are provided by the StdUtils plug-in:
+
+<pre>!define StdUtils.Time             #time(), as in C standard library
+!define StdUtils.GetMinutes       #GetSystemTimeAsFileTime(), returns the number of minutes
+!define StdUtils.GetHours         #GetSystemTimeAsFileTime(), returns the number of hours
+!define StdUtils.GetDays          #GetSystemTimeAsFileTime(), returns the number of days
+!define StdUtils.Rand             #rand(), as in C standard library
+!define StdUtils.RandMax          #rand(), as in C standard library, with maximum value
+!define StdUtils.RandMinMax       #rand(), as in C standard library, with minimum/maximum value
+!define StdUtils.RandList         #rand(), as in C standard library, with list support
+!define StdUtils.FormatStr        #sprintf(), as in C standard library, one '%d' placeholder
+!define StdUtils.FormatStr2       #sprintf(), as in C standard library, two '%d' placeholders
+!define StdUtils.FormatStr3       #sprintf(), as in C standard library, three '%d' placeholders
+!define StdUtils.ScanStr          #sscanf(), as in C standard library, one '%d' placeholder
+!define StdUtils.ScanStr2         #sscanf(), as in C standard library, two '%d' placeholders
+!define StdUtils.ScanStr3         #sscanf(), as in C standard library, three '%d' placeholders
+!define StdUtils.TrimStr          #Remove whitspaces from string, left and right
+!define StdUtils.TrimStrLeft      #Remove whitspaces from string, left side only
+!define StdUtils.TrimStrRight     #Remove whitspaces from string, right side only
+!define StdUtils.RevStr           #Reverse a string, e.g. "reverse me" <-> "em esrever"
+!define StdUtils.SHFileMove       #SHFileOperation(), using the FO_MOVE operation
+!define StdUtils.SHFileCopy       #SHFileOperation(), using the FO_COPY operation
+!define StdUtils.ExecShellAsUser  #ShellExecute() as NON-elevated user from elevated installer
+!define StdUtils.InvokeShellVerb  #Invokes a "shell verb", e.g. for pinning items to the taskbar
+!define StdUtils.ExecShellWaitEx  #ShellExecuteEx(), returns the handle of the new process
+!define StdUtils.WaitForProcEx    #WaitForSingleObject(), e.g. to wait for a running process
+!define StdUtils.GetParameter     #Get the value of a specific command-line option
+!define StdUtils.GetAllParameters #Get complete command-line, but without executable name
+!define StdUtils.GetRealOSVersion #Get the *real* Windows version number, even on Windows 8.1+
+!define StdUtils.GetRealOSName    #Get the *real* Windows version, as a "friendly" name
+!define StdUtils.VerifyOSVersion  #Compare the *real* operating system to an expected version
+!define StdUtils.GetLibVersion    #Get the current StdUtils library version (for debugging)
+!define StdUtils.SetVerbose       #Enable or disable "verbose" mode (for debugging)</pre>
+
+<p><b>Please see the descriptions below for details on the individual functions!</b></p>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="e5717960"></a><h2>Installation</h2>
+
+<p>Depending on whether you are using the Unicode or ANSI (non-Unicode) variant of NSIS (we highly recommend using the Unicode variant!), you must copy either <tt>StdUtils\Plugins\Release_Unicode\StdUtils.dll</tt> or <tt>StdUtils\Plugins\Release_ANSI\StdUtils.dll</tt> into the <tt>Plugins</tt> sub-directory inside your NSIS installation directory. Also, in both cases, you must copy <tt>StdUtils\Include\StdUtils.nsh</tt> into the <tt>Include</tt> sub-directory inside your NSIS installatio [...]
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="72a4075a"></a><h2>General Usage</h2>
+
+<p>In order to use the StdUtils plug-in in your script, simply include <tt>StdUtils.nsh</tt> and then use the pre-defined <tt>${StdUtils.<i>FunctionName</i>}</tt> macros like this:</p>
+
+<pre>!include '<span style="color:darkred;font-weight:bold;">StdUtils.nsh</span>'
+
+Section
+	<span style="color:darkred;font-weight:bold;">${StdUtils.Rand}</span> $1
+	DetailPrint "Random number obtained via StdUtils::Rand is: $1"
+SectionEnd</pre>
+
+<p>Note: We highly recommend to <u>not</u> call the plug-in functions directly. Instead, use the pre-defind macros, which ensures that the plug-in functions are used in the "proper" way.</p>
+<p>For more details, please have a look at the example scripts located in the <tt>StdUtils\Examples\StdUtils</tt> directory!</p>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="66dd4753"></a><h2>Time Functions</h2>
+
+<p><b><tt>${StdUtils.Time} <i>user_var(output)</i></tt></b></p>
+<p>Returns the number of seconds that have elapsed since 00:00, Jan 1, 1970 (UTC), also known as "Unix time", just like the <a href="http://www.cplusplus.com/reference/clibrary/ctime/time/">time()</a> function:
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.Time} $1
+	DetailPrint "Time: $1"
+	Sleep 500
+	${StdUtils.Time} $1
+	DetailPrint "Time: $1"
+	Sleep 500
+	${StdUtils.Time} $1
+	DetailPrint "Time: $1"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.GetMinutes} <i>user_var(output)</i><br>${StdUtils.GetHours} <i>user_var(output)</i><br>${StdUtils.GetDays} <i>user_var(output)</i></tt></b></p>
+<p>Retrieves the current system date and time, using the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms724397%28v=vs.85%29.aspx">GetSystemTimeAsFileTime()</a> function. Returns the number of <i>minutes</i>, <i>hours</i> or <i>days</i> since 00:00, January 1, 1601 (UTC).
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.GetMinutes} $1
+	DetailPrint "UTC time in minutes: $1"
+	${StdUtils.GetHours} $1
+	DetailPrint "UTC time in hours: $1"
+	${StdUtils.GetDays} $1
+	DetailPrint "UTC time in days: $1"
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="dc3f60d9"></a><h2>Pseudorandom Number Generator (PRNG)</h2>
+
+<p><b><tt>${StdUtils.Rand} <i>user_var(output)</i><br>${StdUtils.RandMax} <i>user_var(output)</i> <i>max</i><br>${StdUtils.RandMinMax} <i>user_var(output)</i> <i>min</i> <i>max</i></tt></b></p>
+<p>Returns a pseudo-random integral number, similar to the <a href="http://www.cplusplus.com/reference/clibrary/cstdlib/rand/">rand()</a> function, but without the need to call <tt>srand()</tt>. Optionally the <i>minimum</i> and/or <i>maximum</i> value can be specified, so a random number in the <tt>min</tt> to <tt>max</tt> range will be returned. If <i>no</i> minimum is specified, the minimum defaults to <i>zero</i>. And if <i>no</i> maximum is specified, the maximum defaults to <tt>INT [...]
+
+<pre>Section
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+SectionEnd
+
+Section
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+SectionEnd
+
+Section
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 20 21
+	DetailPrint "Random Min/Max: $1"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.RandList} <i>count</i> <i>max</i></tt></b></p>
+<p>Pushes a list of pseudo-random numbers onto the stack. The string "EOL" is pushed beforehand and thus will indicate the end of the list when popping the numbers off the stack. The <tt>count</tt> of the random numbers and the <tt>max</tt> value can be specified; the minimum value is <i>zero</i>.</p>
+
+<pre>Section
+	${StdUtils.RandList} 50 100
+	Pop $1
+	StrCmp $1 EOL +3
+	DetailPrint "RandList: $1"
+	Goto -3
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="23711935"></a><h2>String Functions</h2>
+
+<p><b><tt>${StdUtils.FormatStr} <i>user_var(output)</i> <i>format_str</i> <i>val1</i><br>${StdUtils.FormatStr2} <i>user_var(output)</i> <i>format_str</i> <i>val1</i> <i>val2</i><br>${StdUtils.FormatStr3} <i>user_var(output)</i> <i>format_str</i> <i>val1</i> <i>val2</i> <i>val3</i></tt></b></p>
+<p>Returns a formatted string, similar to the <a href="http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/">sprintf()</a> function. Only the <tt>%d</tt> placeholder is currently supported. There are versions for one, two and three placeholders:</p>
+
+<pre>Section
+	${StdUtils.FormatStr} $1 "Hello World is %05d woha!" 89
+	DetailPrint "FormatStr: $1"
+	${StdUtils.FormatStr2} $1 "Hello World is %05d and %05d woha!" 89 384
+	DetailPrint "FormatStr: $1"
+	${StdUtils.FormatStr3} $1 "Hello World is %05d and %05d or even %05d woha!" 89 384 2384
+	DetailPrint "FormatStr: $1"
+	${StdUtils.FormatStr} $1 "Hello World is %09000d." 89
+	DetailPrint "FormatStr: $1"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.ScanStr} <i>user_var(output)</i> <i>format_str</i> <i>input</i> <i>default</i><br>${StdUtils.ScanStr2} <i>user_var(output1)</i> <i>user_var(output2)</i> <i>format_str</i> <i>input</i> <i>default1</i> <i>default2</i><br>${StdUtils.ScanStr3} <i>user_var(output1)</i> <i>user_var(output2)</i> <i>user_var(output3)</i> <i>format_str</i> <i>input</i> <i>default1</i> <i>default2</i> <i>default3</i></tt></b></p>
+<p>Parses input from a string according to a format specification similar to the <a href="http://www.cplusplus.com/reference/clibrary/cstdio/sscanf/">sscanf()</a> function. Only the <tt>%d</tt> placeholder is currently supported. There are versions for one, two and three placeholders:</p>
+
+<pre>Section
+	${StdUtils.ScanStr} $0 "Der Test sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
+	DetailPrint "ScanStr: $0"
+	${StdUtils.ScanStr} $0 "Der Hund sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
+	DetailPrint "ScanStr: $0"
+SectionEnd
+
+Section
+	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 sowie 831 ist toll!" 42 43
+	DetailPrint "ScanStr2: $0, $1"
+	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 horch 831 ist toll!" 42 43
+	DetailPrint "ScanStr2: $0, $1"
+	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Hund sagt 571 horch 831 ist toll!" 42 43
+	DetailPrint "ScanStr2: $0, $1"
+SectionEnd
+
+Section
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! Und 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! OMG 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 horch 831 ist toll! OMG 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Hund sagt 571 horch 831 ist toll! OMG 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.TrimStr} <i>user_var(input/output)</i><br>${StdUtils.TrimStrLeft} <i>user_var(input/output)</i><br>${StdUtils.TrimStrRight} <i>user_var(input/output)</i></tt></b></p>
+<p>Trims a string by removing all leading and/or trailing whitspace (space, tabular, line feed, carriage return) characters <i>in-place</i>:</p>
+
+<pre>Section
+	StrCpy $1 "        Some Text        "
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+	
+	StrCpy $1 "Some Text"
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+
+	StrCpy $1 ""
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+	
+	StrCpy $1 "   "
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+
+	StrCpy $1 "$\tFoobar$\r$\n"
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.RevStr} <i>user_var(input/output)</i></tt></b></p>
+<p>Reverses the character order of a specified string <i>in-place</i>. For example, it converts "reverse me" to "em esrever", or vice versa.</p>
+
+<pre>Section
+	StrCpy $0 "ABC"
+	DetailPrint "String: $0"
+	${StdUtils.RevStr} $0
+	DetailPrint "RevStr: $0"
+	
+	StrCpy $0 "ABCD"
+	DetailPrint "String: $0"
+	${StdUtils.RevStr} $0
+	DetailPrint "RevStr: $0"
+
+	StrCpy $0 "Just a very long text with no specific meaning at all!"
+	DetailPrint "String: $0"
+	${StdUtils.RevStr} $0
+	DetailPrint "RevStr: $0"
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="df333b53"></a><h2>Shell File Operation</h2>
+
+<p><b><tt>${StdUtils.SHFileMove} <i>user_var(output)</i> <i>from</i> <i>to</i> <i>hwnd</i><br>${StdUtils.SHFileCopy} <i>user_var(output)</i> <i>from</i> <i>to</i> <i>hwnd</i></tt></b></p>
+<p>Copies or moves a file system object (e.g. a <i>file</i> or a complete <i>folder</i>) from path <tt>from</tt> to path <tt>to</tt>, by using the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb762164%28v=vs.85%29.aspx">SHFileOperation()</a> function. The function requires a window handle <tt>hwnd</tt> and usually the NSIS variable <tt>$HWNDPARENT</tt> is used for this purpose.</p>
+
+<pre>Section
+	InitPluginsDir
+	SetOutPath "$PLUGINSDIR\TestDirA"
+	File "${NSISDIR}\Contrib\Graphics\Checks\*.*"
+	SetOutPath "$PLUGINSDIR\TestDirA\SubDir"
+	File "${NSISDIR}\Contrib\Graphics\Header\*.*"
+	CreateDirectory "$PLUGINSDIR\SubDirX"
+	CreateDirectory "$PLUGINSDIR\SubDirY"
+	
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirX\TestDirB" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+	${StdUtils.SHFileMove} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirY\TestDirC" $HWNDPARENT
+	DetailPrint "SHFileMove: $0"
+	ExecShell "explore" "$PLUGINSDIR"
+SectionEnd
+
+Section
+	MessageBox MB_ICONINFORMATION "The next three operations are going to fail!$\nBut only one will be verbose..."
+
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+	
+	${StdUtils.SetVerbose} 1
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+	
+	${StdUtils.SetVerbose} 0
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="a3d3af46"></a><h2>ExecShellAsUser</h2>
+
+<p><b><tt>${StdUtils.ExecShellAsUser} <i>user_var(output)</i> <i>file</i> <i>verb</i> <i>args</i></tt></b></p>
+<p>The <tt>${StdUtils.ExecShellAsUser}</tt> function allows for launching a child process with normal user privileges (user level), directly from an elevated installer instance (admin level). This is in contrast to the built-in <tt>Exec</tt>, <tt>ExecWait</tt> and <tt>ExecShell</tt> instructions, which all cause the child process to be elevated too. Consequently, the <tt>${StdUtils.ExecShellAsUser}</tt> function provides a simple and more lightweight alternative to the UAC plug-in. The f [...]
+<p>Please note that "einval" indicates that the function was called with invalid parameters and "timeout" indicates that the function encountered a deadlock. Furthermore, note that "ok" indicates that the process has been created using the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb774138%28v=vs.85%29.aspx">IShellDispatch2</a> COM interface, which is the <i>default</i> behavior, because it allows the new process to <i>not</i> be elevated. Finally, note that "fallb [...]
+
+<pre>!include 'StdUtils.nsh'
+ 
+; make sure the installer will get elevated rights on UAC-enabled system (Vista+)
+RequestExecutionLevel <font color="darkred">admin </font>
+ShowInstDetails show
+ 
+Section
+	DetailPrint 'ExecShell: "$SYSDIR\mspaint.exe"'
+	; this instance of MS Paint will be *elevated*, just like the installer!
+	ExecShell "open" "$SYSDIR\mspaint.exe"
+	MessageBox MB_TOPMOST "Close Paint and click 'OK' to continue..."
+SectionEnd
+ 
+Section
+	DetailPrint 'ExecShellAsUser: "$SYSDIR\mspaint.exe"'
+	Sleep 1000
+	; now launch a *non-elevated* instance of MS Paint by using ExecShellAsUser
+	${StdUtils.ExecShellAsUser} $0 "$SYSDIR\mspaint.exe" "open" ""
+	; expected result is "ok" on UAC-enabled systems or "fallback" otherwise
+	DetailPrint "Result: $0"
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="0c74ed2a"></a><h2>ExecShellWait</h2>
+
+<p><b><tt>${StdUtils.ExecShellWaitEx} <i>user_var(output_1)</i> <i>user_var(output_2)</i> <i>file</i> <i>verb</i> <i>args</i><br>${StdUtils.WaitForProcEx} <i>user_var(output)</i> <i>handle</i></tt></b></p>
+<p>The <tt>${StdUtils.ExecShellWaitEx}</tt> function works like the built-in <tt>ExecShell</tt> command, except that you can wait for the process to terminate. The function expects three arguments: The path to the file to be executed, the <i>verb</i> that shall be used to execute the file (e.g. "open") and the arguments to be passed to the new process. The last two arguments are optional and can be specified as <i>empty</i> strings (""). Furthermore, the function returns two values: The  [...]
+<p>If the <i>first</i> return value is "ok", the <i>second</i> return value contains the handle of the new process. If the <i>first</i> return value is "error", the <i>second</i> return value contains the Win32 error code. And if the <i>first</i> return value is "no_wait", the <i>second</i> return value is zero. Only if "ok" <i>and</i> a process handle were returned, you can call <tt>${StdUtils.WaitForProcEx}</tt> in order to wait until the process has terminated. This means that you mus [...]
+
+<pre>!include 'StdUtils.nsh'
+ 
+RequestExecutionLevel user
+ShowInstDetails show
+ 
+Section
+	DetailPrint 'ExecShellWait: "$SYSDIR\mspaint.exe"'
+	Sleep 1000
+	${StdUtils.ExecShellWaitEx} $0 $1 "$SYSDIR\mspaint.exe" "open" "" ;try to launch the process
+
+	DetailPrint "Result: $0 -> $1" ;returns "ok", "no_wait" or "error".
+	StrCmp $0 "error" ExecFailed ;check if process failed to create
+	StrCmp $0 "no_wait" WaitNotPossible ;check if process can be waited for - always check this!
+	StrCmp $0 "ok" WaitForProc ;make sure process was created successfully
+	Abort
+	
+	WaitForProc:
+	DetailPrint "Waiting for process. ZZZzzzZZZzzz..."
+	${StdUtils.WaitForProcEx} $2 $1
+	DetailPrint "Process just terminated (exit code: $2)"
+	Goto WaitDone
+	
+	ExecFailed:
+	DetailPrint "Failed to create process (error code: $1)"
+	Goto WaitDone
+
+	WaitNotPossible:
+	DetailPrint "Can not wait for process."
+	Goto WaitDone
+	
+	WaitDone:
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="f24cc3f9"></a><h2>GetParameter / GetAllParameters</h2>
+
+<p><b><tt>${StdUtils.GetParameter} <i>user_var(output)</i> <i>name</i> <i>default</i><br>${StdUtils.GetAllParameters} <i>user_var(output)</i> <i>truncate</i></tt></b></p>
+<p>With <tt>${StdUtils.GetParameter}</tt> you can check for the presence of a specific command-line parameter. If the parameter was specified with a (non-empty) value, then the parameter's value is return. If the parameter was specified without a value, then an empty string is return. If the parameter has not been specified, then the default value is returned.</p>
+
+<p>Parameters can be passed to the installer like this:</p>
+<ul>
+	<li><tt>Installer.exe /Foobar</tt>
+	<li><tt>Installer.exe /Foobar=SomeValue</tt>
+	<li><tt>Installer.exe "/Foobar=Some Value With Whitespaces"</tt>
+</ul>
+
+<p>Additionally you can use <tt>${StdUtils.GetAllParameters}</tt> to get the complete command-line string, but without the executable name. This is useful to forward all command-line parameters to an encapsulated installer, for example. The truncate parameters controls the behavior of this function, if the command-line is too long to fit into an NSIS string. With the parameter set to 1, the command-line will be truncated to a length of <tt>NSIS_MAX_STRLEN</tt> (usually 1024 or 8192) char [...]
+
+<pre>!include 'StdUtils.nsh'
+ 
+RequestExecutionLevel user
+ShowInstDetails show
+ 
+Section
+	${StdUtils.GetParameter} $R0 "Foobar" "<N/A>"
+ 
+	StrCmp "$R0" "<N/A>" 0 +3
+	DetailPrint "Parameter /Foobar is *not* specified!"
+	Goto Finished
+ 
+	StrCmp "$R0" "" 0 +3 ;'Installer.exe [...] /Foobar'
+	DetailPrint "Parameter /Foobar specified without a value." 
+	Goto Finished
+ 
+	;'Installer.exe /Foobar=Foo' or 'Installer.exe "/Foobar=Foo Bar"'
+	${StdUtils.TrimStr} $R0
+	DetailPrint "Value of parameter /Foobar is: '$R0'"
+ 
+	Finished:
+	${StdUtils.GetAllParameters} $R0 0
+	DetailPrint "Complete command-line: '$R0'"
+	${StdUtils.GetAllParameters} $R0 1
+	DetailPrint "Truncated command-line: '$R0'"
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="d452a779"></a><h2>InvokeShellVerb</h2>
+
+<p><b><tt>${StdUtils.InvokeShellVerb} <i>user_var(output)</i> <i>path</i> <i>file</i> <i>verb_id</i></tt></b></p>
+<p>The <tt>${StdUtils.InvokeShellVerb}</tt> function can be used to invoke a so-called "Shell Verb" on an arbitary item. The most common use for this is pinning (or unpinning) an item to (from) the Taskbar or Startmenu on Windows 7. Despite the fact the Microsoft claimes that there is no API for this, the API <i>does</i> exist and is commonly used (e.g. Firefox' insatller makes use of it too). The function expects three arguments: The directory where the item (e.g. executable file) is lo [...]
+<p>Hint: If you are getting the "not_found" error for a verb that is supposed to exists, then it's probably because the desired action isn't currently available for the item (e.g. it could be that you are trying to pin an item that already is pinned).</p>
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user ;no elevation needed for this test
+ShowInstDetails show
+
+Section
+	IfFileExists "$SYSDIR\mspaint.exe" +3
+	MessageBox MB_ICONSTOP 'File does not exist:$\n"$SYSDIR\mspaint.exe"$\n$\nExample cannot run!'
+	Quit
+SectionEnd
+
+Section
+	DetailPrint "Going to pin MSPaint..."
+	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_PinToTaskbar}
+	DetailPrint "Result: $0"
+
+	StrCmp "$0" "ok" 0 +3
+	MessageBox MB_TOPMOST "Paint should have been pinned to Taskbar now!"
+	Goto +2
+	MessageBox MB_TOPMOST "Failed to pin, see log for details!"
+SectionEnd
+
+Section
+	DetailPrint "Going to un-pin MSPaint..."
+	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_UnpinFromTaskbar}
+	DetailPrint "Result: $0"
+	
+	StrCmp "$0" "ok" 0 +3
+	MessageBox MB_TOPMOST "Paint should have been un-pinned from Taskbar now!"
+	Goto +2
+	MessageBox MB_TOPMOST "Failed to un-pin, see log for details!"
+SectionEnd</pre>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="f57ec206"></a><h2>GetRealOSVersion / GetRealOSName / VerifyOSVersion</h2>
+
+<p><b><tt>${StdUtils.GetRealOSVersion} <i>user_var(out_major)</i> <i>user_var(out_minor)</i> <i>user_var(out_spack)</i></tt></b></p>
+<p>The <tt>${StdUtils.GetRealOSVersion}</tt> function returns the <i>real</i> <a href="#b26a3e82">Windows NT version</a> installed on the computer. Note that starting with Windows 8.1 (Windows NT 6.3), Microsoft has <u>broken</u> the <tt>GetVersion()</tt> and <tt>GetVersionEx()</tt> functions! This has the consequence that Windows 8.1 (and all future versions?) will now identify itself as Windows 8.0! Various workarounds exist, such as adding certain GUID's to the application Manifest, w [...]
+<p>Note: This function uses an iterative approach: It first calls <tt>GetVersionEx()</tt> to get the "fake" Windows version. Then it tries to <i>increase</i> that value, step by step, using the <tt>VerifyVersionInfo()</tt> function - until the "real" version has been revealed.</p>
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.GetRealOSVersion} $1 $2 $3
+	DetailPrint "Real Windows NT Version: $1,$2 (Service Pack: $3)"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.GetRealOSBuildNo} <i>user_var(out)</i></tt></b></p>
+<p>The <tt>${StdUtils.GetRealOSBuildNo}</tt> function returns the <i>real</i> <a href="#b26a3e82">Windows NT build number</a> installed on the computer. The function will return the Windows NT build number (e.g. "7600" on Windows 7 RTM). It returns "error", if something went wrong.</p>
+<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows build number, so it will give the expected result on Windows 8.1 and later.</p>
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.GetRealOSBuildNo} $1
+	DetailPrint "Real Windows NT Build No.: $1"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.GetRealOSName} <i>user_var(out)</i></tt></b></p>
+<p><tt>${StdUtils.GetRealOSName}</tt> is a convenience function that returns the installed Windows version as a <a href="#b26a3e82">friendly name</a> string. Currently the return value can be "winnt" (4.0), "win2k" (5.0), "winxp" (5.1), "xpx64" (5.2), "vista" (6.0), "win70" (6.1), "win80" (6.2) or "win81" (6.3). If an <i>unknown</i> Windows version is encountered, e.g. some future version that is not yet supported, the function will return "unknown". And it will return "error", if someth [...]
+<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows version that will be converted to a friendly name, so it will give the expected result on Windows 8.1 and later.</p>
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.GetRealOSName} $1
+	DetailPrint "Real Windows NT Friendly Name: $1"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.VerifyOSVersion} <i>user_var(out)</i> <i>expected_major</i> <i>expected_minor</i> <i>expected_spack</i></tt></b></p>
+<p><tt>${StdUtils.VerifyOSVersion}</tt> is a convenience function to compare the installed Windows version against some expected one. The expected <a href="#b26a3e82">Windows NT version</a> (e.g. "6.2" for Windows 8.0) is specified by the <tt>expected_major</tt>, <tt>expected_minor</tt> and <tt>expected_spack</tt> parameters. The function returns "ok" when the installed Windows version matches the expected one <i>exactly</i>; it returns "older" when the installed version is <i>older</i>  [...]
+<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows version that will be compared to the expected version, so it will give the expected result on Windows 8.1 and later.</p>
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.VerifyOSVersion} $1 5 1 0
+	DetailPrint "Check for Windows XP (RTM): $1"
+
+	${StdUtils.VerifyOSVersion} $1 5 1 3
+	DetailPrint "Check for Windows XP (SP3): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 1 0
+	DetailPrint "Check for Windows 7 (RTM): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 1 1
+	DetailPrint "Check for Windows 7 (SP1): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 2 0
+	DetailPrint "Check for Windows 8.0: $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 3 0
+	DetailPrint "Check for Windows 8.1: $1"
+SectionEnd</pre>
+
+<p><br><b><tt>${StdUtils.VerifyOSBuildNo} <i>user_var(out)</i> <i>expected_build</i></tt></b></p>
+<p><tt>${StdUtils.VerifyOSBuildNo}</tt> is a convenience function to compare the installed Windows version against some expected version. The expected <a href="#b26a3e82">Windows NT build number</a> is specified by <tt>expected_build</tt> (e.g. "7600" on Windows 7 RTM). The function will retrun "ok" when the installed Windows build matches the expected one <i>exactly</i>; it returns "older" when the installed build is <i>older</i> than the expected one; it returns "newer" when the instal [...]
+<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows build number that will be compared to the expected build number, so it will give the expected result on Windows 8.1 and later.</p>
+
+<pre>!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.VerifyOSBuildNo} $1 2600
+	DetailPrint "Check for Build #2600, Windows XP: $1"
+
+	${StdUtils.VerifyOSBuildNo} $1 7600
+	DetailPrint "Check for Build #7600, Windows 7 (RTM): $1"
+
+	${StdUtils.VerifyOSBuildNo} $1 7601
+	DetailPrint "Check for Build #7601, Windows 7 (SP1): $1"
+
+	${StdUtils.VerifyOSBuildNo} $1 9600
+	DetailPrint "Check for Build #9600, Windows 8.1: $1"
+SectionEnd</pre>
+
+<p><br><a name="b26a3e82">List of Windows NT versions:</a>
+
+<table border>
+	<tr><td><b>Marketing Name</b></td><td><b>NT Version</b></td><td><b>Friendly Name</b></td><td><b>Build No.</b></td></tr>
+	<tr><td>Windows NT 4.0</td><td><tt>4.0</tt></td><td><tt>"winnt"</tt></td><td><tt>1381</tt></td></tr>
+	<tr><td>Windows 2000</td><td><tt>5.0</tt></td><td><tt>"win2k"</tt></td><td><tt>2195</tt></td></tr>
+	<tr><td>Windows XP</td><td><tt>5.1</tt></td><td><tt>"winxp"</tt></td><td><tt>2600</tt></td></tr>
+	<tr><td>Windows XP - x64 Edition</td><td><tt>5.2</tt></td><td><tt>"xpx64"</tt></td><td><tt>3790</tt></td></tr>
+	<tr><td>Windows Vista</td><td><tt>6.0</tt></td><td><tt>"vista"</tt></td><td><tt>6000</tt> - <tt>6002</tt></td></tr>
+	<tr><td>Windows 7</td><td><tt>6.1</tt></td><td><tt>"win70"</tt></td><td><tt>7600</tt> - <tt>7601</tt></td></tr>
+	<tr><td>Windows 8</td><td><tt>6.2</tt></td><td><tt>"win80"</tt></td><td><tt>9200</tt></td></tr>
+	<tr><td>Windows 8.1</td><td><tt>6.3</tt></td><td><tt>"win81"</tt></td><td><tt>9600</tt></td></tr>
+</table>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="14863bf9"></a><h2>Debugging Functions</h2>
+
+<p><b><tt>${StdUtils.GetLibVersion} <i>user_var(out_ver)</i> <i>user_var(out_tst)</i></tt></b></p>
+<p>The <tt>${StdUtils.GetLibVersion}</tt> function returns the version of the StdUtils library that is being used. The version string (in the "w.x.y.z" format) is returned in <tt>out_ver</tt>; the build time-stamp is returned in <tt>out_tst</tt>.</p>
+<br style="margin: -0.5em">
+<p><b><tt>${StdUtils.SetVerbose} <i>on</i></tt></b></p>
+<p>The <tt>${StdUtils.SetVerbose}</tt> function enables or disables verbose error messages. Set <tt>on</tt> to '1' to <i>enable</i> verbose outputs or set it to '0' to <i>disable</i> verbose outputs. Verbose outputs are <i>disabled</i> by default. Do <b>not</b> enabled them for <i>release</i> versions of your installer!</p>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="b92197af"></a><h2>Acknowledgment</h2>
+
+<p>The <b>StdUtils</b> plug-in for NSIS was created by LoRd_MuldeR <mulder2 at gmx.de>.</p>
+<p>This plug-in has partly been inspired by the <b>ShellExecAsUser</b> plug-in, created by <i>installer32</i>. This plug-in has partly been inspired by the <b>InvokeShellVerb</b> plug-in, created by <i>Robert Strong</i>.</p>
+<p>Special thanks to <i>Afrow UK</i> for providing his excellent plug-ins (his code helped me to understand how to write NSIS plug-ins).</p>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="db579654"></a><h2>License</h2>
+
+<pre>StdUtils plug-in for NSIS
+Copyright (C) 2004-2014 LoRd_MuldeR <mulder2 at gmx.de>
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.</pre>
+
+<p>The author of the StdUtils plug-in Library for NSIS adds the following clarification to the GNU Lesser General Public License version 2.1: Installer programs (executables) created with NSIS (Nullsoft Scriptable Install System) that make use of the StdUtils plug-in Library (strictly through the NSIS plug-in interface) and that contain/distribute verbatim copies of the StdUtils plug-in Library are considered a "work that uses the Library"; they do <b>not</b> represent a derivative of th [...]
+<p>Please see <a href="http://www.gnu.org/licenses/lgpl-2.1.html">http://www.gnu.org/licenses/lgpl-2.1.html</a> for details!</p>
+
+<br>
+
+<!-- ---------------- -->
+
+<a name="01efe0f2"></a><h2>Download and Sources</h2>
+
+<p>The source codes for the StdUtils plug-in are available from the code repository at:</p>
+
+<ul>
+	<li><a href="https://github.com/lordmulder/stdutils.git">https://github.com/lordmulder/stdutils.git</a> (<a href="https://github.com/lordmulder/stdutils">Browse</a>) (<a href="https://github.com/lordmulder/stdutils/commits/master">History</a>)
+	<li><a href="https://git.gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis.git">https://git.gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis.git</a> (<a href="https://gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis/source/master:">Browse</a>) (<a href="https://gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis/commits/">History</a>)
+	<li><a href="https://bitbucket.org/lord_mulder/stdutils.git">https://bitbucket.org/lord_mulder/stdutils.git</a> (<a href="https://bitbucket.org/lord_mulder/stdutils/src">Browse</a>) (<a href="https://bitbucket.org/lord_mulder/stdutils/commits">History</a>)
+</ul>
+
+<p>You can download pre-compiled binaries (i.e. ready-to-use DLL files) of the plug-in here:<br><a href="https://github.com/lordmulder/stdutils/releases/latest">https://github.com/lordmulder/stdutils/releases/latest</a></p>
+
+<br>
+<hr>
+
+<table width="100%">
+	<tr>
+		<td align="left"><a href="http://muldersoft.com/">http://muldersoft.com/</a> | <a href="http://sourceforge.net/projects/muldersoft/">http://sourceforge.net/projects/muldersoft/</a> | <a href="http://nsis.sourceforge.net/Category:Plugins">http://nsis.sourceforge.net/Category:Plugins</a></td>
+		<td align="right"><a href="http://www.youtube.com/watch?v=uKUYSl8c-90">Earth Heals Herself</a></td>
+	</tr>
+</table>
+
+</body>
+</html>
diff --git a/windows/plugins/stdutils/Examples/StdUtils/!_Make.bat b/windows/plugins/stdutils/Examples/StdUtils/!_Make.bat
new file mode 100644
index 0000000..b118097
--- /dev/null
+++ b/windows/plugins/stdutils/Examples/StdUtils/!_Make.bat
@@ -0,0 +1,29 @@
+ at echo off
+REM ----------------------------------------------------------------------
+set "NSIS_ANSI=D:\NSIS"
+set "NSIS_Unicode=D:\NSIS\_Unicode"
+REM ----------------------------------------------------------------------
+set "NSIS_PROJECTS=StdUtilsTest,ShellExecAsUser,InvokeShellVerb,ShellExecWait,GetParameters"
+REM ----------------------------------------------------------------------
+REM
+for %%i in (%NSIS_PROJECTS%) do (
+	del "%~dp0\%%i-ANSI.exe"
+	del "%~dp0\%%i-Unicode.exe"
+	if exist "%~dp0\%%i-ANSI.exe" (
+		pause
+		exit
+	)
+	if exist "%~dp0\%%i-Unicode.exe" (
+		pause
+		exit
+	)
+)
+REM ----------------------------------------------------------------------
+for %%i in (%NSIS_PROJECTS%) do (
+	"%NSIS_ANSI%\makensis.exe" "%~dp0\%%i.nsi"
+	if not %ERRORLEVEL%==0 pause
+	"%NSIS_Unicode%\makensis.exe" "%~dp0\%%i.nsi"
+	if not %ERRORLEVEL%==0 pause
+)
+REM ----------------------------------------------------------------------
+pause
diff --git a/windows/plugins/stdutils/Examples/StdUtils/GetParameters.nsi b/windows/plugins/stdutils/Examples/StdUtils/GetParameters.nsi
new file mode 100644
index 0000000..5bb834e
--- /dev/null
+++ b/windows/plugins/stdutils/Examples/StdUtils/GetParameters.nsi
@@ -0,0 +1,38 @@
+Caption "StdUtils Test-Suite"
+
+!addincludedir  "..\..\Include"
+
+!ifdef NSIS_UNICODE
+	!addplugindir "..\..\Plugins\Release_Unicode"
+	OutFile "GetParameters-Unicode.exe"
+!else
+	!addplugindir "..\..\Plugins\Release_ANSI"
+	OutFile "GetParameters-ANSI.exe"
+!endif
+
+!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	${StdUtils.GetParameter} $R0 "Foobar" "<N/A>"
+	
+	StrCmp "$R0" "<N/A>" 0 +3
+	DetailPrint "Parameter /Foobar is *not* specified!"
+	Goto Finished
+	
+	StrCmp "$R0" "" 0 +3 ;'Installer.exe [...] /Foobar'
+	DetailPrint "Parameter /Foobar specified without a value." 
+	Goto Finished
+
+	;'Installer.exe /Foobar=Foo' or 'Installer.exe "/Foobar=Foo Bar"'
+	${StdUtils.TrimStr} $R0
+	DetailPrint "Value of parameter /Foobar is: '$R0'"
+	
+	Finished:
+	${StdUtils.GetAllParameters} $R0 0
+	DetailPrint "Complete command-line: '$R0'"
+	${StdUtils.GetAllParameters} $R0 1
+	DetailPrint "Truncated command-line: '$R0'"
+SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/InvokeShellVerb.nsi b/windows/plugins/stdutils/Examples/StdUtils/InvokeShellVerb.nsi
new file mode 100644
index 0000000..9737e45
--- /dev/null
+++ b/windows/plugins/stdutils/Examples/StdUtils/InvokeShellVerb.nsi
@@ -0,0 +1,53 @@
+Caption "StdUtils Test-Suite"
+
+!addincludedir  "..\..\Include"
+
+!ifdef NSIS_UNICODE
+	!addplugindir "..\..\Plugins\Release_Unicode"
+	OutFile "InvokeShellVerb-Unicode.exe"
+!else
+	!addplugindir "..\..\Plugins\Release_ANSI"
+	OutFile "InvokeShellVerb-ANSI.exe"
+!endif
+
+!include 'StdUtils.nsh'
+
+RequestExecutionLevel user ;no elevation needed for this test
+ShowInstDetails show
+
+Section
+	IfFileExists "$SYSDIR\mspaint.exe" +3
+	MessageBox MB_ICONSTOP 'File does not exist:$\n"$SYSDIR\mspaint.exe"$\n$\nExample cannot run!'
+	Quit
+	MessageBox MB_OK "Please make sure Paint isn't pinned to your Taskbar right now.$\nThen press 'OK' to begin test..."
+SectionEnd
+
+Section
+	DetailPrint "Going to pin MSPaint..."
+	
+	DetailPrint  'InvokeShellVerb: "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_PinToTaskbar}'
+	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_PinToTaskbar}
+	DetailPrint "Result: $0"
+
+	StrCmp "$0" "ok" 0 +3
+	MessageBox MB_TOPMOST "Paint should have been pinned to Taskbar now!"
+	Goto +2
+	MessageBox MB_TOPMOST "Failed to pin, see log for details!"
+
+	DetailPrint "--------------"
+SectionEnd
+
+Section
+	DetailPrint "Going to un-pin MSPaint..."
+	
+	DetailPrint  'InvokeShellVerb: "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_UnpinFromTaskbar}'
+	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_UnpinFromTaskbar}
+	DetailPrint "Result: $0"
+	
+	StrCmp "$0" "ok" 0 +3
+	MessageBox MB_TOPMOST "Paint should have been un-pinned from Taskbar now!"
+	Goto +2
+	MessageBox MB_TOPMOST "Failed to un-pin, see log for details!"
+
+	DetailPrint "--------------"
+SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/ShellExecAsUser.nsi b/windows/plugins/stdutils/Examples/StdUtils/ShellExecAsUser.nsi
new file mode 100644
index 0000000..27dd0b2
--- /dev/null
+++ b/windows/plugins/stdutils/Examples/StdUtils/ShellExecAsUser.nsi
@@ -0,0 +1,29 @@
+Caption "StdUtils Test-Suite"
+
+!addincludedir  "..\..\Include"
+
+!ifdef NSIS_UNICODE
+	!addplugindir "..\..\Plugins\Release_Unicode"
+	OutFile "ShellExecAsUser-Unicode.exe"
+!else
+	!addplugindir "..\..\Plugins\Release_ANSI"
+	OutFile "ShellExecAsUser-ANSI.exe"
+!endif
+
+!include 'StdUtils.nsh'
+
+RequestExecutionLevel admin ;make sure our installer will get elevated on Vista+ with UAC enabled
+ShowInstDetails show
+
+Section
+	DetailPrint 'ExecShell: "$SYSDIR\mspaint.exe"'
+	ExecShell "open" "$SYSDIR\mspaint.exe" ;this instance of MS Paint will be elevated too!
+	MessageBox MB_TOPMOST "Close Paint and click 'OK' to continue..."
+SectionEnd
+
+Section
+	DetailPrint 'ExecShellAsUser: "$SYSDIR\mspaint.exe"'
+	Sleep 1000
+	${StdUtils.ExecShellAsUser} $0 "$SYSDIR\mspaint.exe" "open" "" ;launch a *non-elevated* instance of MS Paint
+	DetailPrint "Result: $0" ;expected result is "ok" on UAC-enabled systems or "fallback" otherwise. Failure indicated by "error" or "timeout".
+SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/ShellExecWait.nsi b/windows/plugins/stdutils/Examples/StdUtils/ShellExecWait.nsi
new file mode 100644
index 0000000..ee4dc28
--- /dev/null
+++ b/windows/plugins/stdutils/Examples/StdUtils/ShellExecWait.nsi
@@ -0,0 +1,44 @@
+Caption "StdUtils Test-Suite"
+
+!addincludedir  "..\..\Include"
+
+!ifdef NSIS_UNICODE
+	!addplugindir "..\..\Plugins\Release_Unicode"
+	OutFile "ShellExecWait-Unicode.exe"
+!else
+	!addplugindir "..\..\Plugins\Release_ANSI"
+	OutFile "ShellExecWait-ANSI.exe"
+!endif
+
+!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+Section
+	DetailPrint 'ExecShellWait: "$SYSDIR\mspaint.exe"'
+	Sleep 1000
+	${StdUtils.ExecShellWaitEx} $0 $1 "$SYSDIR\mspaint.exe" "open" "" ;try to launch the process
+
+	DetailPrint "Result: $0 -> $1" ;returns "ok", "no_wait" or "error".
+	StrCmp $0 "error" ExecFailed ;check if process failed to create
+	StrCmp $0 "no_wait" WaitNotPossible ;check if process can be waited for - always check this!
+	StrCmp $0 "ok" WaitForProc ;make sure process was created successfully
+	Abort
+	
+	WaitForProc:
+	DetailPrint "Waiting for process. ZZZzzzZZZzzz..."
+	${StdUtils.WaitForProcEx} $2 $1
+	DetailPrint "Process just terminated (exit code: $2)"
+	Goto WaitDone
+	
+	ExecFailed:
+	DetailPrint "Failed to create process (error code: $1)"
+	Goto WaitDone
+
+	WaitNotPossible:
+	DetailPrint "Can not wait for process."
+	Goto WaitDone
+	
+	WaitDone:
+SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/StdUtilsTest.nsi b/windows/plugins/stdutils/Examples/StdUtils/StdUtilsTest.nsi
new file mode 100644
index 0000000..6df7689
--- /dev/null
+++ b/windows/plugins/stdutils/Examples/StdUtils/StdUtilsTest.nsi
@@ -0,0 +1,399 @@
+Caption "StdUtils Test-Suite"
+
+!addincludedir  "..\..\Include"
+
+!ifdef NSIS_UNICODE
+	!addplugindir "..\..\Plugins\Release_Unicode"
+	OutFile "StdUtilsTest-Unicode.exe"
+!else
+	!addplugindir "..\..\Plugins\Release_ANSI"
+	OutFile "StdUtilsTest-ANSI.exe"
+!endif
+
+!macro NextTest
+	Section
+		DetailPrint "--------------"
+	SectionEnd
+!macroend
+
+!include 'StdUtils.nsh'
+
+RequestExecutionLevel user
+ShowInstDetails show
+
+# -----------------------------------------
+# GetRealOSVersion
+# -----------------------------------------
+
+Section
+	${StdUtils.GetLibVersion} $1 $2
+	DetailPrint "Testing StdUtils library v$1"
+	DetailPrint "Library built: $2"
+SectionEnd
+
+!insertmacro NextTest
+
+# -----------------------------------------
+# GetRealOSVersion
+# -----------------------------------------
+
+Section
+	${StdUtils.GetRealOSVersion} $1 $2 $3
+	DetailPrint "Real Windows NT Version: $1,$2 (Service Pack: $3)"
+
+	${StdUtils.GetRealOSBuildNo} $1
+	DetailPrint "Real Windows NT BuildNo: $1"
+
+	${StdUtils.GetRealOSName} $1
+	DetailPrint "Real Windows NT Friendly Name: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.VerifyOSVersion} $1 5 1 0
+	DetailPrint "Check for Windows XP (RTM): $1"
+
+	${StdUtils.VerifyOSVersion} $1 5 1 1
+	DetailPrint "Check for Windows XP (SP1): $1"
+
+	${StdUtils.VerifyOSVersion} $1 5 1 2
+	DetailPrint "Check for Windows XP (SP2): $1"
+
+	${StdUtils.VerifyOSVersion} $1 5 1 3
+	DetailPrint "Check for Windows XP (SP3): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 0 0
+	DetailPrint "Check for Windows Vista (RTM): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 0 1
+	DetailPrint "Check for Windows Vista (SP1): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 1 0
+	DetailPrint "Check for Windows 7 (RTM): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 1 1
+	DetailPrint "Check for Windows 7 (SP1): $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 2 0
+	DetailPrint "Check for Windows 8.0: $1"
+
+	${StdUtils.VerifyOSVersion} $1 6 3 0
+	DetailPrint "Check for Windows 8.1: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.VerifyOSBuildNo} $1 2600
+	DetailPrint "Check for Build #2600, Windows XP: $1"
+
+	${StdUtils.VerifyOSBuildNo} $1 7600
+	DetailPrint "Check for Build #7600, Windows 7 (RTM): $1"
+
+	${StdUtils.VerifyOSBuildNo} $1 7601
+	DetailPrint "Check for Build #7601, Windows 7 (SP1): $1"
+
+	${StdUtils.VerifyOSBuildNo} $1 9600
+	DetailPrint "Check for Build #9600, Windows 8.1: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+# -----------------------------------------
+# Time functions
+# -----------------------------------------
+
+Section
+	${StdUtils.Time} $1
+	DetailPrint "Time: $1"
+	Sleep 500
+	${StdUtils.Time} $1
+	DetailPrint "Time: $1"
+	Sleep 500
+	${StdUtils.Time} $1
+	DetailPrint "Time: $1"
+SectionEnd
+
+Section
+	${StdUtils.GetMinutes} $1
+	DetailPrint "UTC time in minutes: $1"
+	${StdUtils.GetHours} $1
+	DetailPrint "UTC time in hours: $1"
+	${StdUtils.GetDays} $1
+	DetailPrint "UTC time in days: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+# -----------------------------------------
+# PRNG functions
+# -----------------------------------------
+
+Section
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+	${StdUtils.Rand} $1
+	DetailPrint "Random: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+	${StdUtils.RandMax} $1 42
+	DetailPrint "Random Max: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 -4 -2
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 20 21
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 20 21
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 20 21
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 20 21
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 20 21
+	DetailPrint "Random Min/Max: $1"
+	${StdUtils.RandMinMax} $1 20 21
+	DetailPrint "Random Min/Max: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.FormatStr} $1 "Hello World is %05d woha!" 89
+	DetailPrint "FormatStr: $1"
+	${StdUtils.FormatStr2} $1 "Hello World is %05d and %05d woha!" 89 384
+	DetailPrint "FormatStr: $1"
+	${StdUtils.FormatStr3} $1 "Hello World is %05d and %05d or even %05d woha!" 89 384 2384
+	DetailPrint "FormatStr: $1"
+	${StdUtils.FormatStr} $1 "Hello World is %09000d." 89
+	DetailPrint "FormatStr: $1"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.RandList} 50 100
+	Pop $1
+	StrCmp $1 EOL +3
+	DetailPrint "RandList: $1"
+	Goto -3
+SectionEnd
+
+!insertmacro NextTest
+
+# -----------------------------------------
+# SHFileCopy function
+# -----------------------------------------
+
+Section
+	InitPluginsDir
+	SetOutPath "$PLUGINSDIR\TestDirA"
+	File "${NSISDIR}\Contrib\Graphics\Checks\*.*"
+	SetOutPath "$PLUGINSDIR\TestDirA\SubDir"
+	File "${NSISDIR}\Contrib\Graphics\Header\*.*"
+	CreateDirectory "$PLUGINSDIR\SubDirX"
+	CreateDirectory "$PLUGINSDIR\SubDirY"
+	
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirX\TestDirB" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+	${StdUtils.SHFileMove} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirY\TestDirC" $HWNDPARENT
+	DetailPrint "SHFileMove: $0"
+	ExecShell "explore" "$PLUGINSDIR"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	MessageBox MB_ICONINFORMATION "The next three operations are going to fail!$\nBut only one will be verbose..."
+
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+	
+	${StdUtils.SetVerbose} 1
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+	
+	${StdUtils.SetVerbose} 0
+	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
+	DetailPrint "SHFileCopy: $0"
+SectionEnd
+
+!insertmacro NextTest
+
+# -----------------------------------------
+# String functions
+# -----------------------------------------
+
+Section
+	${StdUtils.ScanStr} $0 "Der Test sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
+	DetailPrint "ScanStr: $0"
+	${StdUtils.ScanStr} $0 "Der Hund sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
+	DetailPrint "ScanStr: $0"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 sowie 831 ist toll!" 42 43
+	DetailPrint "ScanStr2: $0, $1"
+	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 horch 831 ist toll!" 42 43
+	DetailPrint "ScanStr2: $0, $1"
+	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Hund sagt 571 horch 831 ist toll!" 42 43
+	DetailPrint "ScanStr2: $0, $1"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! Und 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! OMG 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 horch 831 ist toll! OMG 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Hund sagt 571 horch 831 ist toll! OMG 325" 42 43 44
+	DetailPrint "ScanStr3: $0, $1, $2"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	StrCpy $1 "        Some Text        "
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+	
+	StrCpy $1 "Some Text"
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+
+	StrCpy $1 ""
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+	
+	StrCpy $1 "   "
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+
+	StrCpy $1 "$\tFoobar$\r$\n"
+	DetailPrint "String: '$1'"
+	StrCpy $0 $1
+	${StdUtils.TrimStr} $0
+	DetailPrint "TrimStr: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrLeft} $0
+	DetailPrint "TrimStrLeft: '$0'"
+	StrCpy $0 $1
+	${StdUtils.TrimStrRight} $0
+	DetailPrint "TrimStrRight: '$0'"
+SectionEnd
+
+!insertmacro NextTest
+
+Section
+	StrCpy $0 "ABC"
+	DetailPrint "String: $0"
+	${StdUtils.RevStr} $0
+	DetailPrint "RevStr: $0"
+	
+	StrCpy $0 "ABCD"
+	DetailPrint "String: $0"
+	${StdUtils.RevStr} $0
+	DetailPrint "RevStr: $0"
+
+	StrCpy $0 "Just a very long text with no specific meaning at all!"
+	DetailPrint "String: $0"
+	${StdUtils.RevStr} $0
+	DetailPrint "RevStr: $0"
+SectionEnd
+
+!insertmacro NextTest
diff --git a/windows/plugins/stdutils/Include/StdUtils.nsh b/windows/plugins/stdutils/Include/StdUtils.nsh
new file mode 100644
index 0000000..856e68c
--- /dev/null
+++ b/windows/plugins/stdutils/Include/StdUtils.nsh
@@ -0,0 +1,301 @@
+#################################################################################
+# StdUtils plug-in for NSIS
+# Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+#
+# http://www.gnu.org/licenses/lgpl-2.1.txt
+#################################################################################
+
+
+#################################################################################
+# FUNCTION DECLARTIONS
+#################################################################################
+
+!define StdUtils.Time             '!insertmacro _StdUtils_Time'          #time(), as in C standard library
+!define StdUtils.GetMinutes       '!insertmacro _StdUtils_GetMinutes'    #GetSystemTimeAsFileTime(), returns the number of minutes
+!define StdUtils.GetHours         '!insertmacro _StdUtils_GetHours'      #GetSystemTimeAsFileTime(), returns the number of hours
+!define StdUtils.GetDays          '!insertmacro _StdUtils_GetDays'       #GetSystemTimeAsFileTime(), returns the number of days
+!define StdUtils.Rand             '!insertmacro _StdUtils_Rand'          #rand(), as in C standard library
+!define StdUtils.RandMax          '!insertmacro _StdUtils_RandMax'       #rand(), as in C standard library, with maximum value
+!define StdUtils.RandMinMax       '!insertmacro _StdUtils_RandMinMax'    #rand(), as in C standard library, with minimum/maximum value
+!define StdUtils.RandList         '!insertmacro _StdUtils_RandList'      #rand(), as in C standard library, with list support
+!define StdUtils.FormatStr        '!insertmacro _StdUtils_FormatStr'     #sprintf(), as in C standard library, one '%d' placeholder
+!define StdUtils.FormatStr2       '!insertmacro _StdUtils_FormatStr2'    #sprintf(), as in C standard library, two '%d' placeholders
+!define StdUtils.FormatStr3       '!insertmacro _StdUtils_FormatStr3'    #sprintf(), as in C standard library, three '%d' placeholders
+!define StdUtils.ScanStr          '!insertmacro _StdUtils_ScanStr'       #sscanf(), as in C standard library, one '%d' placeholder
+!define StdUtils.ScanStr2         '!insertmacro _StdUtils_ScanStr2'      #sscanf(), as in C standard library, two '%d' placeholders
+!define StdUtils.ScanStr3         '!insertmacro _StdUtils_ScanStr3'      #sscanf(), as in C standard library, three '%d' placeholders
+!define StdUtils.TrimStr          '!insertmacro _StdUtils_TrimStr'       #Remove whitspaces from string, left and right
+!define StdUtils.TrimStrLeft      '!insertmacro _StdUtils_TrimStrLeft'   #Remove whitspaces from string, left side only
+!define StdUtils.TrimStrRight     '!insertmacro _StdUtils_TrimStrRight'  #Remove whitspaces from string, right side only
+!define StdUtils.RevStr           '!insertmacro _StdUtils_RevStr'        #Reverse a string, e.g. "reverse me" <-> "em esrever"
+!define StdUtils.SHFileMove       '!insertmacro _StdUtils_SHFileMove'    #SHFileOperation(), using the FO_MOVE operation
+!define StdUtils.SHFileCopy       '!insertmacro _StdUtils_SHFileCopy'    #SHFileOperation(), using the FO_COPY operation
+!define StdUtils.ExecShellAsUser  '!insertmacro _StdUtils_ExecShlUser'   #ShellExecute() as NON-elevated user from elevated installer
+!define StdUtils.InvokeShellVerb  '!insertmacro _StdUtils_InvkeShlVrb'   #Invokes a "shell verb", e.g. for pinning items to the taskbar
+!define StdUtils.ExecShellWaitEx  '!insertmacro _StdUtils_ExecShlWaitEx' #ShellExecuteEx(), returns the handle of the new process
+!define StdUtils.WaitForProcEx    '!insertmacro _StdUtils_WaitForProcEx' #WaitForSingleObject(), e.g. to wait for a running process
+!define StdUtils.GetParameter     '!insertmacro _StdUtils_GetParameter'  #Get the value of a specific command-line option
+!define StdUtils.GetAllParameters '!insertmacro _StdUtils_GetAllParams'  #Get complete command-line, but without executable name
+!define StdUtils.GetRealOSVersion '!insertmacro _StdUtils_GetRealOSVer'  #Get the *real* Windows version number, even on Windows 8.1+
+!define StdUtils.GetRealOSBuildNo '!insertmacro _StdUtils_GetRealOSBld'  #Get the *real* Windows build number, even on Windows 8.1+
+!define StdUtils.GetRealOSName    '!insertmacro _StdUtils_GetRealOSStr'  #Get the *real* Windows version, as a "friendly" name
+!define StdUtils.VerifyOSVersion  '!insertmacro _StdUtils_VrfyRealOSVer' #Compare *real* operating system to an expected version number
+!define StdUtils.VerifyOSBuildNo  '!insertmacro _StdUtils_VrfyRealOSBld' #Compare *real* operating system to an expected build number
+!define StdUtils.GetLibVersion    '!insertmacro _StdUtils_GetLibVersion' #Get the current StdUtils library version (for debugging)
+!define StdUtils.SetVerbose       '!insertmacro _StdUtils_SetVerbose'    #Enable or disable "verbose" mode (for debugging)
+
+
+#################################################################################
+# MACRO DEFINITIONS
+#################################################################################
+
+!macro _StdUtils_Time out
+	StdUtils::Time /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetMinutes out
+	StdUtils::GetMinutes /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetHours out
+	StdUtils::GetHours /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetDays out
+	StdUtils::GetDays /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_Rand out
+	StdUtils::Rand /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_RandMax out max
+	push ${max}
+	StdUtils::RandMax /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_RandMinMax out min max
+	push ${min}
+	push ${max}
+	StdUtils::RandMinMax /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_RandList count max
+	push ${max}
+	push ${count}
+	StdUtils::RandList /NOUNLOAD
+!macroend
+
+!macro _StdUtils_FormatStr out format val
+	push '${format}'
+	push ${val}
+	StdUtils::FormatStr /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_FormatStr2 out format val1 val2
+	push '${format}'
+	push ${val1}
+	push ${val2}
+	StdUtils::FormatStr2 /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_FormatStr3 out format val1 val2 val3
+	push '${format}'
+	push ${val1}
+	push ${val2}
+	push ${val3}
+	StdUtils::FormatStr3 /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_ScanStr out format input default
+	push '${format}'
+	push '${input}'
+	push ${default}
+	StdUtils::ScanStr /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_ScanStr2 out1 out2 format input default1 default2
+	push '${format}'
+	push '${input}'
+	push ${default1}
+	push ${default2}
+	StdUtils::ScanStr2 /NOUNLOAD
+	pop ${out1}
+	pop ${out2}
+!macroend
+
+!macro _StdUtils_ScanStr3 out1 out2 out3 format input default1 default2 default3
+	push '${format}'
+	push '${input}'
+	push ${default1}
+	push ${default2}
+	push ${default3}
+	StdUtils::ScanStr3 /NOUNLOAD
+	pop ${out1}
+	pop ${out2}
+	pop ${out3}
+!macroend
+
+!macro _StdUtils_TrimStr var
+	push ${var}
+	StdUtils::TrimStr /NOUNLOAD
+	pop ${var}
+!macroend
+
+!macro _StdUtils_TrimStrLeft var
+	push ${var}
+	StdUtils::TrimStrLeft /NOUNLOAD
+	pop ${var}
+!macroend
+
+!macro _StdUtils_TrimStrRight var
+	push ${var}
+	StdUtils::TrimStrRight /NOUNLOAD
+	pop ${var}
+!macroend
+
+!macro _StdUtils_RevStr var
+	push ${var}
+	StdUtils::RevStr /NOUNLOAD
+	pop ${var}
+!macroend
+
+!macro _StdUtils_SHFileMove out from to hwnd
+	push '${from}'
+	push '${to}'
+	push ${hwnd}
+	StdUtils::SHFileMove /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_SHFileCopy out from to hwnd
+	push '${from}'
+	push '${to}'
+	push ${hwnd}
+	StdUtils::SHFileCopy /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_ExecShlUser out file verb args
+	push '${file}'
+	push '${verb}'
+	push '${args}'
+	StdUtils::ExecShellAsUser /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_InvkeShlVrb out path file verb_id
+	push "${path}"
+	push "${file}"
+	push ${verb_id}
+	StdUtils::InvokeShellVerb /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_ExecShlWaitEx out_res out_val file verb args
+	push '${file}'
+	push '${verb}'
+	push '${args}'
+	StdUtils::ExecShellWaitEx /NOUNLOAD
+	pop ${out_res}
+	pop ${out_val}
+!macroend
+
+!macro _StdUtils_WaitForProcEx out handle
+	push '${handle}'
+	StdUtils::WaitForProcEx /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetParameter out name default
+	push '${name}'
+	push '${default}'
+	StdUtils::GetParameter /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetAllParams out truncate
+	push '${truncate}'
+	StdUtils::GetAllParameters /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetRealOSVer out_major out_minor out_spack
+	StdUtils::GetRealOsVersion /NOUNLOAD
+	pop ${out_major}
+	pop ${out_minor}
+	pop ${out_spack}
+!macroend
+
+!macro _StdUtils_GetRealOSBld out
+	StdUtils::GetRealOsBuildNo /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetRealOSStr out
+	StdUtils::GetRealOsName /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_VrfyRealOSVer out major minor spack
+	push '${major}'
+	push '${minor}'
+	push '${spack}'
+	StdUtils::VerifyRealOsVersion /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_VrfyRealOSBld out build
+	push '${build}'
+	StdUtils::VerifyRealOsBuildNo /NOUNLOAD
+	pop ${out}
+!macroend
+
+!macro _StdUtils_GetLibVersion out_ver out_tst
+	StdUtils::GetLibVersion /NOUNLOAD
+	pop ${out_ver}
+	pop ${out_tst}
+!macroend
+
+!macro _StdUtils_SetVerbose on
+	!if "${on}" != "0"
+		StdUtils::EnableVerboseMode /NOUNLOAD
+	!else
+		StdUtils::DisableVerboseMode /NOUNLOAD
+	!endif
+!macroend
+
+
+#################################################################################
+# MAGIC NUMBERS
+#################################################################################
+
+!define StdUtils.Const.ISV_PinToTaskbar 5386
+!define StdUtils.Const.ISV_UnpinFromTaskbar 5387
+!define StdUtils.Const.ISV_PinToStartmenu 5381
+!define StdUtils.Const.ISV_UnpinFromStartmenu 5382
diff --git a/windows/plugins/stdutils/LGPL.txt b/windows/plugins/stdutils/LGPL.txt
new file mode 100644
index 0000000..4362b49
--- /dev/null
+++ b/windows/plugins/stdutils/LGPL.txt
@@ -0,0 +1,502 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+

+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+

+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+

+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+

+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+

+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+

+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+

+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+

+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+

+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/windows/plugins/stdutils/LGPL_EXCEPTION.txt b/windows/plugins/stdutils/LGPL_EXCEPTION.txt
new file mode 100644
index 0000000..77f33e1
--- /dev/null
+++ b/windows/plugins/stdutils/LGPL_EXCEPTION.txt
@@ -0,0 +1,4 @@
+StdUtils plug-in LGPL Exception
+-------------------------------
+
+The author of the StdUtils plug-in Library for NSIS adds the following clarification to the GNU Lesser General Public License version 2.1: Installer programs (executables) created with NSIS (Nullsoft Scriptable Install System) that make use of the StdUtils plug-in Library (strictly through the NSIS plug-in interface) and that contain/distribute verbatim copies of the StdUtils plug-in Library are considered a "work that uses the Library"; they do NOT represent a derivative of the Library.
diff --git a/windows/plugins/stdutils/Plugins/Release_ANSI/StdUtils.dll b/windows/plugins/stdutils/Plugins/Release_ANSI/StdUtils.dll
new file mode 100644
index 0000000..aad4126
Binary files /dev/null and b/windows/plugins/stdutils/Plugins/Release_ANSI/StdUtils.dll differ
diff --git a/windows/plugins/stdutils/Plugins/Release_Unicode/StdUtils.dll b/windows/plugins/stdutils/Plugins/Release_Unicode/StdUtils.dll
new file mode 100644
index 0000000..9c85c40
Binary files /dev/null and b/windows/plugins/stdutils/Plugins/Release_Unicode/StdUtils.dll differ
diff --git a/windows/plugins/stdutils/ReadMe.txt b/windows/plugins/stdutils/ReadMe.txt
new file mode 100644
index 0000000..6c89253
--- /dev/null
+++ b/windows/plugins/stdutils/ReadMe.txt
@@ -0,0 +1,30 @@
+
+ StdUtils plug-in for NSIS
+ Copyright (C) 2004-2013 LoRd_MuldeR <mulder2 at gmx.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+ http://www.gnu.org/licenses/lgpl-2.1.txt
+
+ ----
+
+ The author of the StdUtils plug-in Library for NSIS adds the
+ following clarification to the GNU Lesser General Public License
+ version 2.1: Installer programs (executables) created with NSIS
+ (Nullsoft Scriptable Install System) that make use of the StdUtils
+ plug-in Library (strictly through the NSIS plug-in interface) and
+ that contain/distribute verbatim copies of the StdUtils plug-in
+ Library are considered a "work that uses the Library"; they do NOT
+ represent a derivative of the Library.
diff --git a/windows/plugins/stdutils/make_pack.bat b/windows/plugins/stdutils/make_pack.bat
new file mode 100644
index 0000000..8ddaa50
--- /dev/null
+++ b/windows/plugins/stdutils/make_pack.bat
@@ -0,0 +1,54 @@
+ at echo off
+REM -------------------------------------------------------------------------
+set "PATH_MSVC=D:\Microsoft Visual Studio 10.0\VC"
+REM -------------------------------------------------------------------------
+call "%PATH_MSVC%\vcvarsall.bat" x86
+if "%VCINSTALLDIR%"=="" (
+	pause
+	exit
+)
+REM -------------------------------------------------------------------------
+set "ISO_DATE="
+if not exist "%~dp0\Contrib\StdUtils\utils\Date.exe" GOTO:EOF
+for /F "tokens=1,2 delims=:" %%a in ('"%~dp0\Contrib\StdUtils\utils\Date.exe" +ISODATE:%%Y-%%m-%%d') do (
+	if "%%a"=="ISODATE" set "ISO_DATE=%%b"
+)
+if "%ISO_DATE%"=="" (
+	pause
+	exit
+)
+REM -------------------------------------------------------------------------
+if exist "%~dp0\StdUtils.%ISO_DATE%.zip" (
+	attrib -r "%~dp0\StdUtils.%ISO_DATE%.zip"
+	del "%~dp0\StdUtils.%ISO_DATE%.zip"
+)
+if exist "%~dp0\StdUtils.%ISO_DATE%.zip" (
+	pause
+	exit
+)
+REM -------------------------------------------------------------------------
+MSBuild.exe /property:Configuration=Release_ANSI    /property:Platform=Win32 /target:Rebuild /verbosity:normal "%~dp0\Contrib\StdUtils\StdUtils.sln"
+if not "%ERRORLEVEL%"=="0" (
+	pause
+	exit
+)
+REM -------------------------------------------------------------------------
+MSBuild.exe /property:Configuration=Release_Unicode /property:Platform=Win32 /target:Rebuild /verbosity:normal "%~dp0\Contrib\StdUtils\StdUtils.sln"
+if not "%ERRORLEVEL%"=="0" (
+	pause
+	exit
+)
+REM -------------------------------------------------------------------------
+echo StdUtils plug-in for NSIS > "%~dp0\BUILD.tag"
+echo Copyright (C) 2004-2014 LoRd_MuldeR ^<MuldeR2 at GMX.de^> >> "%~dp0\BUILD.tag"
+echo. >> "%~dp0\BUILD.tag"
+echo Built on %DATE%, at %TIME%. >> "%~dp0\BUILD.tag"
+REM -------------------------------------------------------------------------
+pushd "%~dp0"
+set "EXCLUDE_MASK=make_pack.* *.exe *.zip *.7z *.user *.old *.sdf *examples/*.exe */obj/* */ipch/*"
+"%~dp0\Contrib\StdUtils\utils\Zip.exe" -r -9 -z "%~dp0\StdUtils.%ISO_DATE%.zip" "*.*" -x %EXCLUDE_MASK% < "%~dp0\BUILD.tag"
+popd
+attrib +r "%~dp0\StdUtils.%ISO_DATE%.zip" 
+del "%~dp0\BUILD.tag"
+REM -------------------------------------------------------------------------
+pause
diff --git a/windows/plugins/stdutils/make_pack.lst b/windows/plugins/stdutils/make_pack.lst
new file mode 100644
index 0000000..f99bb27
--- /dev/null
+++ b/windows/plugins/stdutils/make_pack.lst
@@ -0,0 +1,13 @@
+*.zip
+*.7z
+*.rar
+*.old
+*.suo
+*.sdf
+*.exe
+*.vcxproj.user
+*.opensdf
+*\obj\*
+*\ipch\*
+make_pack.lst
+make_pack.bat

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